こんにちは。サイオステクノロジー OSS サポート担当 山本 です。
巷で噂の Zabbix 4.0 が、2018年10月に発表されました。しかし、「Zabbix is 何?」「結局、何ができるの?」と思っている方もまだまだたくさんいらっしゃるかと思います。(自分もそうでした。)
そのため、4.0 の公開に乗じて、数回に分けてインストールから基本的な簡単な監視設定を行うまで行なって、「Zabbixってどういう動作するの?」の一端をお話をしてみようかと思います。
まずは、概要とインストールのお話から!
■で、Zabbix って何?
設定した内容に従ってネットワークを経由してサーバなどから自動でデータを収集したり、設定した条件を満たすデータが検知された際にメールなどでの通知をしたりリモートコマンドを実行したりすることができるツールです。
例えば、エラーっぽいメッセージが出力されたりディスク使用率が高くなったらメールで通知するとか、あるいはリモートコマンドを駆使してサービスの再起動などを図ったりすることができます。単純に複数のサーバーから監視したい情報のみを、一つのツールでまとめて確認できる、というだけでも環境によってはかなり魅力的だと思います。
監視対象からデータを取得してデータベースに書き込んだり、設定した条件に合致するデータを受信した時に通知をするなどの役目を担う Zabbix サーバー
収集されたデータなどを閲覧したり、Zabbix で行なわせる監視の内容を設定したりできる WebGUI である Zabbix Web インターフェース
監視対象となるマシンにインストールすることで、Zabbix サーバーから監視対象のローカルな情報を収集することなどができるようになる Zabbix エージェント
の、主に3つの要素から構成されています。(Zabbix エージェントは必須ではありません。)
また、Zabbix の監視設定や取得したデータを保存するためのデータベースが別途必要になります。(データベースは Zabbix 社が提供するものではありません。)
それぞれの要素を別々のサーバーに配置することも可能ですが、今回は最も単純なお試し用の構成として、「監視対象も含めて全て同じ一つのサーバー」な構成でお話を進めていきます。データベースは RHEL7/CentOS7 で同梱版が存在している MariaDB を使用することにします。
なお、これらの他にも Zabbix サーバーが行う監視データの収集を代行し、負荷を分散する役目を担う Zabbix プロキシが存在しています。
■インストールしてみよう。
色々言ってみても、結局動かしてみるのが一番わかりやすいはずです。一先ず、早速インストールしてみましょう。
Zabbix のインストールの手順は公式サイトのダウンロードページに step-by-step な形で記載されておりますので、これに従ってインストールしましょう。
まず、「1,Zabbixサーバーのプラットフォームを選択」で使用している環境に合わせた項目を選択します。(※ ここでは MariaDB は MySQL と扱って大丈夫です。)
選択した内容に合わせて、「2,Install and configure Zabbix server」の内容が表示されるので、表示されたコマンドを実行、またはファイルを編集していきましょう。
ここからの手順は本記事を投稿した時点での、「4.0 LTS」「CentOS」「7」「MySQL」を選択した時に表示された手順を実行したもの (+MariaDB のインストール) の手順となりますので、実際にインストールする際はダウンロードページでお使いの環境に合わせた設定を行なった際に表示されるコマンドをコピー&ペーストしてインストールしたほうがより確実です。
実行したコマンドについては色分けしておきます。
a, yum のリポジトリを登録するための rpm をインストールします。
# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.Sae2Kj: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
ここでの warning は基本的に無視しても大丈夫なものです。
b, yum を使って Zabbix をインストールします。途中、キーの確認がありますが、「y」と答えましょう。
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent (中略) Dependencies Resolved ============================================================================================================= Package Arch Version Repository Size ============================================================================================================= Installing: zabbix-agent x86_64 4.0.1-1.el7 zabbix 381 k zabbix-server-mysql x86_64 4.0.1-1.el7 zabbix 2.1 M zabbix-web-mysql noarch 4.0.1-1.el7 zabbix 7.8 k Installing for dependencies: OpenIPMI-libs x86_64 2.0.23-2.el7 base 521 k OpenIPMI-modalias x86_64 2.0.23-2.el7 base 16 k apr x86_64 1.4.8-3.el7_4.1 base 103 k (中略) Transaction Summary ============================================================================================================= Install 3 Packages (+40 Dependent packages) (中略) Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX Importing GPG key 0x79EA5ED4: Userid : "Zabbix SIA" Fingerprint: fbab d5fb 2025 5eca b22e e194 d13d 58e4 79ea 5ed4 Package : zabbix-release-4.0-1.el7.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX Is this ok [y/N]: y Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 Importing GPG key 0xA14FE591: Userid : "Zabbix LLC " Fingerprint: a184 8f53 52d0 22b9 471d 83d0 082a b56b a14f e591 Package : zabbix-release-4.0-1.el7.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 Is this ok [y/N]: y (略)
依存性により、同時に多数のパッケージがインストールされるかと思います。これらは Zabbix の動作に必要なパッケージです。
c, の手順を行うにはデータベースが必要なため、先にデータベースをインストールします。今回は MariaDB を使用します。
# yum install mariadb-server
(中略)
Dependencies Resolved
=============================================================================================================
Package Arch Version Repository Size
=============================================================================================================
Installing:
mariadb-server x86_64 1:5.5.60-1.el7_5 updates 11 M
Installing for dependencies:
libaio x86_64 0.3.109-13.el7 base 24 k
mariadb x86_64 1:5.5.60-1.el7_5 updates 8.9 M
perl x86_64 4:5.16.3-292.el7 base 8.0 M
(中略)
Transaction Summary
=============================================================================================================
Install 1 Package (+37 Dependent packages)
Upgrade ( 1 Dependent package)
c, の手順を行う前に、インストールした MariaDB を起動します、
# systemctl start mariadb # systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
c, MySQL (今回は MariaDB) で Zabbix 用のユーザーを作成します。MariaDB を使用する場合でも、この手順に変更は不要です。
パスワードは任意で変更可能なので、今回は「hogehoge」にしてみました。
# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is x Server version: x.x.x-MariaDB MariaDB Server Copyright (c) 2000, xxxx, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'hogehoge'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
c, Zabbix 用のデータベースとして扱えるよう、データベースにデータを流し込みます。
「Enter password:」と表示されたら、先ほどパスワードとして設定した “hogehoge” を入力します。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:
d, Zabbix サーバーからデータベースが参照できるように、Zabbix サーバーの設定ファイルを編集してデータベースのパスワード (今回の例では “hogehoge“) を書き込みます。
/etc/zabbix/zabbix_server.conf
119 ### Option: DBPassword
120 # Database password. Ignored for SQLite.
121 # Comment this line if no password is used.
122 #
123 # Mandatory: no
124 # Default:
125 # DBPassword=
126
127 DBPassword=hogehoge
Zabbix の設定ファイルはこのように設定できる項目それぞれについて「項目名」「項目の役割」「設定必須か否か」「デフォルト値」といった情報が記載されています。
元々コメントアウトされている部分を利用して設定してもよいのですが、後で見た時に「デフォルト値って何だったっけ…?」とならないように、新しく行を追加して設定を記述するのがオススメです。
また、この設定は何行目に記述しても大丈夫ですが、後でどこに書いたか、書いていないのかわからなくならないように、説明書きの直後の行に設定を記述することをオススメします。
e, httpsd の設定ファイルを編集し、Zabbix Web インターフェースの標準時を設定します、
先頭の「#」の消し忘れに注意しましょう。
/etc/httpsd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Tokyo
勿論、Asia/Tokyo でなくても問題ありません。America/New_York だったり Antarctica/Syowa だったり Europe/Rome など、都合の良い標準時を選んでください。
f, Zabbix サーバーと Zabbix エージェント、Web インターフェースにアクセスするための httpsd を起動します。
# systemctl restart zabbix-server zabbix-agent httpsd # systemctl enable zabbix-server zabbix-agent httpsd
ここまでで、コマンドラインで行うべき初期設定は終わりです。
■Web インターフェースを設定しよう。
上記のダウンロードページの手順では、「https://(サーバ名またはIPアドレス)/zabbix」に接続して終わっていますが、アクセスした後も Web インターフェースの設定が必要です。
(詳細は同じセクションに貼られているリンクから見ることができます)
と言っても、今回のように
・パッケージを使用していて
・Zabbix サーバー・データベース・Zabbix Web インターフェースを同一のサーバーにインストールしている
場合には、基本的には右下の青いボタンを押下していけば大丈夫です。
ただし、3番目の画面では設定した DB のパスワード (今回の例では “hogehoge“) を入力する必要があります。
■設定完了!
無事、設定を終えることができると上記のようなページが表示されるはずです。殆どダウンロードページ記載の手順をなぞるだけとなってしまいましたが、これで Zabbix を使う準備が整いました!
デフォルトではユーザー名「Admin」パスワード「zabbix」でログインできるはずですので、試してみてください。
次回以降はこの Zabbix Web インターフェースを使って、簡単な監視の設定の手順を確認していきましょう。
関連記事
・使ってみよう Zabbix① : インストール編 (※今回)
・使ってみよう Zabbix② : ユーザー設定編
・使ってみよう Zabbix③ : ホスト設定編
・使ってみよう Zabbix④ : アイテム設定編
・使ってみよう Zabbix⑤ : トリガー設定編
・使ってみよう Zabbix⑥ : アクション設定編
・使ってみよう Zabbix⑦ : テンプレート編