Table des matières

, , ,

Install Zabbix sur Debian

apt-get install zabbix-server-mysql zabbix-frontend-php php5-fpm php5-mysqlnd

/etc/php5/fpm/pool.d/zabbix.conf

[zabbix]
user = www-data
group = www-data
 
listen = /var/run/zabbix.socket
listen.owner = www-data
listen.group = www-data
 
pm = dynamic
pm.max_children = 8
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 4
php_value[post_max_size] = 16M
php_value[max_execution_time] = 300
php_value[max_input_time] = 300
php_value[open_basedir] = /var/www/zabbix/:/usr/share/zabbix:/usr/share/fonts/:/tmp:/etc/zabbix
 
php_value[date.timezone] = "UTC"

Note :

/var/log/php5-fpm.log

WARNING: [pool zabbix] server reached pm.max_children setting (4), consider raising it

/etc/nginx/sites-available/zabbix

#server {
#        server_name zabbix.acme.fr;
#        return 301 https://zabbix.lan$request_uri;
#}
 
server {
        #listen 443;
        listen 80;
        server_name zabbix.acme.fr;
        access_log  /var/log/nginx/zabbix.log;
        error_log  /var/log/nginx/zabbix.error;
        #ssl on;
        #ssl_certificate /etc/ssl/certs/zabbix.crt;                                                                            
        #ssl_certificate_key /etc/ssl/private/zabbix.key;
        root /usr/share/zabbix/;
        index index.php index.html;
        client_max_body_size 5m;
        client_body_buffer_size 128k;
 
        #location ~ /setup\.php {
        #        deny all;
        #}
 
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/zabbix.socket;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
 
        location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
                expires max;
                log_not_found off;
        }
 
        location ~ /\.ht {
                 deny all;
        }
 
        location ~ /\. {
                 deny all;
        }
}
CREATE DATABASE zabbix;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"localhost" IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/schema.sql.gz)
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/images.sql.gz)
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/data.sql.gz)

Faire la suite de la config avec le navigateur http://serveurzabbix/setup.php

Télécharger le fichier zabbix.conf.php et placez-le dans /etc/zabbix/

/etc/zabbix/zabbix.conf.php

<?php
// Zabbix GUI configuration file
global $DB;
 
$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'localhost';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
 
// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';
 
$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
 
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

Bloquer l'accès à setup.php.

Identifiant à la 1er connexion :
Utilisateur : Admin
MDP : zabbix

/etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306

/etc/default/zabbix-server

START=yes
service zabbix-server restart

Config Agent

/etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1,10.8.0.1
service zabbix-agent restart

Zabbix Proxy

apt-get install zabbix-proxy-mysql
 
mysql -u zabbix -pzabbix -D zabbix

FIXME Creation DB

mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-proxy-mysql/schema.sql.gz)

FIXME conf DB

/etc/default/zabbix-proxy

START=yes

Count proxy_history

watch -n 1 'echo "SELECT COUNT(*) FROM proxy_history;" | sqlite3 /var/lib/zabbix/zabbix_proxy.db'

Exemple de conf

Sur le serveur Zabbix

/etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
AlertScriptsPath=/etc/zabbix/alert.d/
 
# Nb of Zabbix Proxy
StartProxyPollers=1
 
ProxyConfigFrequency=300
ProxyDataFrequency=120

Sur le Proxy Zabbix (mode passif)

/etc/zabbix/zabbix_proxy.conf

ProxyMode=1
 
# Nom doit être identique dans Zabbix. Pas forcement un nom DNS
Hostname=Proxy Cigne1
 
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
 
# Garde jusqu'à 24h de donnée d'histo si coupure lien avec le serveur
ProxyOfflineBuffer=24

/etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1,10.8.0.2
Include=/etc/zabbix/zabbix_agentd.conf.d/

L'hôte derrière le Proxy Zabbix

/etc/zabbix/zabbix_agentd.conf

Server=10.0.10.4
Hostname=node1-01
Include=/etc/zabbix/zabbix_agentd.conf.d/

Forcer le prise de compte de changement de configuration

Sur le serveur Zabbix

zabbix_server -R config_cache_reload

Sur les proxys Zabbix

zabbix_proxy -R config_cache_reload

Note : Commencer par le serveur Zabbix