Difference between revisions of "Zabbix server setup - requirements"

(Set timezone and PHP settings)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Linux]]
 
[[Category:Linux]]
  
 +
This page describe the server requirements to install Zabbix monitoring.
  
=System installation=
+
You can skip that part if you already have a running server.
  
==Requirements==
 
  
You should already have:
+
 
 +
=Requirements=
 +
 
 +
 
 +
You '''network''' must contain | provide:
 
* [[DNS server]]
 
* [[DNS server]]
 
* [[DHCP server]]
 
* [[DHCP server]]
Line 12: Line 16:
  
  
==O.S installation==
+
 
 +
The '''server''' must have:
 +
* [[Apache 2]] web server
 +
* [[MySQL server]]
 +
* [[Firewall]] with allowance for INPUT TCP 10051
 +
* [[SNMP client]]
 +
 
 +
 
 +
 
 +
 
 +
=O.S installation=
  
 
On dedicated hardware you need to install '''Ubuntu Server 14.04 LTS''' using an USB key.  
 
On dedicated hardware you need to install '''Ubuntu Server 14.04 LTS''' using an USB key.  
 
  
  
Line 110: Line 123:
 
vim /root/.bashrc
 
vim /root/.bashrc
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
==Firewall script==
 
 
See [[Firewall]] to get more details.
 
 
 
==SNMP client==
 
 
See [[SNMP client]]
 
 
  
  
Line 150: Line 151:
 
iface em1 inet dhcp
 
iface em1 inet dhcp
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
 
 
=Zabbix server # installation=
 
 
 
Source: https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages
 
 
 
 
==Add Zabbix repository==
 
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
 
 
==Install Zabbix server==
 
 
<syntaxhighlight lang="bash">
 
apt-get install zabbix-server-mysql zabbix-frontend-php
 
 
# install Java Gateway too
 
apt-get install zabbix-java-gateway
 
</syntaxhighlight>
 
 
 
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:
 
 
<syntaxhighlight lang="bash">
 
apt-get install libnet-snmp-perl python-netsnmp
 
</syntaxhighlight>
 
 
 
==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
 
 
<syntaxhighlight lang="bash">
 
vim /etc/apache2/conf-available/zabbix
 
</syntaxhighlight>
 
 
 
Find the following lines and edit them as follows. If the lines doesn’t exists, add them.
 
<syntaxhighlight lang="bash">
 
[...]
 
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
 
#php_value date.timezone Europe/Stockholm
 
[...]
 
</syntaxhighlight>
 
 
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].
 
 
<syntaxhighlight lang="bash">
 
cp /etc/apache2/apache.conf /etc/apache2/conf-available/zabbix.conf
 
a2enconf zabbix.conf
 
service apache2 reload
 
</syntaxhighlight>
 
 
 
 
==Restart zabbix server==
 
 
To restart zabbix you have to restart 2 processes:
 
* BACKEND: Zabbix-server
 
* FRONTEND: Apache2
 
 
 
<syntaxhighlight lang="bash">
 
service apache2 restart
 
service zabbix-server restart
 
</syntaxhighlight>
 
 
 
 
=Zabbix server # First run=
 
 
Now you can, at least, run the web-installer.
 
 
see [[Zabbix server configuration]]
 
 
 
 
 
=Zabbix agents=
 
 
Now you should configure your zabbix agents to use the current server. See [[Zabbix agent setup]]
 
 
 
 
 
 
 
=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
 

Latest revision as of 16:17, 27 October 2014


This page describe the server requirements to install Zabbix monitoring.

You can skip that part if you already have a running server.


Requirements

You network must contain | provide:


The server must have:



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


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