LoginSignup
1
3

More than 5 years have passed since last update.

FreeBSDでZABBIX3を動かす

Last updated at Posted at 2017-09-19

前提環境

LinuxでDocker使うと簡単に環境作れるのは分かってるけど、FreeBSD使いたいので、ちまちまと。
2017/9/21 追記:SNMP Trapを受けられるように変更
2018/7/25 追記:fping 4.0からIPv4/IPv6どちらもサポートするようになり、JailのネットワークI/FにIPv6アドレスを付けないと動作しないため、その部分を追記

  • OS
    • FreeBSD 11.1R
    • qjail
  • IPアドレス

    • 192.168.10.121を想定
  • データベース

    • MySQL(別サーバで構築済みを想定)
    • 192.168.10.120を想定
    • innodb_file_per_table オプションが必要な事を忘れない事!
  • Webサーバ

    • lighttpd

ホストの設定

# sysctl security.jail.sysvipc_allowed=1
# sysrc jail_sysvipc_allow=YES

Jailを作る

# qjail create -4 192.168.10.121 -6 fe80::121 -n hn0 zabbix
# qjail config -y zabbix
# qjail config -k zabbix

これ以降はJailの中の操作

インストール

# pkg install zabbix3-server
# pkg install zabbix3-frontend
# pkg install zabbix3-agent
# pkg install lighttpd
# pkg install ja-font-ipa-uigothic

設定

PHP

# cp -p /usr/local/etc/php.ini-production /usr/local/etc/php.ini

変更箇所のみ

php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Tokyo
always_populate_raw_post_data = -1

ZABBIX Server

# cd /usr/local/share/zabbix3/server
# mysql -h 192.168.10.120 -uzabbix3 -p zabbix3 < database/mysql/schema.sql
# mysql -h 192.168.10.120 -uzabbix3 -p zabbix3 < database/mysql/images.sql
# mysql -h 192.168.10.120 -uzabbix3 -p zabbix3 < database/mysql/data.sql

# cd /usr/local/etc/zabbix3/
# cp zabbix_server.conf.sample zabbix_server.conf

変更箇所のみ
別で構築済みのMySQLサーバの情報を設定

zabbix_server.conf
LogFile=/var/log/zabbix_server.log
DBHost=192.168.10.120
DBName=zabbix3
DBUser=zabbix3
DBPassword=foobar
Fping6Location=/usr/local/sbin/fping6
FpingLocation=/usr/local/sbin/fping
ListenIP=192.168.10.121
# sysrc zabbix_server_enable=YES
# touch /var/log/zabbix_server.log
# chown zabbix:zabbix /var/log/zabbix_server.log
# service zabbix_server start

# cd /usr/local/www/zabbix3/fonts/
# ln -s /usr/local/share/font-ipa-uigothic/ipagui.ttf ipagui.ttf
/usr/local/www/zabbix3/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'ipagui');

ZABBIX Agent

# cd /usr/local/etc/zabbix3
# cp zabbix_agentd.conf.sample zabbix_agentd.conf

変更箇所のみ

zabbix_agentd.conf
LogFile=/var/log/zabbix_agentd.log
Server=192.168.10.121
# sysrc zabbix_agentd_enable=YES
# touch /var/log/zabbix_agentd.log
# chown zabbix:zabbix /var/log/zabbix_agentd.log
# service zabbix_agentd start

lighttpd

変更箇所のみ

lighttpd.conf
var.log_root    = "/var/log/lighttpd"
server.use-ipv6 = "disable"
server.bind = "192.168.10.121"
server.document-root = "/usr/local/www/zabbix3/"
$SERVER["socket"] == "192.168.10.121:80" { }
modules.conf
include "conf.d/fastcgi.conf"
conf.d/fastcgi.conf
fastcgi.server = ( ".php" =>
                   ( "php-local" =>
                     (
                       "socket" => socket_dir + "/php-fastcgi-1.socket",
                       "bin-path" => "/usr/local/bin/php-cgi",
                       "max-procs" => 1,
                       "broken-scriptfilename" => "enable",
                     )
                   ),
)
# mkdir -p /var/spool/lighttpd/sockets/
# sysrc lighttpd_enable=YES
# service lighttpd start

ZABBIX Frontendの設定

  • http://192.168.10.121/ へアクセス
  • データベース名・ユーザ名・パスワードなどを入力(別で構築済みのMySQLサーバの情報を設定)

ZABBIX Frontendへアクセス

あとは普通にZABBIXを設定

SNMP Trapを受けられるようにする

# cd ~
# fetch http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.2/zabbix-3.2.2.tar.gz/download
# tar xvzf download
# rm download
# cd zabbix-3.2.2/
# cp misc/snmptrap/zabbix_trap_receiver.pl /usr/local/share/zabbix3/
# chmod 755 /usr/local/share/zabbix3/zabbix_trap_receiver.pl
# sysrc snmptrapd_enable=YES
/usr/local/share/zabbix3/zabbix_trap_receiver.pl
$SNMPTrapperFile = '/var/log/zabbix_snmptrap.log';
/usr/local/share/snmp/snmptrapd.conf
authCommunity log,execute,net private
authCommunity log,execute,net public

perl do "/usr/local/share/zabbix3/zabbix_trap_receiver.pl"

disableAuthorization yes
pidfile /var/run/snmptrapd.pid
donotlogtraps no
logoption f /var/log/snmptrap.log
/usr/local/etc/zabbix3/zabbix_server.conf
SNMPTrapperFile=/var/log/zabbix_snmptrap.log
StartSNMPTrapper=1
# service snmptrapd start

SNMP Trapのテンプレートを作成し、該当ホストへ適用
- https://gist.github.com/tatsuyaueda/dabe513853f49f07527f9ef120e1374b

ZABBIXの監視データ→最新データでSNMP Trapの情報が確認出来ればOK

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3