Zabbix

Zabbix is een open-source monitoring programma dat draait onder Linux. Afhankelijk van de triggers kan met behulp van een daaropvolgende actie een alert verstuurd worden.

Zabbix monitoring

Installatie LAMP

LAMP is een afkoring van Linux, Apache, MySQL en PHP. Dit is een platform voor een web-server met MySQL database en PHP als scripting taal te kunnen gebruiken voor PHP-applicaties (zoals Zabbix). Het installaeren van LAMP gaat in een aantal stappen en gaat ervan uit dat je ingelogd bent op een CentOS 7 server via ssh.

Installatie Apache http-server

sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd

Ter controle of alles goed is geïnstalleerd, kun je met een browser naar je CentOS server gaan: http://centos-server en dan zou je de volgende tekst moeten zien:

Installatie mySQL (mariadb)

MariaDB is een fork van mySQL en deze installeren we met:

sudo yum install -y mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

Als eerste gaan we mariadb wat veiliger maken en de default-installingen aanpassen. Dit gaat eenvoudig via een script:

sudo mysql_secure_installation

Wijzig hier het root-wachtwoord en accepteer de standaard instellingen.

Installatie PHP

PHP installeren we eenvoudig met yum:

sudo yum install -y php php-mysql

Hierna dient de Apache server opnieuw gestart te worden om de php module te laden:

sudo systemctl restart httpd

Test de LAMP installatie

Om de LAMP server te testen maken we een php-script dat informatie over de server geeft:

sudo vi /var/www/html/phpinfo.php

De inhoud van dit bestand wordt:

<?php phpinfo(); />

Vervolgens gaan we met een browser naar de web-server: http://centos-server/phpinfo.php en zal het volgende scherm (moeten) verschijnen:

Indien je uit veiligheidsoverwegingen deze pagina weer wilt verwijderen:

sudo rm /var/www/html/phpinfo.php

Installatie Zabbix server

De Zabbix installatie bevindt zich niet in de standaard CentOS repositories en daarom voegen we er een aan toe waar het wel in zit. Vervolgens installeren we de Zabbix server met yum en voegen we als laatste ook de Zabbix Agent toe:

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
sudo yum install zabbix-server-mysql zabbix-web-mysql
sudo yum install zabbix-agent

Configuratie van mySQL t.b.v. Zabbix

We maken een database genaamd ‘zabbix’ aan en geven de gebruiker ‘zabbix’ alle rechten hierin. Gebruik uiteraard een ander wachtwoord.

mysql -uroot -p
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'wachtwoord';
flush privileges;
quit;

We gaan nu het Zabbix schema en data importeren:

cd /usr/share/doc/zabbix-server-mysql-3.0.25/
zcat create.sql.gz | mysql -uzabbix -p zabbix

gebruik hier uiteraard het wachtwoord dat is ingesteld voor de zabbix mySQL-gebruiker. Dit wachtwoord moeten we ook nog even in de zabbix-configuratie zelf aanpassen:

sudo vi /etc/zabbix/zabbix_server.conf
DBPassword=wachtwoord

Configuratie van PHP voor Zabbix

Voor Zabbix moeten we een aantal php-parameters aanpassen zodat dit goed gaat werken. De belangrijkste aanpassing hier is de time-zone in de Zabbix configuratie:

sudo vi /etc/httpd/conf.d/zabbix.conf

Het gedeelte voor php dient er dan alsvolgt uit te gaan zien:

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 256M
php_value post_max_size 32M
php_value upload_max_filesize 32M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Amsterdam
</IfModule mod_php5.c>

Hierna (her)starten we de Apache en Zabbix services en zorgen ervoor dat Zabbix na een herstart ook automatisch start:

sudo systemctl restart httpd
sudo systemctl start zabbix-server
sudo systemctl status zabbix-server
sudo systemctl enable zabbix-server

Hierna gaan we Zabbix instellen. Browse naar de server via http://centos-server/zabbix en het volgende scherm wordt getoond:

Selecteer ‘Next step’, vul het Zabbix mySQL wachtwoord in en je kunt de standaard instellingen accepteren. Uiteindelijk zul je Zabbix ge├»nstalleerd hebben: