« Home | Preventing SSH Dictionary Attacks With DenyHosts » | How do I scan my Linux system for rootkits, worms,... » | Convert man pages to text » | Poor Mans Raid & Clone Script Tutorial » | Out-going admin cron jobs » | Who hits my website » | Scripts for all occasions » | Bash shell option » | Get the hidden files » | Chrooted SSH HowTo » 

Sunday, March 26, 2006 

Network Monitoring with Zabbix

The ZABBIX server requires the following system resources:



* 10 MB of disk space (100 MB recommended)
* 64 MB of RAM (128 MB recommended)
* MySQL or PostgreSQL as backend database


First we define 2 locations:

The Server, here comes all the info together and is processed in a database, note that the server can be monitored to so it runs an agent too.


The Agent, Information is gathered and polled by the server.



Setup of the Server:

http://prdownloads.sourceforge.net/zabbix/zabbix-1.1beta7.tar.gz?download



1 - Make the zabbix user and group

groupadd zabbix
useradd -c 'Zabbix' -d /home/zabbix -g zabbix -s /bin/bash zabbix


mkdir /home/zabbix
chown -R zabbix.zabbix /home/zabbix




2 - Untar the sources

cd /home/zabbix

tar zxvpf zabbix-1.1beta7.tar.gz

mv zabbix-1.1beta7 zabbix

cd zabbix

chown -R zabbix.zabbix .

su - zabbix





3 - Create a zabbix database and populate it

mysql -p -u root

create database zabbix;
quit;

cd create/mysql

mysql -u root -p zabbix < schema.sql

cd ../data

mysql -u root -p zabbix < data.sql
mysql -u root -p zabbix < images.sql

cd ../../




4 - Configure compile and install the server
We run an agent on the server to so we compile that too ;)

./configure --prefix=/usr --with-mysql --with-net-snmp --enable-server --enable-agent &&
make
su
make install
exit




5 - Prepare the rest of the system

As root edit

/etc/services

Add:

zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp




mkdir /etc/zabbix

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




Edit /etc/zabbix/zabbix_agentd.conf

make sure that the Server parameter points to the server addres,
for the agent that runs on the server its like this:

Server=127.0.0.1



Edit /etc/zabbix/zabbix_server.conf

For small sites this default file will do, however if you are into
tweaking your config for your 10+ hosts site, this is the place



Start the server

su - zabbix
zabbix_server
exit




Start the client:

su - zabbix
zabbix_agentd
exit




6 - Configure web interface

Edit frontends/php/include/db.inc.php:

$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="root";
$DB_PWD ="secret";


mkdir /home/zabbix/public_html
cp -R frontends/php/* /home/zabbix/html/




Edit /etc/apache/httpd.conf

Make this work:


AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Order allow,deny
Allow from all


Order deny,allow
Deny from all



/etc/init.d/apache restart


chown -R zabbix.zabbix public_html




Setup of an Agent

http://prdownloads.sourceforge.net/zabbix/zabbix-1.1beta7.tar.gz?download



1 - Make the zabbix user and group

groupadd zabbix
useradd -c 'Zabbix' -d /home/zabbix -g zabbix -s /bin/bash zabbix

mkdir /home/zabbix
chown -R zabbix.zabbix /home/zabbix




2 - Untar the sources

cd /home/zabbix

tar zxvpf zabbix-1.1beta7.tar.gz

mv zabbix-1.1beta7 zabbix

cd zabbix

chown -R zabbix.zabbix .

su - zabbix




3 - Configure compile and install the agent

./configure --prefix=/usr --with-mysql --with-net-snmp --enable-agent
make
su
make install
exit

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



Edit /etc/zabbix/zabbix_agentd.conf

make sure that the Server parameter points to the server addres

Server=xxx.xxx.xxx.xxx



4 - Prepare the rest of the system

Edit /etc/services

Add:

zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp





5 - Start the agent

su - zabbix
zabbix_agentd
exit





What Next ?

Now point your browser to:

http:www.example.com/~zabbix


Login with username: Admin
No Password

Here you can really knock your self out.
This howto intended to show you how to install this mother.
Configuring the monitoring functions is and whole other ballgame.

For now i leave you here with some pointers to documentation

http://www.zabbix.com/documentation.php
http://sourceforge.net/projects/zabbix
http://www.google.com/search?q=zabbix

Links to this post

Create a Link