Zabbix ProxyをRaspberry Pi3に入れる
本記事では、自前でZabbix Proxyをコンパイルしていますが、どうも最近はパッケージで導入が出来るみたいです。
時間が合ったら、記事を書き直す予定です。
前提条件
- OS
- Raspbian GNU/Linux 9
- データベース
- SQLite
RasPiにMySQLは重たいかな。と思っていたので、SQLiteで動くのは好印象
ユーザを作成
# groupadd zabbix
# useradd -g zabbix -d /dev/null -s /sbin/false zabbix
必要なパッケージを追加
# apt update
# apt install make fping sqlite3 libsnmp-dev libcurl4-openssl-dev libiksemel-dev libsqlite3-dev libxml2 libxml2-dev libopenipmi-dev snmp snmp-mibs-downloader libssh2-1-dev snmpd libevent-dev libpcre3-dev libgnutls28-dev
Zabbix Proxyをインストール
% wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz/download
% tar xvzf download
% cd zabbix-4.0.3/
% ./configure --enable-proxy --enable-agent --with-sqlite3 --with-net-snmp --with-libcurl --with-openipmi --with-ssh2 --with-libxml2 --enable-ipv6 --with-gnutls
% make
# make install
mkdir /var/log/zabbix
mkdir /var/run/zabbix/
chown zabbix.zabbix /var/log/zabbix
chown zabbix.zabbix /var/run/zabbix/
touch /var/log/zabbix/zabbix_proxy.log
chown zabbix.zabbix /var/log/zabbix/zabbix_proxy.log
/etc/systemd/system/zabbix-proxy.service
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
EnvironmentFile=-/etc/sysconfig/zabbix-proxy
Type=forking
Restart=on-failure
PIDFile=/var/run/zabbix/zabbix_proxy.pid
KillMode=process
ExecStart=/usr/local/sbin/zabbix_proxy
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
# systemctl start zabbix-proxy
# systemctl status zabbix-proxy
設定
Raspberry Pi特有の設定はないため、普通にですが手元の環境ではこんな感じ
/usr/local/etc/zabbix_proxy.conf
Server=###zabbix_server###
Hostname=###self_ip###
LogFile=/var/log/zabbix/zabbix_proxy.log
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=/var/lib/zabbix/db/zbxproxy.db
DBUser=zabbix
Timeout=4
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
注意点
Zabbix Frontend上ではProxyを選ぶところがあるため、問題無いと思いますが、
Zabbix AgentからはZABBIX ProxyがServerに見えるため、注意が必要