クラウド上にzabbixサーバの構築(さくらインターネット)

※本サイトはアフィリエイト広告を利用しています。
広告

本記事の概要

インフラエンジニアとして業務に行う場合、各機器(サーバやネットワーク機器)の異常を早期発見して、対処することが求められます。
サーバやネットワーク機器などの稼働監視で使用するzabbixというソフトウェアをインストールします。
今回はクラウド(さくらインターネット)上にzabbixサーバを構築する手順を記載します。
以下の流れで作業しますので、各項目の手順を順番に記載しています。
  (1) さくらインターネットのアカウント作成
  (2) zabbixサーバを構築するためのOS(CentOS Stream 8)導入
  (3) zabbixサーバのソフトウェアの構築及び設定
  (4) ファイアウォールの設定
  (5) zabbixサーバのセットアップ

※本記事の作成日(2021年11月25日)時点での動作確認をしていますが、Webページなどが更新されている可能性があります。適宜読み替えてください。

以下のようなイメージ図のようにクラウド(さくらインターネット)上のzabbixサーバと各監視対象の機器を通信して、監視データを取得します。
さくらインターネット上にzabbixサーバ構築のイメージ図

ソフトウェアの構成

以下のソフトウェアを用いて、zabbixサーバを構築します。

  • クラウド(さくらインターネット)
  • CentOS Stream 8
  • Zabbix 5.0LTS
  • Apache (Webサーバ用のソフトウェア)
  • MySQL (データベース用のソフトウェア)

Zabbixとは

zabbixとは、サーバやネットワーク機器を監視するためのソフトウェアです。
オープンソース・ソフトウェアとして開発されているため、無償で使用することができます。
zabbixでは、ping監視、通信ポート監視、OSの性能監視(CPU、メモリ、ディスクI/Oの負荷)、サービス監視、ログ監視など様々な監視をすることができます。

さくらインターネットとは

さくらインターネットとは、日本国内で自社運営データセンターを用いて、レンタルサーバや専用サーバなどの提供している会社です。
管理画面の2段階認証やファイアウォールの設定などセキュリティ機能が提供されており、比較的安価でサーバを利用できます。

ご参考までに、ブログ作成時点(2021年11月30日)のさくらインターネットのVPS(Linux)の利用料金は以下の通りです。メモリが2GB、仮想CPUが3Core、ストレージ100GBで各リージョンごとの費用(月額支払い又は年額支払い)を記載します。

リージョン月額支払いの場合の料金年額支払いの場合の料金
石狩1,738円/月19,118円/年(≒1,594円/月)
大阪1,848円/月20,328円/年(≒1,694円/月)
東京1,958円/月21,538円/年(≒1,795円/月)


さくらインターネットのアカウント作成

さくらインターネットのVPS(仮想専用サーバー)環境を構築するためにアカウントを作成します。

(1) ブラウザを起動して、「さくらのインターネットのサイト」にアクセスします。その後、「お申込み」をクリックします。
さくらインターネット上にzabbixサーバ構築(1)

(2) サーバを構築するゾーンを選択します。今回は「大阪第3」を選択します。
さくらインターネット上にzabbixサーバ構築(2)

(3) プランを選択します。支払いを「月額」するか「年額」にするか選択します。
  また、以下のzabbix公式サイトに「CPUのコア数:2CPU」、「メモリ:2GB」程度あれば動作する旨の記載がありますので、プランは「メモリ:2G、CPUのコア数:3CPU」を選択します。
   https://www.zabbix.com/documentation/5.0/manual/installation/requirements
さくらインターネット上にzabbixサーバ構築(3)

(4) ストレージの容量(100GBまたは200GB)を選択して、購入台数を1台を選択します。その後、「次へ」をクリックします。
さくらインターネット上にzabbixサーバ構築(4)

(5) 認証画面が表示されるため、「新規会員登録」をクリックします。
さくらインターネット上にzabbixサーバ構築(5)

(6) ワンタイムパスワードを送るメールアドレスを入力して、個人情報の取り扱いに同意するにチェックを付けます。その後、「会員登録のご案内メールを送信」をクリックします。
さくらインターネット上にzabbixサーバ構築(6)

(7) 設定したメールアドレス宛に、以下のメールが送信されます。認証コードの番号が記載されていることを確認します。
さくらインターネット上にzabbixサーバ構築(7)

(8) メールに送られた認証コードを入力して、「次へ」をクリックします。
さくらインターネット上にzabbixサーバ構築(8)

(9) 会員登録情報として、氏名、生年月日、パスワードなどを設定します。その後、「確認画面へ進む」をクリックします。
さくらインターネット上にzabbixサーバ構築(9)
さくらインターネット上にzabbixサーバ構築(10)

さくらインターネット上にzabbixサーバ構築(11)

(10) 設定した会員情報が間違っていないことを確認して、「会員登録する」をクリックします。
さくらインターネット上にzabbixサーバ構築(12)
さくらインターネット上にzabbixサーバ構築(13)

(11) 電話認証の画面が表示されるため、認証コードを送る電話番号を入力して、「SMSで認証コードを受け取る」をクリックします。
さくらインターネット上にzabbixサーバ構築(14)

(12) 設定した電話番号のショートメールに送られた「認証コード」を入力して、「認証」をクリックします。
さくらインターネット上にzabbixサーバ構築(15)

(13) 「VPSお申込みページへ進む」をクリックします。
さくらインターネット上にzabbixサーバ構築(16)

zabbixサーバを構築するためのOS(CentOS Stream 8)導入

さくらインターネットのクラウド上にOS(CentOS Stream 8)を導入する手順を記載します。
「クレジットカード」で料金を支払うことを想定して手順を作成していますが、「銀行振込」や「請求書払い」にすることもできますので、適宜読みかえてください。


(1) サーバの設定画面が表示されます。サーバー名とサーバー説明は必要に応じて入力します。
さくらインターネット上にzabbixサーバ構築(17)

(2) 以下のインストールするOSの設定をします。
    ・インストールするOS : CentOS
    ・OSバージョン : Stream8 x86_64(64bit)
    ・管理ユーザーのパスワード : [任意のパスワード]
さくらインターネット上にzabbixサーバ構築(18)

(3) 以下の内容を設定して、「次へ」をクリックします。
    ・スタートアップスクリプト : 利用しない
    ・サーバーへSSHキー登録 : 登録しない
さくらインターネット上にzabbixサーバ構築(19)

(4) 支払いパターンを「月払い」又は「年額一括払い」にするか選択します。今回は「月額払い」を選択します。
さくらインターネット上にzabbixサーバ構築(20)

(5) 支払い方法を選択します。今回は例としてクレジットカードで支払う場合を想定して、「クレジットカード」にチェックを付けて、「カードを追加」をクリックします。
さくらインターネット上にzabbixサーバ構築(21)

(6) クレジットカード情報を入力して、「次へ」をクリックします。
さくらインターネット上にzabbixサーバ構築(22)

(7) 入力したクレジットカード情報が表示されていることを確認して、「カードを登録」をクリックします。
さくらインターネット上にzabbixサーバ構築(23)

さくらインターネット上にzabbixサーバ構築(24)

(8) 「クレジットカード情報の登録が完了しました」というメッセージが表示されていることを確認します。
さくらインターネット上にzabbixサーバ構築(25)

(9) 「カード再読込」をクリックして、登録したカード情報が表示されることを確認します。
さくらインターネット上にzabbixサーバ構築(26)

(10) 2週間無料のお試しを利用するか選択して、個人情報の取扱いに「同意する」にチェックを付ける。その後、「お支払い」をクリックします。
さくらインターネット上にzabbixサーバ構築(27)

(11) しばらく待って、「サーバー一覧へ」をクリックします。
さくらインターネット上にzabbixサーバ構築(28)

(12) 作成したサーバの横にあるチェックボックスにチェックを付けて、「起動する」をクリックします。
さくらインターネット上にzabbixサーバ構築(29)

(13) ポップアップが表示されるため、「実行」をクリックします。
さくらインターネット上にzabbixサーバ構築(30)

(14) 状態が「稼働中」という表記になっていることを確認します。
さくらインターネット上にzabbixサーバ構築(31)

zabbixサーバのソフトウェアの構築及び設定

zabbixサーバを構築するための手順を記載します。
事前に作業PCにTera Termをインストールしていることを想定していますので、インストール方法が分からない場合は「ターミナルソフトのTera Term (テラターム)インストール」をご確認ください。

(1) Tera Termを起動して、以下の内容を設定して「OK」をクリックします。
    ・ホスト : [サーバのIPアドレス]
    ・サービス : SSH
    ・TCPポート : 22
さくらインターネット上にzabbixサーバ構築(32)

(2) ユーザー名とパスワードを入力して、「OK」をクリックします。
さくらインターネット上にzabbixサーバ構築(33)

(3) ログインが成功すると、以下のような画面が表示されます。
さくらインターネット上にzabbixサーバ構築(34)

(4) 以下のコマンドを実行して、パッケージを更新します。

# dnf -y update


(5) Zabbixのレポジトリ及び必要なソフトウェアをインストールために、以下のコマンドを実行します。

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install -y mariadb-server
# systemctl start mariadb
# systemctl enable mariadb
# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent


(6) 以下のコマンドを実行して、データベースの作成及びテーブルを作成します。

# mysql -uroot -p
Enter password:   ← 何も入力せず[Enter]を押す
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by '[任意のパスワード]';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> quit;
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix


(7) 以下のコマンドを実行して、Zabbizサーバのためのデータベースの設定を変更します。

# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf_org
# vi /etc/zabbix/zabbix_server.conf

iを入力して編集モードに変更して、以下の行を編集します。
【変更前】
DBPassword=password
【変更後】
DBPassword=[パスワードを入力]


(8) 以下のコマンドを実行して、タイムゾーンのリージョンを設定します。

# cp /etc/php-fpm.d/zabbix.conf /etc/php-fpm.d/zabbix.conf_org
# vi /etc/php-fpm.d/zabbix.conf

iを入力して編集モードに変更して、以下の行を編集します。
【変更前】
; php_value[date.timezone] = Europe/Riga
【変更後】
php_value[date.timezone] = Asia/Tokyo


(9) 以下のコマンドを実行して、Zabbixサーバとエージェントのプロセスを起動します。

# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm


ファイアウォールの設定

ファイアウォールの設定を変更して、zabbixサーバを動作させるために必要な通信を許可する手順を記載します。
今回は以下の通信ポートを許可する手順を記載しますが、必要に応じて送信元IPアドレスを制限したり、追加で許可する通信ポートを設定してください。
  ・許可ルール1 : any —–(80/tcpと443/tcp)—-> zabbixサーバ
  ・許可ルール2 : any —–(10051/tcp)———–> zabbixサーバ

(1) zabbixサーバ用に作成したサーバを選択します。
さくらインターネット上にzabbixサーバ構築(35)

(2) 「グローバルネットワーク」タブをクリックします。
さくらインターネット上にzabbixサーバ構築(36)

(3) 下部にある「パケットフィルターを設定」をクリックします。
さくらインターネット上にzabbixサーバ構築(37)

(4) 「接続可能ポートを追加」をクリックします。
さくらインターネット上にzabbixサーバ構築(38)

(5) 「Web」を選択して、「追加」をクリックします。
さくらインターネット上にzabbixサーバ構築(39)

(6) 再度「接続可能ポートを追加」をクリックします。
さくらインターネット上にzabbixサーバ構築(40)

(7) 以下の内容を設定して、「追加」をクリックします。
    ・種類 : カスタム
    ・プロトコル : TCP
    ・ポート番号 : 10051
    ・許可する送信元IPアドレス : 全て許可
さくらインターネット上にzabbixサーバ構築(41)

(8) 「設定」をクリックします。
さくらインターネット上にzabbixサーバ構築(42)

zabbixサーバのセットアップ

zabbixサーバの管理画面にアクセスして、セットアップする手順を記載します。

(1) ブラウザを起動して、「http://[zabbixサーバのIPアドレス]/zabbix」にアクセスします。

(2) 「Next step」をクリックします。
さくらインターネット上にzabbixサーバ構築(43)

(3) 全てのステータスがOKになっていることを確認して、「Next step」をクリックします。
さくらインターネット上にzabbixサーバ構築(44)

(4) 「Database port:3306」、「Password:[設定したパスワード]」を入力して、「Next step」をクリックします。
さくらインターネット上にzabbixサーバ構築(45)

(5) 「Next step」をクリックします。
さくらインターネット上にzabbixサーバ構築(46)

(6) 設定した値を確認して、「Next step」をクリックします。
さくらインターネット上にzabbixサーバ構築(47)


(7) インストールが成功した旨のメッセージが表示されていることを確認して、「Finish」をクリックします。
さくらインターネット上にzabbixサーバ構築(48)

(8) 「ユーザ名:Admin」、「パスワード:zabbix」を入力して、「Sign in」ボタンをクリックします。
さくらインターネット上にzabbixサーバ構築(49)

zabbix関連の記事

zabbix関連の記事は以下の通りです。
必要に応じて、ご確認ください。

Noタイトル記事の概要
1zabbixのハンズオン形式での勉強
(構築、監視設定、アラート確認)
zabbixのおすすめの勉強方法をご紹介します。
2仮想基盤構築(Virtualboxインストール)
Virtualboxバージョン6
Virtualboxバージョン7
zabbixサーバを構築するための準備として、
仮想基盤のソフトウェアであるVirtualboxを
インストールします。
3zabbixサーバのインストール

〇zabbixバージョン5.0
[仮想環境に構築]
CentOS Stream 8Ubuntu 20.04
[クラウド環境に構築]
さくらインターネットConoHa VPS
カゴヤ

〇zabbixバージョン6.0
[仮想環境に構築]
CentOS Stream 8

〇zabbixバージョン7.0
[仮想環境に構築]
CentOS Stream 9
zabbixサーバを構築します。
4zabbixの監視設定の流れzabbixの監視設定の流れを理解します。
5zabbixの推奨の監視項目と
zabbix agentのインストール
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
zabbixにて監視する推奨の項目と、
監視対象サーバにzabbix agentを
インストールする手順を理解します。
5-1死活監視(ping監視)
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
死活監視の設定をします。
5-2TCP通信ポート応答監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
TCPの通信ポートの応答有無を監視する
設定をします。
5-3CPU使用率監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
サーバのOSのCPU使用率を監視する
設定をします。
5-4メモリ空き容量監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
メモリの空き容量を監視する設定をします。
5-5ドライブのディスク空き容量監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ドライブのディスク空き容量を
監視する設定をします。
5-6プロセス監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
プロセスの停止を監視する設定をします。
5-7ログファイル監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ログファイル中に特定のメッセージが
出力されたか監視します。
5-8ファイルの変更(チェックサム)監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ファイルの内容が変わったことを
監視します。
5-9Windows OSのサービス状態監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Windows OSのサービスの起動状態を
監視します。
5-10Windowsイベントログ監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Windowsイベントログに特定のログが
出力されたか監視します。
5-11Webシナリオ(Webページ監視)
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Webアクセス時のHTTPステータスコードが
200番であることを監視します。
5-12SNMP trap監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
機器から送信されたSNMP trapを
受信したことを監視します。
5-13ネットワーク機器監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ネットワーク機器の監視設定をします。
6zabbixの監視データの確認と
メール通知設定
監視データの確認方法を理解します。
また、障害発生時のアラートメールの
通知設定をします。
7zabbixの詳細設計書(パラメータシート)の
サンプル
zabbixのパラメータシートのサンプルを
記載します。
8【仕事依頼】zabbixサーバの
要件定義、設計、構築
zabbixの構築作業をご依頼いただける場合の
作業の流れなどを記載します。


zabbix関連の書籍

zabbixに関する設定を網羅的および詳細に学びたい場合、以下の書籍がおすすめです。
ページ数が多い書籍ですので、分からないことを調べる辞書の役割にもなります。