Outils pour utilisateurs

Outils du site


monitoring

Monitoring & Métrologie

Installation zabbix

Nécessite pas grand chose pour l'instant. nombre de machine total a superviser < 100

  • hostname : zabbix
  • DNS : zabbix.faimaison.net
  • CPU : 1vCPU
  • RAM : 1G
  • DD : 30GB

Nous partons d'une base debian buster (10) et nous utilisons les paquets officiel de zabbix en utilisant le repository de l'éditeur.

installation du répository zabbix et des paquets

# wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-2+buster_all.deb
# dpkg -i zabbix-release_4.4-2+buster_all.deb
# apt update
# apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-apache-conf

postgresql est installé par dépendance, mais pas php-pgsql qui sera nécessaire pour le front.

creation BDD et schema zabbix

# su - postgres
$ pg_createcluster 11 zabbix
$ createuser --pwprompt zabbix
$ createdb -O zabbix zabbix
$ exit
# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u postgres psql -U zabbix -h localhost

configuration postgresql

utilisation de pgtune pour fine tuné postgresql, à mettre à la fin de /etc/postgresql/11/zabbix/postgresql.conf :

# DB Version: 11
# OS Type: linux
# DB Type: oltp
# Total Memory (RAM): 1 GB
# CPUs num: 1
# Data Storage: hdd
 
max_connections = 300
shared_buffers = 256MB
effective_cache_size = 768MB
maintenance_work_mem = 64MB
checkpoint_completion_target = 0.9
wal_buffers = 7864kB
default_statistics_target = 100
random_page_cost = 4
effective_io_concurrency = 2
work_mem = 436kB
min_wal_size = 2GB
max_wal_size = 4GB

S'assurer que les variable suivante ont les valeur dans /etc/zabbix/zabbix_server.conf.

DBHost=
DBName=zabbix
DBUser=zabbix
DBPassword=<password>

DBHost est vide pour utiliser les socket UNIX.

Conf frontweb et redémarrage

Dans /etc/apache2/conf-enabled/zabbix.conf, s'assurer que la timezone est positionné à Europe/Paris

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 max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Paris

certbot, paquets zabbix utilise apache2 donc : 

# apt install certbot
# apt install python-certbot-apache
# certbot --apache -d zabbix.faimaison.net

Redémarrer l'ensemble et activer le démarrage par défaut

# systemctl restart zabbix-server apache2 zabbix-agent
# systemctl enable zabbix-server apache2 zabbix-agent

Setup

Se connecter sur zabbix.faimaison.net/zabbix/setup.php compléter l'installation.

Monitoring server

FIXME

installation agent

Il n'y a pas de nécessité à garder une version identique des agents avec le serveur. Ainsi, nous pouvons utiliser le paquet par défaut sur debian. Toutefois, attention a ne pas avoir un écart trop grand car on perd des fonctionnalités

# apt install zabbix-agent

Configuration agent

Rendre agent actif

un agent actif, est un agent qui récupère tout seul sa configuration sur le serveur et pousse de lui-même les informations au serveur sans attendre d'instructions. Pour se faire, s'assurer que la valeur ServerActif comporte l'IP du serveur zabbix. Fichier de configuration est dans /etc/zabbix/zabbix_agentd.conf :

ServerActif=89.234.176.134

chiffrement

Nécessite d'avoir un agent récent : v3.0 ou plus

2 méthodes sont possible : certificats ou PKS. Pour raison de simplicité nous utiliserons pks

génération PKS

nous utilisons içi gnuTLS

 $ psktool -u psk_identity -p zabbix.psk -s 32
  Generating a random key for user 'psk_identity'
  Key stored to zabbix.psk
  
  $ cat zabbix.psk 
  psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb

retirer la partie “psk_identity:” qui ne peut pas être lu par zabbix. Puis copier ce fichier sur les serveurs monitoré

paramètre agent zabbix

s'assurer que le fichier /etc/zabbix/zabbix.psk appartient à l'utilisateur zabbix

$ chown zabbix: /etc/zabbix/zabbix.psk

ajouter les paramètre suivant dans le fichier zabbix_agentd.conf

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001
configuration serveur

au niveau de la configuration de l'hote, il faut allez dans la section encryption et préciser l'identité PSK et la PSK elle-même

Découverte automatique

ajouter une entrée dans /etc/zabbix/zabbix_agentd.conf

HostMetadata=Linux
HostMetadataItem=system.uname

nécessite d'ajouten une action sur le serveur, s'assurer de matcher sur hostmetadata linux, créer action pour créer host et ajouter le template

Droits d'accès

L'accès au machines se controle par les groupes d'utilisateurs

Afin de trouver un équilibre entre ce qui est disponible à certaine population ou non, nous allons avoir besoin d'utiliser les tag

Type de groupe d'utilisateurs

administrateurs zabbix

Cette population a le droit de tous sur l'infra de monitoring. C'est également ce group qui s'occupe de l'évolution du service.

Les administrateurs

Cette popuplation a le droit de voir toutes les machines, intervenir pour réaliser un acknowledge sur les problèmes. Elle s'occupe de maintenir opérationnel l'infra de Faimaison

gérant de réseau de quartiers

Cette population ne doit voir que les machines accessibles sur le quartier où celle-ci se situe

Tags

Pour réussir à segmenter les accès aux différentes machines nous devons recourir aux tags. nous pouvons mettre les clés que nous voulons avec les valeurs que nous souhaitons. Par la suite, il suffit de dire qu'un groupe d'utilisateurs a le droit de voir uniquement les machines et services qui ont le tag à une certaine valeur.

Tags suggéré :

tags type de valeur exemple
quartier nom d'un quartier bottière
monitoring.txt · Dernière modification : 2019/11/28 08:47 de gde