Zabbix server setup - requirements
Contents
System installation
Requirements
You should already have:
- DNS server
- DHCP server
- Internet access
O.S installation
On dedicated hardware you need to install Ubuntu Server 14.04 LTS using an USB key.
System configuration
Update sources.list and install key packages
Edit your sources.list
apt-get install vim
vim /etc/apt/sources.list
Put the following:
### Custom repositories list
#
# May 2014 - Guillaume Diaz
# This is an ajdustement of the default "debootstrap" sources.list
# This is required to provided update, security and advanced tools to all our clients
#
#########################
# Ubuntu 14.04 LTS [Trusty]
#########################
# Official repositories
deb http://se.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://se.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
# Official updates
deb http://se.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
# Canonical partners
#deb http://archive.canonical.com/ubuntu trusty partner
# Community partners
#deb http://extras.ubuntu.com/ubuntu trusty main
Update your package list:
apt-get update && apt-get upgrade
Linux utilities
Now, you can install the basic programs:
# NFS is a bit low, and if you're using many client it might result in time faults.
# You must install NTP to overcome this !!
apt-get install ntp ntpdate
# Basic set of utilities
apt-get install unzip zip htop python3 sysv-rc-conf mc
# Network tools
apt-get install curl
# Advanced APT manager (require to add repository from command line)
apt-get install software-properties-common python-software-properties
# SSH server
apt-get install openssh-server openssh-client
Adjust bash and vim configuration
Edit your VIM configuration:
vim /etc/vim/vimrc
Enable dark background + set nu + set ruler
Edit your bash configuration files to adjust the alias and enable auto-completion:
vim /etc/bash.bashrc
vim /home/<username>/.bashrc
vim /root/.bashrc
Firewall script
See Firewall to get more details.
SNMP client
See SNMP client
Setup network interfaces
Even though you're using the NetBoot process you still have to register some interfaces! More important, the NetBoot disable the loopback "lo" - so you should better add that one back!
# Adjust "xxxx" by your distribution name
vim /etc/network/interfaces
Add:
auto lo
iface lo inet loopback
# Ethernet default interface
auto eth0
iface eth0 inet dhcp
# Intel NUC ethernet interface is named em1
auto em1
iface em1 inet dhcp
Zabbix server # installation
Source: https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages
Add Zabbix repository
wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+trusty_all.deb
dpkg -i zabbix-release_2.2-1+trusty_all.deb
apt-get update
Install Zabbix server
apt-get install zabbix-server-mysql zabbix-frontend-php
# install Java Gateway too
apt-get install zabbix-java-gateway
During installation you have to set:
- MySQL administrator password
- Allow the automatic DB configuration: reply 'yes to "Configure DB for zabbix-server-mysql with dbconfig-common?"
- Enter your administrator password
- Set the MySQL zabbix password. As this will only be used inside a LAN (in my case) I put zabbix as password
The Zabbix server application will now use the MySQL login: zabbix and the password I set earlier (zabbix).
-NOTE-
Zabbix server also required some specific SNMP libraries:
apt-get install libnet-snmp-perl python-netsnmp
Install zabbix-agent on zabbix-server
It's recommended to monitor your zabbix-server as well with the other servers. Therefore you should install a local zabbix-agent.
See installation notes: Zabbix agent setup
Allow remote connections to MySQL
See MySQL server
Set timezone and PHP settings
Edit the configuration file
vim /etc/apache2/conf.d/zabbix
Find the following lines and edit them as follows. If the lines doesn’t exists, add them.
[...]
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 date.timezone Asia/Kolkata
[...]
Adjust your timezone !! To get the right value see: http://www.php.net//manual/en/timezones.php
Save and close the file.
Set Apache2 V.Host
Last step: you have to copy this configuration to your local Apache2 server [zabbix has installed one for you].
cp /etc/apache2/apache.conf /etc/apache2/conf-available/zabbix.conf
a2enconf zabbix.conf
service apache2 reload
Restart zabbix server
To restart zabbix you have to restart 2 processes:
- BACKEND: Zabbix-server
- FRONTEND: Apache2
service apache2 restart
service zabbix-server restart
Zabbix server # First run
Now you can, at least, run the web-installer.
Go to http://yourserver/zabbix
Installation
Welcome screen:
Installation check:
Database configuration:
During the installation Zabbix already setup a database for us! :)
- Db host: localhost
- Db Port: 3306 (default)
- Db name: zabbix
- Db user: zabbix
- Db password: your password (mine is zabbix)
Zabbix server details
You can, if you want, name your installation. In my case I will not have any proxy or other zabbix server so I didn't used that option.
Confirmation
First login
Default credentials are:
- Username = Admin
- Password = zabbix
Notice the big 'A' for Admin.
Zabbix agents
Now you should configure your zabbix agents to use the current server. See Zabbix agent setup
Zabbix server configuration
Increase history
Follow the excellent Zabbix documentation: https://www.zabbix.com/documentation/2.2/manual/web_interface/frontend_sections/administration/general#housekeeper
Zabbix server configuration files
Main zabbix server configuration file is available in: "/etc/zabbix/zabbix_server.conf"
References
Zabbix official documentation (very good): https://www.zabbix.com/documentation/
Digitial Ocean community - Zabbix tutorial: https://www.digitalocean.com/community/tutorials/389
Tecadmin tutorial:
- step 1 : zabbix-server installation: http://tecadmin.net/install-zabbix-on-ubuntu/
- step 2 : zabbix-agent installation: http://tecadmin.net/install-zabbix-agent-centos-rhel-and-ubuntu/
- step 3 : host configuration on server side: http://tecadmin.net/add-host-zabbix-server-monitor/
Zabbix SNMP configuration:
- Official documentation: https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/snmptrap
- Nice setup tutorial for basic discovery: http://projectdaenney.org/blog/2012/10/14/zabbix-baby-steps-part-1/
- Nice tutorial for advanced stuff: http://www.zabbix.org/wiki/Start_with_SNMP_traps_in_Zabbix