Zabbix tutorial

As Nagios, Zabbix lets you monitor your network. I’ll user the same operating system as before (Ubuntu Server 12.04.2 64btis)

Install it and use zabbix as your username


After installation just run the commnads:

$ sudo apt-get update
$ sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping

When prompted for a MySQL password just leave it blank

wget zxvpf zabbix-2.0.6.tar.gz

Now lets create the zabbix database and populate it

sudo mysql -e"create database zabbix;"
$ sudo mysql -e"grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpassword';"mysql -D zabbix -uzabbix -pzabbixpassword < /home/zabbix/zabbix-2.0.6/database/mysql/schema.sqlmysql -D zabbix -uzabbix -pzabbixpassword < /home/zabbix/zabbix-2.0.6/database/mysql/images.sql
$ mysql -D zabbix -uzabbix -pzabbixpassword < /home/zabbix/zabbix-2.0.6/database/mysql/data.sql

You must respect the order of the commands or you’ll get a bunch of errors in sql database creations (i’ve learned that the hard way).

$ cd /home/zabbix/zabbix-2.0.6/./configure --prefix=/usr --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent && make  
$ sudo make install

now lets configure the rest of the system edit the /etc/services file

$ sudo vi /etc/services

go to the end of the file and add this:

zabbix_agent   10050/tcp           # Zabbix ports

zabbix_trap      10051/tcp

Save and exit

$ sudo mkdir /etc/zabbix
$ sudo chown -R zabbix.zabbix /etc/zabbix/
$ cp /home/zabbix/zabbix-2.0.6/conf/zabbix_*.* /etc/zabbix/

After copying the files we need to make sure that the Server is pointing to

We do this by  editing the /etc/zabbix/zabbix_agentd.conf:

$ sudo vi /etc/zabbix/zabbix_agentd.conf

Now lets edit the 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).

Change this:

# Database user


# Database password

# Comment this line if no password used


Copy the init.d scripts to the right spot:

$ sudo cp /usr/sbin/zabbix_*.* /etc/init.d/

Now lets correct permissions and set ZABBIX to start when the machine boots:

$ sudo chmod 755 /etc/init.d/zabbix_server
$ sudo update-rc.d zabbix_server defaultssudo chmod 755 /etc/init.d/zabbix_agentsudo update-rc.d zabbix_agent defaults

Its time to start them:

$ sudo /etc/init.d/zabbix_server start
$ sudo /etc/init.d/zabbix_agent start

Configure web interface:

$ mkdir /home/zabbix/public_html 
$ cp -R /home/zabbix/zabbix-2.0.6/frontends/php/* /home/zabbix/public_html/

Configure Apache2:

sudo vi /etc/apache2/sites-enabled/000-default

Add this:

Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
  AllowOverride FileInfo AuthConfig Limit Indexes
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Order allow,deny
    Allow from all
    Order deny,allow
    Deny from all

Make php.ini adjustments:

$ sudo vi /etc/php5/apache2/php.ini

Change the values to:

max_execution_time form = 300

max_input_time = 300

post_max_size = 16M

date.timzone = Europe/London

save and exit.

Restart the apache2 service:

$ sudo /etc/init.d/apache2 restart

that’s all for today’s lesson


Nagios tutorial

As a System Administrator i have the need to monitor all my infrastructure. After searching the web i found that Nagios system is one of the most powerful and free monitoring software out there.

Nagios is a system monitoring for IT infrastructure that help to solve/detect problems before they affect the business process.

Lets start the installation.

Nagios is a system that runs on CentOS or Ubuntu. For this tutorial i am going to use Ubuntu Server 12.04.2 32bits

The Ubuntu Server installation is a very straight forward process so i am not going to focus on that.

After you install the Server lets update the repository list with the command:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install build-essential

Now to install the nagios just use the commands

$ apt-get install -y nagios3 nagios-nrpe-plugin

$ usermod -a -G nagios www-data

$ chmod -R g+x /var/lib/nagios3/

$ sed -i ‘s/check_external_commands=0/check_external_commands=1/g’ /etc/nagios3/nagios.cfg

now lets set the password for nagiosadmin

htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin

restart the nagios3 and apache2 services

service nagios3 restart && service apache2 restart

Now your server is ready to be accessed from a internet browser. Just use the link http://ip_address_of_the_server/nagios3 in my case

That’s all for now.