ZabbixはWindowsやLinuxなどの監視を行うために、エージェントとして「Zabbix Agent」が長らく提供されてきた。Zabbix 5.0から新たなエージェントとして「Zabbix Agent2」が正式サポートされるようになった。
Zabbix AgentとZabbix Agent2の違いの説明は割愛するが、今後のことを考えて、Zabbix Agent2を使ってみることにした。本記事では、Zabbix Agent2のインストールと設定を記載する。先に言っておくと、インストール手順はZabbix Agentほとんど変化がなく、Zabbixを使ってきた人であればマニュアルを見なくてもインストールできるだろう。
環境
今回はZabbix 5.0を使用する。Zabbix Agent2をCent OS 8にインストールし、Zabbix Agent2で可能となったsystemdのサービスステータス監視を設定する。
なお、Zabbix Agent2がサポートされるプラットフォームは以下の通り。マニュアルを見るとWindowsは一部機能制限がある旨、記載されているので注意。
- RHEL/CentOS 6, 7, 8
- SLES 15 SP1+
- Debian 9, 10
- Ubuntu 18.04
- Windows (一部機能制限あり)
Zabbix Agent2のインストール
そのままではdnf
でインストールすることができないので、「zabbix-release」のパッケージをインストールしたのち、インストールを実行する。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf install zabbix-agent2 -y
設定ファイルは「/etc/zabbix/zabbix_agent2.conf」となる。以下3行を環境に合わせて修正する。
# vi /etc/zabbix/zabbix_agent2.conf
Server=<Zabbix ServerのIPアドレス>
ServerActive=<Zabbix ServerのIPアドレス>
Hostname=<ホスト名>
設定修正後、Zabbix Agent2を起動する。
# systemctl enable zabbix-agent2
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service.
# systemctl start zabbix-agent2
# systemctl status zabbix-agent2
● zabbix-agent2.service - Zabbix Agent 2
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent2.service; enabled; vend>
Active: active (running) since Sat 2020-08-22 17:34:54 JST; 10s ago
Main PID: 20448 (zabbix_agent2)
Tasks: 7 (limit: 11090)
Memory: 7.8M
CGroup: /system.slice/zabbix-agent2.service
mq20448 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf
8月 22 17:34:54 t3022cent systemd[1]: Started Zabbix Agent 2.
8月 22 17:34:54 t3022cent zabbix_agent2[20448]: Starting Zabbix Agent 2 [t3022>
8月 22 17:34:54 t3022cent zabbix_agent2[20448]: Press Ctrl+C to exit.
systemdのサービスの監視を追加
Zabbix Agent2では、systemdのサービスの監視ができるようになっているので、今回その機能を使ってPacmekaerのサービス監視を行うことにした。具体的には、systemd.unit.info[<unit name>,<property>,<interface>]
にてアイテムを作成することで実現する。
今回は例として、「pacemaker.service 」を監視させることにする。
1. アイテムを作成
以下のような内容でアイテムを作成する。デフォルトから変更していない箇所は記載を省略しているので、必要な場合は適宜変更すること。
項目 | 設定値 |
---|---|
名前 | Pacemaker service is running |
タイプ | Zabbixエージェント |
キー | systemd.unit.info[pacemaker.service] |
データ型 | 文字列 |
アプリケーション | Pacemaker service |
2. トリガーを作成
以下のような内容でトリガーを作成する。デフォルトから変更していない箇所は記載を省略しているので、必要な場合は適宜変更すること。
項目 | 設定値 |
---|---|
名前 | Pacemaker service is down on {HOST.NAME} |
深刻度 | 軽度の障害 |
条件式 | {Template Pacemaker Service:systemd.unit.info[pacemaker.service].last()}<>"active" |
3. 動作確認
それでは実際にPacemakerのクラスタを停止させて、Zabbixxにて停止を検知することを確認してみよう。
停止前のアイテムの最新データは「active」となっている。
クラスタを停止させると、「inactive」となる。
systemdのサービスのステータスが変化したことで、正常にトリガーも実行された。
まとめ
以上でZabbix Agent2を使って、systemdの監視を実現することができた。Zabbix Agent2ではディスカバリを使ってsystemdに登録されているサービスを自動で取得することもでできるようなので、そちらも別途試していきたい。
0 件のコメント:
コメントを投稿