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
DO NOT SELECT THE OPTION “ENCRYPT HOME FOLDER”
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 http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz $ tar 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.sql $ mysql -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 127.0.0.1
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
DBUser=zabbix
# Database password
# Comment this line if no password used
DBPassword=Secret
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 defaults $ sudo chmod 755 /etc/init.d/zabbix_agent $ sudo 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 <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>
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
Leave a Reply