インフラエンジニア徒然日記

なんちゃってインフラエンジニアです。てきとーに日々のことを記載します。

zabbix2.4を一瞬でインストールするお話(めも)

☆OS情報

OS:CentOS release 6.7 (Final)
kernel:2.6.32-573.el6.x86_64


☆zabbbix2.4をダウンロードする

[root@test03~# cd /var/tmp
[root@test03 tmp]#wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.7/zabbix-2.4.7.tar.gz


java監視用にjdkをダウンロードする
oracle archiveから以下jdk-7u51-linux-x64.rpmをダウンロードしてくる

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

scpなどで/tmp配下に配置する

☆必要パッケージ類を事前インストール

[root@test03 tmp]#yum -y install httpd
[root@test03 tmp]#yum -y install php php-gd php-bcmath php-mysql php-mbstring php-xmlwriter php-xmlreader
[root@test03 tmp]#yum -y install mysql mysql-server mysql-devel
[root@test03 tmp]#yum -y install gcc libxml2 libxml2-devel
[root@test03 tmp]#yum -y install net-snmp-devel
[root@test03 tmp]#yum -y install java-1.7.0-openjdk
[root@test03 tmp]#yum -y install curl curl-devel

☆死活監視に必要なfpingをダウンロードする

[root@test03 tmp]#wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/fping-2.4b2-16.el6.JP.x86_64.rpm


jdkインストール

[root@test03 tmp]#rpm -ivh jdk-7u51-linux-x64.rpm

☆fpingインストール

[root@test03 tmp]#rpm -ivh fping-2.4b2-16.el6.JP.x86_64.rpm


☆ユーザ追加

[root@test03 tmp]#groupadd zabbix
[root@test03 tmp]#useradd -g zabbix zabbix -s /sbin/nologin
[root@test03 tmp]#usermod -G root zabbix

☆fping設定

[root@test03 tmp]#chown root:zabbix /usr/sbin/fping
[root@test03 tmp]#chmod 710 /usr/sbin/fping
[root@test03 tmp]#chmod ug+s /usr/sbin/fping

MySQL設定
[root@test03 tmp]#vi /etc/my.cnf

以下記載
===
[mysqld]
port = 3306
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
innodb_buffer_pool_size = 512M
innodb_log_file_size=128M

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server = utf8
skip-character-set-client-handshake
innodb_file_per_table

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
===


mysqlにzabbixユーザ、データベースを追加する

[root@test03 tmp]#chkconfig mysqld on
[root@test03 tmp]#service mysqld start
[root@test03 tmp]#/usr/bin/mysqladmin -u root password 'root!'
[root@test03 tmp]#mysql -u root -proot!

mysql>CREATE DATABASE zabbix character set utf8;
mysql>GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@"%" IDENTIFIED BY 'zabbix!' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix!' WITH GRANT OPTION;
mysql>GRANT SUPER ON *.* TO zabbix;
mysql>FLUSH PRIVILEGES;
mysql>exit

☆zabbixの設定

[root@test03 tmp]# tar zxvf zabbix-2.4.7.tar.gz
[root@test03 tmp]# cd /tmp/zabbix-2.4.7/database/mysql
[root@test03 tmp]# cat schema.sql | mysql -u root -proot! zabbix
[root@test03 tmp]# cat images.sql | mysql -u root -proot! zabbix
[root@test03 tmp]# cat data.sql | mysql -u root -proot! zabbix

[root@test03 zabbix-2.4.7]#cd /tmp/zabbix-2.4.7

Zabbixコンパイル
[root@test03 zabbix-2.4.7]# ./configure --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local --sysconfdir=/etc/zabbix
[root@test03 zabbix-2.4.7]#make
[root@test03 zabbix-2.4.7]#make install

[root@test03 zabbix-2.4.7]#cp -rf /tmp/zabbix-2.4.7/frontends/php /var/www/html/zabbix2.4.7
[root@test03 zabbix-2.4.7]# cd /var/www/html/
[root@test03 html]#ln -s zabbix2.4.7 zabbix

■設定ファイルの修正
[root@test03 www]#vi /etc/zabbix/zabbix_agentd.conf
---------------- Zabbix agentd -------------------------------------------
# PidFile=/tmp/zabbix_agentd.pid
PidFile=/var/run/zabbix_agentd.pid <- 追加

#LogFile=/tmp/zabbix_agentd.log <- コメントアウト
LogFile=/var/log/zabbix_agentd.log <- 追加

# LogFileSize=1
LogFileSize=10 <- 追加

#Server=127.0.0.1 <- コメントアウト
Server=[ZabbixサーバIPアドレス] <- 追加

# ListenIP=0.0.0.0
ListenIP=[監視ホストIPアドレス] <- 追加

#ServerActive=127.0.0.1 <- コメントアウト
ServerActive=[ZabbixサーバIPアドレス] <- 追加

#Hostname=Zabbix server <- コメントアウト
Hostname=[監視ホスト名] <- 追加
---------------- Zabbix agentd -------------------------------------------

[root@test03 www]#vi /etc/zabbix/zabbix_server.conf
---------------- zabbix_server -------------------------------------------
#LogFile=/tmp/zabbix_server.log <- コメントアウト
LogFile=/var/log/zabbix_server.log <- 追加

# PidFile=/tmp/zabbix_server.pid
PidFile=/var/run/zabbix_server.pid <- 追加

# DBHost=localhost
DBHost=[Zabbix用MySQLサーバIPアドレス] <- 追加

#DBUser=root <- コメントアウト
DBUser=zabbix <- 追加

# DBName=
DBName=zabbix <- 追加

# DBPassword=
DBPassword=zabbix!
---------------- zabbix_server -------------------------------------------


☆Zabbix log、pid出力許可

[root@test03 www]#chmod 775 /var/
[root@test03 www]#chmod 775 /var/log
[root@test03 www]#chmod 775 /var/run

☆ZABBIX Server 起動ファイル作成

[root@test03 www]# cp -p /tmp/zabbix-2.4.7/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/
[root@test03 www]# cp -p /tmp/zabbix-2.4.7/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/


# vi /etc/init.d/zabbix_agentd

---------------- zabbix_agentd -------------------------------------------
#PIDFILE=/var/tmp/$BINARY_NAME.pid
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid # 変更 (zabbix_server.conf で指定した場所)
---------------- zabbix_agentd -------------------------------------------

# vi /etc/init.d/zabbix_server

---------------- zabbix_server -------------------------------------------
#BASEDIR=/opt/zabbix
BASEDIR=/usr/local # 変更

#FULLPATH=$BASEDIR/bin/$BINARY_NAME
FULLPATH=$BASEDIR/sbin/$BINARY_NAME # 変更 (ZABBIX Agentd のバイナリの配置場所)

#PIDFILE=/var/tmp/$BINARY_NAME.pid
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid # 変更 (zabbix_server.conf で指定した場所)
---------------- zabbix_server -------------------------------------------


☆起動設定

[root@test03 www]#chkconfig zabbix_agentd on
[root@test03 www]#chkconfig zabbix_server on
[root@test03 www]#service zabbix_agentd start
[root@test03 www]#service zabbix_server start