本記事の概要
インフラエンジニアとして業務に行う場合、各機器(サーバやネットワーク機器)の異常を早期発見して、対処することが求められます。
サーバやネットワーク機器などの稼働監視で使用するzabbixというソフトウェアをインストールします。
今回はクラウド(カゴヤ・クラウド)上にzabbixサーバを構築する手順を記載します。
以下の流れで作業しますので、各項目の手順を順番に記載しています。
(1) カゴヤ・クラウド/VPSのアカウント作成
(2) zabbixサーバを構築するためのOS(CentOS Stream 8)導入
(3) zabbixサーバのソフトウェアの構築及び設定
(4) ファイアウォールの設定
(5) zabbixサーバのセットアップ
(6) 【補足】カゴヤ・クラウド/VPSのPING監視
※本記事の作成日(2022年1月25日)時点での動作確認をしていますが、Webページなどが更新されている可能性があります。適宜読み替えてください。
以下のようなイメージ図のようにクラウド(カゴヤ・クラウド)上のzabbixサーバと各監視対象の機器を通信して、監視データを取得します。
ソフトウェアの構成
以下のソフトウェアを用いて、zabbixサーバを構築します。
- クラウド(カゴヤ・クラウド/VPS)
- CentOS Stream 8
- Zabbix 5.0LTS
- Apache (Webサーバ用のソフトウェア)
- MySQL (データベース用のソフトウェア)
Zabbixとは
zabbixとは、サーバやネットワーク機器を監視するためのソフトウェアです。
オープンソース・ソフトウェアとして開発されているため、無償で使用することができます。
zabbixでは、ping監視、通信ポート監視、OSの性能監視(CPU、メモリ、ディスクI/Oの負荷)、サービス監視、ログ監視など様々な監視をすることができます。
カゴヤ・クラウド/VPSとは
カゴヤ・クラウド/VPSとは、カゴヤ・ジャパン株式会社が提供している低価格・高品質のVPS(仮想専用サーバー)です。
以下のような機能が提供されているため、用途に応じて使用することができます。
機能名 | 概要 |
---|---|
スペックの変更 | IPアドレスを変更せずにスペックを変更できます。 |
セキュリティグループ | サーバに適用して設定するファイアウォールにてアクセス制御ができます。 |
ping監視 | サーバ宛にpingを送って応答がない場合に、障害と判断して指定したメールアドレスに通知できます。 |
スナップショット | サーバの現在の状態を保存して、障害発生時に元に戻すことができます。 本機能はオプションですので、追加費用が発生します。 |
カゴヤ・クラウド/VPSのアカウント作成
カゴヤ・クラウドのVPS(仮想専用サーバー)環境を構築するためにアカウントを作成します。
「クレジットカード」で料金を支払うことを想定して手順を作成していますが、「銀行振込」や「請求書払い」にすることもできますので、適宜読みかえてください。
(1) ブラウザを起動して、「レンタルサーバーのカゴヤのサイト」にアクセスします。。
(2) 「お申し込みはこちら」をクリックします。
(3)「オンラインでのお申し込み」の「お申し込み」をクリックします。
(4) 「利用規約」に関する事項を確認して、「同意します」にチェックを付けます。
(5) 「個人情報の取り扱い」に関する事項を確認して、「同意します」にチェックを付けます。その後、「次へ進む」をクリックします。
(6) 「アカウント情報」の項目を入力します。
(7) 「お客様情報」の項目を入力します。
(8) 「ご住所」の項目を入力します。
(9) 「ご連絡先」の項目を入力して、「次へ進む」をクリックします。
(10) 登録情報の確認画面が表示されています。
(11) 内容が間違っていないことを確認して、「次へ進む」をクリックします。
(12) 「登録画面へ」をクリックします。
(13) 利用料金を支払うクレジットカード情報を入力して、「この内容を保存」をクリックします。
(14) 登録したクレジットカード情報が表示されていることを確認して、「進む」をクリックします。
(15) 「TOPページへ戻る」をクリックします。
(16) 電話番号の認証画面が表示されるため、「SMSで認証コードを受け取る」をクリックします。
(17) SMSに受信した「認証コード」を入力して、「認証」をクリックします。
(18) 以下の申し込み完了画面が表示されます。
(19) 以下の登録が完了した旨のメールが送られます。メールの中にコントロールパネルのURLとアカウント名が表示されていますので、メモなどで保存してください。
zabbixサーバを構築するためのOS(CentOS Stream 8)導入
カゴヤ・クラウドのVPS(仮想専用サーバー)環境上にOS(CentOS Stream 8)を導入する手順を記載します。
(1) ブラウザを起動して、「https://vps.kagoya.com/login」にアクセスします。その後、「アカウント」と「パスワード」を入力して、「ログイン」をクリックします。
(2) 「インスタンス」をクリックして、「インスタンス作成」をクリックします。
(3) 導入するOSを選択します。今回は「OSテンプレート」タブの「CentOS Stream 8」を選択します。
(4) スペックを選択します。今回は「スタンダード」の以下のスペックを選択します。
・CPU/メモリ : 2コア / 2GB
・ストレージ : 25GB
・料金 : 24円/日(660円/月)
また、ご参考までに以下のzabbix公式サイトに「CPUのコア数:2CPU」、「メモリ:2GB」程度あれば動作する旨の記載があります。
https://www.zabbix.com/documentation/5.0/manual/installation/requirements
(5) SSHでログインする時に使用する認証キーを追加するために、「ログイン用認証キー追加」をクリックします。
(6) SSHでログインする時に使用する認証キー(キー名と備考)を設定して、「登録」をクリックします。
(7) 登録した「ログイン用認証キー」が表示されていることを確認します。
(8) 以下の内容を設定します。
・コンソールログインパスワード : [任意のパスワード]
・インスタンス名 : [任意のインスタンス名]
(9) 「備考」に任意の説明文を入力して、「インスタンス作成」をクリックします。
(10) 作成したインスタンスが表示され、「IPアドレス」が表示されていることを確認します。「IPアドレス」は接続時に使用しますので、メモなどに残します。
zabbixサーバのソフトウェアの構築及び設定
zabbixサーバを構築するための手順を記載します。
事前に作業PCにTera Termをインストールしていることを想定していますので、インストール方法が分からない場合は「ターミナルソフトのTera Term (テラターム)インストール」をご確認ください。
(1) Tera Termを起動して、以下の内容を設定して「OK」をクリックします。
・ホスト : [サーバのIPアドレス]
・サービス : SSH
・TCPポート : 22
(2) ユーザー名を入力して、認証方式の「RSA/DSA/ECDSA/ED25519鍵を使う」にチェックを付けて、秘密鍵を選択します。その後、「OK」をクリックします。
(3) ログインが成功すると、以下のような画面が表示されます。
(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
(10) 以下のコマンドを実行して、OSのファイアウォール(firewalld)のプロセスを停止します。
# systemctl stop firewalld
# systemctl disable firewalld
ファイアウォールの設定
ファイアウォールの設定を変更して、zabbixサーバを動作させるために必要な通信を許可する手順を記載します。
今回は以下の通信ポートを許可する手順を記載しますが、必要に応じて送信元IPアドレスを制限したり、追加で許可する通信ポートを設定してください。
・許可ルール1 : any —–(80/tcpと443/tcp)—-> zabbixサーバ
・許可ルール2 : any —–(10051/tcp)———–> zabbixサーバ
・許可ルール3 : any —–(22/tcp)—————> zabbixサーバ
(1) [セキュリテ]-[セキュリティグループ]をクリックします。
(2) 「セキュリテグループ追加」をクリックします。
(3) 任意のセキュリティグループ名を入力して、以下のルールを設定します。
プロトコル | IP | ポート |
---|---|---|
TCP | * | 80 |
TCP | * | 443 |
TCP | * | 10051 |
TCP | * | 22 |
※IPアドレスの「*」は全て(any)という意味です。
(4) 設定したセキュリティグループが表示されていることを確認します。
(5) 「インスタンス」をクリックして、セキュリティグループを適用するインスタンス名をクリックします。
(6) 「インスタンス情報」タブをクリックします。
(7) セキュリティグループの横にあるツール(⚙)をクリックします。
(8) インスタンスに適用するセキュリティグループを選択して、「設定」をクリックします。
(9) 設定したセキュリティグループ名が設定されていることを確認します。
zabbixサーバのセットアップ
zabbixサーバの管理画面にアクセスして、セットアップする手順を記載します。
(1) ブラウザを起動して、「http://[zabbixサーバのIPアドレス]/zabbix」にアクセスします。
(2) 「Next step」をクリックします。
(3) 全てのステータスがOKになっていることを確認して、「Next step」をクリックします。
(4) 「Database port:3306」、「Password:[設定したパスワード]」を入力して、「Next step」をクリックします。
(5) 「Next step」をクリックします。
(6) 設定した値を確認して、「Next step」をクリックします。
(7) インストールが成功した旨のメッセージが表示されていることを確認して、「Finish」をクリックします。
(8) 「ユーザ名:Admin」、「パスワード:zabbix」を入力して、「Sign in」ボタンをクリックします。
【補足】カゴヤ・クラウド/VPSのPING監視
カゴヤ・クラウド/VPS上では、サーバにPINGを送って応答がない時にアラートメールを送ることができます。
本章では、PING監視の設定手順を記載します。
(1) インスタンスをクリックして、監視対象のインスタンスをクリックします。
(2) 「監視」タブをクリックして、ping監視のツール(⚙)をクリックします。
(3) 「pingダウン時にエラーメールを送信する」にチェックを付けて、アラートメールを送る間隔とメールアドレスを設定します。その後、「設定」をクリックします。
(4) 監視設定が表示されていることを確認します。
zabbix関連の記事
zabbix関連の記事は以下の通りです。
必要に応じて、ご確認ください。
No | タイトル | 記事の概要 |
---|---|---|
1 | zabbixのハンズオン形式での勉強 (構築、監視設定、アラート確認) | zabbixのおすすめの勉強方法をご紹介します。 |
2 | 仮想基盤構築(Virtualboxインストール) 〇Virtualboxバージョン6 〇Virtualboxバージョン7 | zabbixサーバを構築するための準備として、 仮想基盤のソフトウェアであるVirtualboxを インストールします。 |
3 | zabbixサーバのインストール 〇zabbixバージョン5.0 [仮想環境に構築] CentOS Stream 8、Ubuntu 20.04 [クラウド環境に構築] さくらインターネット、ConoHa VPS、 カゴヤ 〇zabbixバージョン6.0 [仮想環境に構築] CentOS Stream 8 〇zabbixバージョン7.0 [仮想環境に構築] CentOS Stream 9 | zabbixサーバを構築します。 |
4 | zabbixの監視設定の流れ | zabbixの監視設定の流れを理解します。 |
5 | zabbixの推奨の監視項目と 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-2 | TCP通信ポート応答監視 ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | TCPの通信ポートの応答有無を監視する 設定をします。 |
5-3 | CPU使用率監視 ・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-9 | Windows OSのサービス状態監視 ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | Windows OSのサービスの起動状態を 監視します。 |
5-10 | Windowsイベントログ監視 ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | Windowsイベントログに特定のログが 出力されたか監視します。 |
5-11 | Webシナリオ(Webページ監視) ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | Webアクセス時のHTTPステータスコードが 200番であることを監視します。 |
5-12 | SNMP trap監視 ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | 機器から送信されたSNMP trapを 受信したことを監視します。 |
5-13 | ネットワーク機器監視 ・zabbixバージョン5.0の場合 ・zabbixバージョン6.0の場合 ・zabbixバージョン7.0の場合 | ネットワーク機器の監視設定をします。 |
6 | zabbixの監視データの確認と メール通知設定 | 監視データの確認方法を理解します。 また、障害発生時のアラートメールの 通知設定をします。 |
7 | zabbixの詳細設計書(パラメータシート)の サンプル | zabbixのパラメータシートのサンプルを 記載します。 |
8 | 【仕事依頼】zabbixサーバの 要件定義、設計、構築 | zabbixの構築作業をご依頼いただける場合の 作業の流れなどを記載します。 |
zabbix関連の書籍
zabbixに関する設定を網羅的および詳細に学びたい場合、以下の書籍がおすすめです。
ページ数が多い書籍ですので、分からないことを調べる辞書の役割にもなります。