Difference between revisions of "Zabbix server setup - requirements"

Line 454: Line 454:
  
  
==View Graph in Zabbix==
+
=View Graph in Zabbix=
  
 
Graphs are always attracted the new users, Below screenshot will help you to how to view graphs in zabbix. If you have just added the host, you need to wait for few time, so that zabbix can collect some data from remote host to show on graph.
 
Graphs are always attracted the new users, Below screenshot will help you to how to view graphs in zabbix. If you have just added the host, you need to wait for few time, so that zabbix can collect some data from remote host to show on graph.
Line 461: Line 461:
  
 
Thank You for using this article, if this tutorial helps please do forgot to share it with your friends
 
Thank You for using this article, if this tutorial helps please do forgot to share it with your friends
 +
 +
 +
 +
 +
=Increase history=
 +
 +
Follow the excellent Zabbix documentation: https://www.zabbix.com/documentation/2.2/manual/web_interface/frontend_sections/administration/general#housekeeper
 +
 +
 +
 +
 +
 +
 +
 +
=Custom templates=
 +
 +
Go to Configuration > Templates
 +
 +
Search for the template you want to work with and click on "Items" or "triggers" to adjust the monitoring options.
 +
 +
[[File:zabbix-template-conf-01.png|none|Zabbix template configuration - 01]]
 +
 +
 +
 +
==Template OS Linux==
 +
 +
Search for "Template OS Linux" on the templates list and click on "items".
 +
 +
 +
===Items settings===
 +
 +
Disable the following filters (by clicking on "enabled" option - on the right):
 +
* Checksum of /etc/password
 +
* Free swap size
 +
* Free swap size in %
 +
* Host local time
 +
* Total swap size
 +
 +
 +
- - - -Notes- - - -
 +
 +
NetBoot specifics:
 +
* All NetBoot clients share the same /etc/password. So modifications can occurred
 +
* There is NO swap in NetBoot clients.
 +
* No need of local time since they all use NTP
 +
 +
 +
===Triggers===
 +
 +
Disable the following triggers:
 +
* /etc/passwd has been changed
 +
* Lack of free swap space
 +
 +
 +
===Graphs===
 +
 +
You can create a new graph to display both the memory usage + process of the server:
 +
 +
[[File:zabbix-template-graph-01.png|none|Zabbix template graph - 01]]
 +
 +
  
  
Line 471: Line 532:
  
 
Main zabbix server configuration file is available in: "/etc/zabbix/zabbix_server.conf"
 
Main zabbix server configuration file is available in: "/etc/zabbix/zabbix_server.conf"
 +
 +
 +
  
  

Revision as of 10:24, 13 June 2014


System installation

Requirements

You should already 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


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 # Web installer

Now you can, at least, run the web-installer.


Go to http://yourserver/zabbix


Installation

Welcome screen:

Zabbix server installation 01


Installation check:

Zabbix server installation 02


Database configuration:

Zabbix server installation 03

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

Zabbix server installation 04

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

Zabbix server installation 06

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

Login to your zabbix server: http://myServer/zabbix


Add host

You have to had a host (= machine with a zabbix agent) on the server side in order to monitor it.


1. Go to the Configuration > "Add host" menu

Zabbix add host - step 01
  • Click on Configuration Menu
  • Click on Hosts submenu
  • Click on Create Host button at right side


2. Now fill the following details of remote host

Zabbix add host - step 02
  • Hostname: Hostname of Remote system
  • Visible name: Name to be display in zabbix
  • Group: Select the desired group for you host
    • You should use Linux at least
    • You can create your own groups and classification as well
  • Agent interface: Fill the info of Zabbix agent running on host
    • Select the DNS option instead of IP. So if we move the client for any reason that will NOT impact the monitoring. :)
  • Status: Select initial status


IMPORTANT !! The name of the hostname must match the real hostname - as return by the `hostname` command !!


3. Set some monitoring templates to apply

Click on the "Templates" tab

Zabbix add host - step 03

To get the list of templates, just type template in the search area. Select, at least:

  • Template OS Linux
  • (if your client is NOT a Linux) Template Zabbix agent

Don't forget to click the "ADD" button!


The Linux OS includes the Zabbix agent template. :)


4. Automatic host inventory

Click on the "host inventory" tab

Enable the Automatic option. Click "save" at the bottom of the page.



Setup host discovery

Discovery settings

Go to menu Configuration > Discovery, then click on "Local Network". Fill the form:

  • Set the correct LAN settings
  • Adjust the time from 3600 to 900 (check every 15 minutes)
  • Enable the following Checks:
    • ICMP ping
    • zabbix agent
    • SSH
    • SNMP with the following params:
      • version: SNMPv2
      • port range: 161 (default)
      • community: vehco
      • SNMP OID: SNMPv2-MIB::sysName.0
  • Use a search by IP @ filter
  • Enable discovery

Create actions

Go to menu Configuration > Actions


1. Select the actions' group Discovery:


2. Edit the Auto discovery. Linux server action:

  • Enable the action


On the "configuration" tab...

Add a "Host IP" filter with your correct LAN as a 4th filter


View Graph in Zabbix

Graphs are always attracted the new users, Below screenshot will help you to how to view graphs in zabbix. If you have just added the host, you need to wait for few time, so that zabbix can collect some data from remote host to show on graph.

graph-network

Thank You for using this article, if this tutorial helps please do forgot to share it with your friends



Increase history

Follow the excellent Zabbix documentation: https://www.zabbix.com/documentation/2.2/manual/web_interface/frontend_sections/administration/general#housekeeper




Custom templates

Go to Configuration > Templates

Search for the template you want to work with and click on "Items" or "triggers" to adjust the monitoring options.


Template OS Linux

Search for "Template OS Linux" on the templates list and click on "items".


Items settings

Disable the following filters (by clicking on "enabled" option - on the right):

  • Checksum of /etc/password
  • Free swap size
  • Free swap size in %
  • Host local time
  • Total swap size


- - - -Notes- - - -

NetBoot specifics:

  • All NetBoot clients share the same /etc/password. So modifications can occurred
  • There is NO swap in NetBoot clients.
  • No need of local time since they all use NTP


Triggers

Disable the following triggers:

  • /etc/passwd has been changed
  • Lack of free swap space


Graphs

You can create a new graph to display both the memory usage + process of the server:





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:


Zabbix SNMP configuration: