a_hamada/ 2024年 3月 11日/ 技術

こんにちは!濱田です!
最近の札幌は暖かくなったり、寒くなったりで体調崩しやすい季節だと感じる今日この頃。

さて今回もzabbixについて書いていきます。
今回は監視対象のサーバにzabbix agent2をインストールして、監視対象のサーバ上で動作しているDockerコンテナを監視する方法をご紹介します。

監視対象側にzabbix agent2のインストール

まず監視対象のサーバに対してagent2をインストールしていきます。
※今回インストール対象のサーバはUbuntu22.04を想定しています。

まずリポジトリからパッケージをダウンロードします。

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb

その後パッケージインストールを行います。

sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb

そしてaptをupdateして、zabbix agent2をaptでインストールします。

sudo apt update
sudo apt install zabbix-agent2

confファイルの編集

インストールが完了したら、次にconfファイルの編集を行います。
下記コマンドでconfファイルを開きます。

sudo vi /etc/zabbix/zabbix_agent2.conf

※zabbix agentの時と違い、agentd.confではなくagent2.confであることに注意してください。

続いていつも通り接続先のzabbixサーバ側の情報を追記します。

Server=<Zabbix ServerのIPアドレス または ホスト名>
ServerActive=<Zabbix ServerのIPアドレス または ホスト名>
Hostname=<任意のホスト名>

Hostnameに設定する値はなんでも構いませんが、zabbixサーバ側で監視対象の設定を行う際必要になるので控えておいてください。

confファイルの編集が完了したら、agentを有効にします。

sudo systemctl enable zabbix-agent2

有効になったかどうかは下記のコマンドで確認できます。

sudo systemctl status zabbix-agent2

続いてzabbix agent2のプラグインのconfファイルを編集していきます。
下記のディレクトリに移動します。

cd /etc/zabbix/zabbix_agent2.d/plugins.d

そしてdocker.confをエディタで開いて、下記の記述がコメントになってるのを解除します。

Plugins.Docker.Endpoint=unix:///var/run/docker.sock

最後にagen2のサービスを再起動して、監視対象側のサーバに関する設定は終了です。

zabbixサーバ側の設定

次にzabbixサーバ側の設定手順を紹介します。

まずzabbixサーバのwebインタフェースに移動してホストの追加画面に遷移します。
ホスト追加

そしてzabbix_agent2.confのHostnameに設定した値を、ホスト名の項目に設定します。
次にテンプレートの項目右側の選択ボタンを押して、テンプレートの選択画面に移動します。
テンプレート

その中から「Docker by Zabbix agent 2」と「Linux by Zabbix agent」を選択します。
ホストグループの項目は任意の値を選択して、設定してください。

最後に追加ボタンを押してホストの追加は完了です。
しばらくして追加したホストの「エージェントの状態」が、緑色になっていれば監視対象として追加完了です。

まとめ

以上がzabbix agent2でDockerコンテナとOSを監視するための手順でした。
ほとんど導入手順が変わることなく、Dockerコンテナの異常も検知できるようになるのはすごいですよね。

今回の記事はここまでです。
ではまた!

About a_hamada

2020年9月からWebプログラマに転向した半人前 日々勉強することばかり。 最近使っている言語はもっぱらPython