| 2006-03-26 |
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:
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
/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 |
|