Monday, December 26, 2011

Zabbix Installation on CentOS

1. Install all the necessary pieces

rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
yum --enablerepo=webtatic install ntp php php-bcmath php-gd php-mysql httpd mysql gcc
mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel net-snmp-libs curl-devel mak
php-mbstring

2. Start the NTP Service

/etc/init.d/ntpd start

3. Download the below rpm file and install it

wget http://dag.wieers.com/rpm/packages/fping/fping-2.4-1.b2.2.el5.rf.i386.rpm
rpm -Uvh fping-2.4-1.b2.2.el5.rf.i386.rpm

chmod 7555 /usr/sbin/fping

4. Add zabbix user

useradd zabbix
5. Download zabbix and untar it.

wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.9/zabbix-1.8.9.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1324895422&use_mirror=nchc

tar -zxvf zabbix-1.8.9.tar.gz

6. Start MySQL, and change the root password.

/usr/bin/mysqladmin -u root password pdl12345

7. Connect to DB using the newly created password

mysql -u root -ppdl12345

mysql> CREATE DATABASE zabbix;

mysql> GRANT DROP,INDEX,CREATE,SELECT,INSERT,UPDATE,ALTER,DELETE ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbix@123’;

mysql> quit;

8. Create the DB Schema and Install server and client with the required setting

cd zabbix-1.8.9

cat create/schema/mysql.sql | mysql -u zabbix -pzabbix@123 zabbix

cat create/data/data.sql | mysql -u zabbix -pzabbix@123 zabbix

cat create/data/images_mysql.sql | mysql -u zabbix -pzabbix@123 zabbix

./configure –enable-server –prefix=/usr/local/zabbix –with-mysql –with-net-snmp –with-libcurl

make install

Compile the agent

./configure –enable-agent –prefix=/usr/local/zabbix

make install

Add the zabbix server and agent ports to your /etc/services file.

echo ‘zabbix_agent 10050/tcp’ >> /etc/services

echo ‘zabbix_trap 10051/tcp’ >> /etc/services

Copy the sample configs to /etc/zabbix for server and agentd.

mkdir /etc/zabbix

cp misc/conf/zabbix_agentd.conf /etc/zabbix

cp misc/conf/zabbix_server.conf /etc/zabbix

in /etc/zabbix/zabbix_server.conf, modify:

DBUser=zabbix

DBPassword=zabbix@123


in /etc/zabbix/zabbix_agentd.conf, modify:

Server=127.0.0.1,yourserveripaddress

Comment Hostname Parameter

cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix_agentd
cp misc/init.d/redhat/zabbix_server_ctl /etc/init.d/zabbix_server

in /etc/init.d/zabbix_agentd AND /etc/init.d/zabbix_server:

BASEDIR=/usr/local/zabbix

in /etc/init.d/zabbix_agentd (Note the # hash marks, they are necessary), add near the top, just below #!/bin/sh:

# chkconfig: 345 95 95
# description: Zabbix Agentd

in /etc/init.d/zabbix_server (again, note the # Hash marks, they are required), add near the top, just below #!/bin/sh:

# chkconfig: 345 95 95
# description: Zabbix Server

Configure automatic starting and stopping of services.

chkconfig –level 345 zabbix_server on

chkconfig –level 345 zabbix_agentd on

chkconfig –level 345 httpd on

chkconfig –level 345 mysqld on

chkconfig –level 0123456 iptables off

/etc/init.d/iptables stop

Note: I turn the iptables firewall OFF because my box is behind a firewall. You should consult with your network folks before turning off the firewall. At the very least you should poke holes for port 80, 10050, and 10051 in the firewall.

cp -r frontends/php /var/www/html/zabbix

in /etc/php.ini, modify:

max_execution_time = 300

max_input_time = 600

memory_limit = 256M

date.timezone = Africa/Lagos

post_max_size = 32M


Now start httpd service

/etc/init.d/httpd start

chmod 777 /var/www/html/zabbix/conf

Launch http://yourserveripaddress/zabbix inyour browser
For
http://www.muck.net/wp-content/uploads/2007/10/zabbix_prereq_small.jpg