Using Zabbix

In Ubuntu 12.04:

 

Linux ternminal commands
wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fzabbix%2F&ts=1352420382&use_mirror=iweb"

tar zxvf zabbix-2.0.3.tar.gz

cd zabbix-2.0.3/

groupadd zabbix

useradd -g zabbix zabbix

cd database/mysql/

mysql -u root -p

create database zabbix character set utf8;

mysql -u root -p zabbix <schema.sql

mysql -u root -p zabbix <images.sql

mysql -u root -p zabbix <data.sql

cd ../../

sudo apt-get install libmysqlclient18 libmysqlclient-dev

sudo apt-get install libcurl4-openssl-dev

sudo apt-get install libsnmp-base libsnmp-dev

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

sudo make install

sudo mkdir /var/www/zabbix

cd frontends/php/

sudo cp -a . /var/www/zabbix

sudo chmod 644 /var/www/zabbix

sudo service apache2 restart

add database password at zabbix_server cnfiguration: sudo gedit /usr/local/etc/zabbix_server.conf

zabbix_server

Browse to http://yourhostname/zabbix and login as admin with a password of zabbix.

Login as admin with a password of zabbix

Configure zabbix. In case some tests fail. Edit /etc/php5/apache2/php.ini and modify parameters.

in case zabbix web says no connection to zabbix server. disable firewall.

sudo ufw disable

[more information]

Configure traps

read this document. We used the perl trap receiver

[more information]

Creating a python client to send traps:

  1. download&Install PySNMP: in ubuntu sudo easy_install pysnmp
  2. then I've found this example that creates a simple trap event.

 

python example
from pysnmp.entity.rfc3413.oneliner import ntforg
from pysnmp.proto import rfc1902

ntfOrg = ntforg.NotificationOriginator()

ntfOrg.sendNotification(
    ntforg.CommunityData('public'),
    ntforg.UdpTransportTarget(('localhost', 162)),
    'trap',
    ntforg.MibVariable('SNMPv2-MIB', 'coldStart'),
    ('1.3.6.1.2.1.1.1.0', rfc1902.OctetString('my system'))
)

Known Problems

  1. the whole process is not trivial. The configuration of zabbix is not automated at all.
  2. if the firewall is enabled then the server cannot start
  3. Configuring the trap is very tricky. I've tried SNMPTT as well. The configuration scripts are not obvious. It requires also to define the MIB that you are going to use without any example.
    1. Zabbix requires to change the trap format by adding ZBXTRAP keyword as described [here].