Tuesday, May 20, 2008

Installing Zabbix ServerAnd Agent

Installing Zabbix (Server And Agent) On Ubuntu 7.10

Zabbix is a solution for monitoring applications, networks, and servers. With Zabbix, you can monitor multiple servers at a time, using a Zabbix server that comes with a web interface (that is used to configure Zabbix and holds the graphs of your systems) and Zabbix agents that are installed on the systems to be monitored. The Zabbix agents deliver the desired data to the Zabbix server.

1 Preliminary Note

I will use the system sahab-desktop.com with the IP address 192.168.1.187 as the Zabbix server, and I'll install a Zabbix agent on the same system (so that it can monitor itself) as well as on a second Ubuntu 7.10 system with the hostname kcs.keltron.org and the IP address 192.168.1.36.

2 Install The Zabbix Server And Zabbix Agent On server

The Zabbix server can store its information in a MySQL? or PostgreSQL database. We use MySQL? here, so we install the MySQL? server and client first:

apt-get install mysql-server mysql-client

Create a password for the MySQL? user root (replace yourrootsqlpassword with the password you want to use):

mysqladmin -u root password yourrootsqlpassword

Then check with

netstat -tap | grep mysql

on which addresses MySQL? is listening. If the output looks like this:

tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld

which means MySQL? is listening on localhost.localdomain only, then you're safe with the password you set before. But if the output looks like this:

tcp 0 0 *:mysql *:* LISTEN 2713/mysqld

you should set a MySQL? password for your hostname, too, because otherwise anybody can access your database and modify data:

mysqladmin -h sahab-desktop.com -u root password yourrootsqlpassword

Afterwards, we can install the Zabbix server, Zabbix agent, and the Zabbix web interface with a single command:

apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent

You will be asked a few questions:

Configure database for zabbix-server-mysql with dbconfig-common? <-- Yes
Password of your database's administrative user: <-- yourrootsqlpassword (password of the MySQL? root user)
MySQL? application password for zabbix-server-mysql: <-- zabbixsqlpassword (password of the MySQL? user zabbix)
Password confirmation: <-- zabbixsqlpassword

This should create a MySQL? database called zabbix as well as the MySQL? user zabbix (with the password you provided).

Next we must edit the Zabbix agent configuration in /etc/zabbix/zabbix_agentd.conf. Replace Server=localhost with Server=192.168.1.187
and specify the hostname of the current system in the Hostname line:

vim /etc/zabbix/zabbix_agentd.conf

[...]
Server=192.168.1.187
[...]

Hostname=sahab-desktop.com






[...]

Then we restart the Zabbix agent:

/etc/init.d/zabbix-agent restart

Finally, we must specify the password of our zabbix MySQL? user in the Zabbix web interface configuration:

vim /etc/zabbix/dbconfig.php

$DB_TYPE='MYSQL';
$DB_SERVER='localhost';
$DB_DATABASE='zabbix';
$DB_USER='zabbix';

$DB_PASSWORD='zabbixsqlpassword';




?>

That's it. you can now open http://sahab-desktop.com/zabbix> or http://192.168.1.187/zabbix> in a browser. Log in with the username Admin
and no password:

If you have problems with Zabbix, please check the Zabbix logs:

  • /var/log/zabbix-agent/zabbix_agentd.log
  • /var/log/zabbix-server/zabbix_server.log

The Zabbix configuration files for the server, agent, and web interface are as follows:

  • /etc/zabbix/apache.conf
  • /etc/zabbix/dbconfig.php
  • /etc/zabbix/zabbix_agentd.conf
  • /etc/zabbix/zabbix_server.conf


Note: I got the error in zabbix.pid file creation, then I have manualy created the zabbix.pid file under the user home folder. Then edit the zabbix server and agent configuration file.
/etc/zabbix/zabbix_server.conf and /etc/zabbix/zabbix_server.conf

  • PidFile?=/home/sahab/zabbix/zabbix-server/zabbix_server.pid

  • PidFile?=/home/sahab/zabbix/zabbix-agent/zabbix_agent.pid

3 Install The Zabbix Agent On kcs.keltron.org

Let's assume we have a second server (kcs.keltron.org, 192.168.1.36) that we want to monitor. Of course, we don't have to install the Zabbix server or a MySQL? database on kcs.keltron.org , because this is already installed on sahab-desktop.com. All we have to do is install the Zabbix agent:

apt-get install zabbix-agent

Then we must edit the Zabbix agent configuration file /etc/zabbix/zabbix_agentd.conf and put the IP address of our Zabbix server in the Server line and specify the hostname of the current system in the Hostname line:

vim /etc/zabbix/zabbix_agentd.conf

[...]
Server=192.168.1.187
[...]

Hostname=kcs.keltron.org


[...]

Afterwards, we restart the Zabbix agent:

/etc/init.d/zabbix-agent restart

That's it. You can now use the Zabbix web interface on the Zabbix server to monitor kcs.keltron.org.

If you have problems, you should check out the Zabbix agent log file /var/log/zabbix-agent/zabbix_agentd.log.


...
Sahab

No comments: