Fedora 19 に Zabbix 2.2 対応の zabbix-agent を入れる機会があり、その時の手順です。Fedora 18 相当の Pidora も systemd なので、同様にセットアップできると思います。Zabbix はソースから、エージェントのみをセットアップします。セットアップ後は、Fedora 19 でのデーモン常駐のため、systemd を使った自動起動設定を行います。
いずれ EPEL リポジトリの RPM パッケージが提供されると思いますが、待てない方のために。
◆ 初期セットアップ手順
あらかじめ gcc や glibc-common 等が必要です。
# yum install gcc
依存関係のあるパッケージを、まとめて入れます。
それから、ソースコードを入手、展開します。以下の例ではセットアップ先 ( prefix ) を、 /opt/zabbix 以下に設定していますが、変更可能です。省略すると /usr/local/ 以下に展開されます。
$ wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
$ tar xfz zabbix-2.2.0.tar.gz
$ cd zabbix-2.2.0
$ ./configure --prefix=/opt/zabbix --enable-agent
$ make
make でエラーが出なければ、make install を実行します。
# make install
これで /opt/zabbix/sbin 等にセットアップされます。
次に zabbix グループとユーザを作成します。
# /usr/sbin/groupadd zabbix # /usr/sbin/adduser -g zabbix -d /opt/zabbix -s /sbin/nologin zabbix
次に、設定ファイルを開きます。
# vi /opt/zabbix/etc/zabbix_agentd.conf
※2014/03/27 修正 ↑のzabbix_server.conf は zabbix_agentd.conf の間違いでした。
Server= で始まる行が、監視元となる Zabbix サーバ( IP アドレスで指定) です。
次に起動テストをします。
# /opt/zabbix/sbin/zabbix_agentd
ps で確認して、起動していれば通常は問題ありません。
$ ps ax | grep zabbix 27644 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd 27647 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd: collector [idle 1 sec] 27648 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection] 27649 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection] 27650 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection] 27651 ? S 0:00 /opt/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
起動できなければ、ログファイル(デフォルトは /tmp/zabbix_agentd.log)の内容を確認します。
ここで zabbix_agentd の PID を一旦 kill します。
◆ systemd を使った自動起動・デーモンの常駐設定
Fedora 19 は systemd を使って管理しているため、これまでの init スクリプトは使えません。
systemd 用のファイルを作成します(元になったのは、Fedora 向け systemd スクリプトです)。このとき、ExecStart はセットアップした zabbix_agentd のパスを記述します。
# cat <<EOF > /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Monitor Agent
After=syslog.target network.target
[Service]
Type=oneshot
ExecStart=/opt/zabbix/sbin/zabbix_agentd
RemainAfterExit=yes
User=zabbix
[Install]
WantedBy=multi-user.target
EOF
systemdの設定を読み込み直し、Zabbix エージェントの起動を試みます。
# systemctl --system daemon-reload # systemctl start zabbix-agent.service
start の代わりに status を実行すると、正常に稼働しているかどうかや、ログを確認します。
# systemctl status zabbix-agent.service
zabbix-agent.service - Zabbix Monitor Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled)
Active: active (exited) since 火 2013-11-19 20:35:01 JST; 5s ago
Process: 2715 ExecStart=/opt/zabbix/sbin/zabbix_agentd (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/zabbix-agent.service
tq2717 /opt/zabbix/sbin/zabbix_agentd
tq2718 /opt/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
tq2719 /opt/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
tq2720 /opt/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
tq2721 /opt/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
mq2722 /opt/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
11月 19 20:35:01 web1 systemd[1]: Started Zabbix Monitor Agent.
‘active’ となっていれば、問題ありません。
最後に、ブート時にも自動起動されるようにします。
# systemctl enable zabbix-agent.service ln -s '/usr/lib/systemd/system/zabbix-agent.service' '/etc/systemd/system/multi-user.target.wants/zabbix-agent.service'
このコマンドは、init の ‘/sbin/chkconfig zabbix-agent on’ に相当します。無効にするときは enable のかわりに ‘disable’ を指定します。