Installing Zabbix 3.0 on Ubuntu 14.04

Fist, let's spin up a new 14.04 instance in EC2.

Once connected there are some default things to get in order prior to get started on installing Zabbix.

sudo su
echo "zabbix" > /etc/hostname
hostname -F /etc/hostname

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install fail2ban build-essential

Update /etc/hosts to have it reflect the hostname you just set; localhost.localdomain localhost
your_internal_ip_address_here zabbix

Next, let's install Zabbix 3.

sudo dpkg -i zabbix-release_3.0-1+trusty_all.deb
sudo apt-get update

Install Zabbix server and required packages.

sudo apt-get install zabbix-server-mysql php5-mysql zabbix-frontend-php

Memorize the MySQL root password you have chosen, you'll need it later. Next edit the Zabbix configuration.

sudo nano /etc/zabbix/zabbix_server.conf

Look for the line to configure the database credentials you would like to use for Zabbix to connect, it are the following:


Also take note of the values specified here, you'll need them later. Note. You will make up a password for the zabbix MySQL user you'll create in a later step. You won't paste your root MySQL password here you just made up while installing MySQL.

Login to MySql using the root password you chose when you installed MySQL;

mysql -u root -p

Create a user for Zabbix (and a database) that matches the information we entered in the "/etc/zabbix/zabbix_server.conf" file.

create user 'zabbix'@'localhost' identified by 'your_chosen_password_here';
create database zabbix;
grant all privileges on zabbix.* to 'zabbix'@'localhost'; flush privileges;

Zabbix needs a database to work with, you'll need to import it.
Unzip the mysql data for importing them into the database you'll create in the next step.

cd /usr/share/doc/zabbix-server-mysql
sudo gunzip *.gz
cat create.sql | mysql -uroot zabbix -p

Start the Zabbix server

sudo service zabbix-server start

Edit the PHP settings for Zabbix:

sudo nano /etc/apache2/conf-enabled/zabbix.conf

And make sure you'll at least set the timezone like for example like the last line below;

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Amsterdam

Then go to the url of the server you created like:

Login with the default credentials zabbix/admin and get started with the latest part of the setup.
You'll need to specify the password you made up and configured for the Zabbix user for connecting to your Zabbix MySQL tables.

For Zabbix server details I entered the hostname like this: and left the rest as default.

If you have logged in, please change your admin password first.

Installing the Zabbix client on another host

Ok, so to have the Zabbix server get some data from another host you would like to monitor, we're going to install the Zabbix agent on another host. (An ubuntu 16.04 server in this case.)

sudo apt-get install zabbix-agent

Then edit the config file:

sudo nano /etc/zabbix/zabbix_agentd.conf

And configure the value for: Server= and thange the value (probably to the IP address of Zabbix server you just installed. Save the file and restart the agent:

sudo service zabbix-agent restart

Next head over to your Zabbix server, login and navigate to: 'configuration' -> 'hosts'.
Click 'create host' and fill out the hostname and ip address of the server on which you just installed the Zabbix agent.

Next, while editing the server you are adding, click the 'Templates' tab and add the template 'Template OS Linux' template. Making sure you use the 'add' button once it is listed and clicking 'update' once you've added the template. (Note, only searching for it isn't enough, you really need to add the template.)

Make sure your Zabbix server can talk to port 10050 (TCP) to the server it monitors.

Facebook Twitter LinkedIn