はじめに

先日構築したseetubeサーバに監視エージェント(zabbix-agentd)をインストールしたところ、バージョンが4.0だったため、サーバ側のバージョン(3.2)と不整合で正しく通信ができなかった。

ソースのダウンロード

Zabbixの公式サイトからリンクをたどって、ソースコードのアーカイブ(tarボール)をダウンロードします。
https://cdn.zabbix.com/zabbix/sources/stable/3.0/zabbix-3.0.31.tar.gz external_link
バージョンが3.0なのは、以下の理由によります。

  • Zabbixサーバのバージョン(3.2)と互換性がある
  • 3.0系はLTS(Long Time Support)なので、最近まで更新されている
  • 3.2系のエージェントはLTSではないので、更新が2017で終わっている

サーバを4.0以上にアップデートすれば、aptでパッケージインストールできるのですが…
サーバをアップデートするのはいろいろと影響が大きいので見送ります。(日和った)

インストール

ダウンロードしたtarを適当なディレクトリに保存し、展開します。今回のケースでは/usr/local/srcの下に展開しています。

cd /usr/local/src/ tar zxf zabbix-3.0.31.tar.gz

展開されて出来上がったディレクトリに移動します。

cd zabbix-3.0.31

まず、パッケージをビルドするためのパラメータを設定します。zabbixはスクリプトを実行することで自動的に設定できます。

./configure --enable-agent

--enable-agent をつけている理由は、今回ビルドするのはエージェントだけなので、このオプションをつけています。
詳しくは、zabbixのドキュメント([https://www.zabbix.com/documentation/3.0/manual/installation/install])を参照のこと external_link

上の処理が完了したら、以下のコマンドを実行し、ビルド&インストールを実行します。

make install

今回は特にカスタマイズを行っていないので、インストール先が/usr/local/sbin/zabbix-agentdにインストールされています。

root@casrvlx0116:/usr/local/src# which zabbix_agentd /usr/local/sbin/zabbix_agentd root@casrvlx0116:/usr/local/src# ll /usr/local/sbin/zabbix_agentd -rwxr-xr-x 1 root root 1644584 Jul 27 14:16 /usr/local/sbin/zabbix_agentd*

設定ファイルは/usr/local/etc/zabbix_agentd.conf にインストールされていますね。
一応、/etc/zabbixディレクトリを作成して、/etc/zabbix/zabbix_agentd.conf にシンボリックリンクを張ります。

mkdir /etc/zabbix chown zabbix:zabbix /etc/zabbix cd /etc/zabbix ln -s /usr/local/etc/zabbix_agentd.conf

zabbix-agentdの設定

zabbixエージェントの設定には、設定ファイルを修正します。今回は最低限必要な個所の修正にとどめます。

vi /usr/local/etc/zabbix_agentd.conf Server=192.168.1.108 ServerActive=192.168.1.108 LogFile=/var/log/zabbix/zabbix_agentd.log

上記パラメータ3つだけ変更します。192.168.1.108が監視サーバのIPアドレス、zabbix_agentd.logはzabbixエージェントのログファイルになります。

自動起動設定(systemd)

systemdの自動起動設定にはまずサービスの定義ファイルを作成します。

vi /usr/lib/systemd/system/zabbix-agent.service

中身はこのように記述します。詳しくはsystemdのドキュメントを参照のこと

[Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/usr/local/etc/zabbix_agentd.conf" EnvironmentFile=-/etc/sysconfig/zabbix-agent Type=forking Restart=on-failure PIDFile=/var/run/zabbix/zabbix_agentd.pid KillMode=control-group ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s [Install] WantedBy=multi-user.target

systemdにzabbix-agentdサービスを登録します。

systemctl daemon-reload

zabbix-agentdを起動します。

systemctl start zabbix-agentd

以上