Zabbix Proxy Installation : Différence entre versions

De SLM - MediaWiki
 
(10 révisions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :
 
Vous pouvez utiliser un proxy pour surveiller les emplacements distants derrière le pare-feu ou les emplacements dont la communication n'est pas fiable et pour décharger le serveur Zabbix dans les grands environnements.
 
Vous pouvez utiliser un proxy pour surveiller les emplacements distants derrière le pare-feu ou les emplacements dont la communication n'est pas fiable et pour décharger le serveur Zabbix dans les grands environnements.
  
 +
Dans notre exemple nous allons installer zabbix_proxy sur un serveur VOIP VitalPBX sous centos 7
 
[[Fichier:Example of zabbix proxy architecture.png]]
 
[[Fichier:Example of zabbix proxy architecture.png]]
  
== Zabbix proxy sur VitalPBX - CentOS 7 ==
+
= Zabbix proxy =
La version de proxy Zabbix doit correspondre à la version du serveur.
+
Il est preferable que la version de proxy Zabbix corresponde à la version du serveur.
 
Vous pouvez vérifier la version du serveur Zabbix avec la commande:
 
Vous pouvez vérifier la version du serveur Zabbix avec la commande:
 
  zabbix_server -V
 
  zabbix_server -V
 
  zabbix_server (Zabbix) 6.0.0alpha4
 
  zabbix_server (Zabbix) 6.0.0alpha4
  
Connectez vous sur votre serveur VitalPBX
+
ça sera pas le cas dans cet article ou nous aurons notre serveur en 6.0 et le proxy en 5.4
 +
 
 +
Connectez vous sur votre serveur VitalPBX  
 +
 
 +
Voici les versions sde notre serveur VOIP en date de cet article
 
  Version        : 3.1.2-1
 
  Version        : 3.1.2-1
 
  Asterisk      : Asterisk 18.6.0
 
  Asterisk      : Asterisk 18.6.0
 
  Linux Version  : CentOS Linux release 7.9.2009 (Core)
 
  Linux Version  : CentOS Linux release 7.9.2009 (Core)
 +
==Centos==
 +
===Installation du dépôt===
  
===Installation du dépôt===
 
 
Rendez vous sur le site ci-dessous afin de récupérer le lien de la version relative à votre serveur.
 
Rendez vous sur le site ci-dessous afin de récupérer le lien de la version relative à votre serveur.
 
https://repo.zabbix.com/zabbix/
 
https://repo.zabbix.com/zabbix/
Ligne 25 : Ligne 31 :
 
  yum upgrade
 
  yum upgrade
  
Récupérer le paquet permettant la configuration du dépôt
+
Récupérer le paquet permettant la configuration du dépôt en fonction de votre version MariaDB
 +
 
 +
Zabbix_Proxy V6.0 nécessite une Version de MariaDB de 10.5 ou supérieur.
 +
 
 +
Notre probleme est que la version installé par vital PBX au jour de cet article est 10.4.7.
 +
 
 +
Une mise à jour de celle ci n'est pas si simple à cause de la suppression des dépendances occasionné.
 +
 
 +
Verifier votre vesion Mariadb
 +
mysql -uroot -e "SHOW GLOBAL VARIABLES LIKE 'version';"
 +
 
 +
MatriaDB < 10.5 (Zabbix_proxy V 5.4.7-1)
 +
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-5.4-1.el$(rpm -E %{rhel}).noarch.rpm
 +
 
 +
MatriaDB >= 10.5 (Zabbix_proxy V 6.0.0)
 
  rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-5.5-1.el$(rpm -E %{rhel}).noarch.rpm
 
  rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-5.5-1.el$(rpm -E %{rhel}).noarch.rpm
  
Ligne 34 : Ligne 54 :
 
Lancer la commande d'installation  
 
Lancer la commande d'installation  
 
  yum install zabbix-proxy-mysql zabbix-sql-scripts
 
  yum install zabbix-proxy-mysql zabbix-sql-scripts
 
#Version Installé :
 
# zabbix-proxy-mysql.x86_64 0:6.0.0-0.5alpha5.el7
 
# zabbix-sql-scripts.noarch 0:6.0.0-0.5alpha5.el7
 
  
 
=== Base de données ===
 
=== Base de données ===
 
Dans cette installation, j'utiliserai le mot de passe '''zabbixDBpass''' comme mot de passe de la base de données Zabbix. Pensez à changer votre mot de passe pour des raisons de sécurité.
 
Dans cette installation, j'utiliserai le mot de passe '''zabbixDBpass''' comme mot de passe de la base de données Zabbix. Pensez à changer votre mot de passe pour des raisons de sécurité.
 
==== Prérequis ====
 
Zabbix proxy V6 nécessite Mariadb 10.5 minimum.
 
 
Pour connaitre la version de votre maria db
 
  mysql -uroot -e "SHOW GLOBAL VARIABLES LIKE 'version';"
 
 
Au moment ou j'écris cet article, la version de maria db est:
 
  version      | 10.4.13-MariaDB
 
Un mise à jours est donc indispensable
 
 
==== Mise à jour MariaDB ====
 
Arrêtez le processus serveur à l'aide de la commande systemctl :
 
systemctl stop mariadb
 
 
Désinstallez tous les packages MariaDB Community Server. Notez qu'un caractère générique est utilisé pour garantir que tous les packages MariaDB Community Server sont désinstallés :
 
yum remove "MariaDB-*"
 
 
Désinstallez également le package Galera.
 
yum remove galera-4
 
yum remove galera
 
 
Avant de continuer, vérifiez que tous les packages MariaDB Community Server sont désinstallés. La commande suivante ne doit renvoyer aucun résultat :
 
rpm --query --all | grep -i -E "mariadb|galera"
 
 
Installez la nouvelle version
 
 
Pour configurer les référentiels de packages YUM :
 
wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
 
echo "fc84b8954141ed3c59ac7a1adfc8051c93171bae7ba34d7f9aeecd3b148f1527 mariadb_repo_setup" \
 
    | sha256sum -c -
 
chmod +x mariadb_repo_setup
 
sudo ./mariadb_repo_setup \
 
  --mariadb-server-version="mariadb-10.5"
 
 
Installez MariaDB Community Server et les dépendances du package :
 
yum install MariaDB-server MariaDB-backup
 
 
Démarrage du serveur
 
systemctl start mariadb
 
systemctl enable mariadb
 
 
Mise à niveau du répertoire de données
 
mariadb-upgrade
 
 
Vérifier à nouveau la version de votre maria db
 
  mysql -uroot -e "SHOW GLOBAL VARIABLES LIKE 'version';"
 
  
 
==== Connexion ====
 
==== Connexion ====
Ligne 102 : Ligne 71 :
  
 
=== Configuration du chiffrement PSK sur le proxy Zabbix ===
 
=== Configuration du chiffrement PSK sur le proxy Zabbix ===
Bien que Zabbix supporte le cryptage par certificat, la mise en place d'une autorité de certification dépasse le cadre de ce tutoriel. Mais vous pouvez utiliser des clés pré-partagées (PSK) pour sécuriser la connexion entre le serveur et l'agent.
+
Bien que Zabbix supporte le chiffrement par certificat, la mise en place d'une autorité de certification dépasse le cadre de ce tutoriel. Mais vous pouvez utiliser des clés pré-partagées (PSK) pour sécuriser la connexion entre le serveur et l'agent.
  
 
générez une PSK
 
générez une PSK
Ligne 116 : Ligne 85 :
  
 
=== Configuration du proxy Zabbix ===
 
=== Configuration du proxy Zabbix ===
Dans ma configuration, je nommerai le proxy Zabbix "voip.slemoal.fr" et le configurerai pour communiquer avec le Zabbix qui a l'adresse zabbix.slemoal.fr - veuillez les modifier en conséquence pour qu'ils correspondent à votre environnement.
+
Dans ma configuration, je nommerai le proxy Zabbix  
 +
*voip.slemoal.fr  
 +
et le configurerai pour communiquer avec le serveur Zabbix qui a l'adresse:
 +
*zabbix.slemoal.fr
 +
 
 +
veuillez les modifier en conséquence pour qu'ils correspondent à votre environnement.
 +
 
 +
Modifier le fichier zabbix_proxy.conf avec la commande :
 +
nano /etc/zabbix/zabbix_proxy.conf
  
Ouvrez le fichier zabbix_proxy.conf avec la commande : "nano /etc/zabbix/zabbix_proxy.conf" et ajoutez le mot de passe de la base de données et la fréquence de configuration dans ce format n'importe où dans le fichier :
 
 
  Server=zabbix.slemoal.fr  
 
  Server=zabbix.slemoal.fr  
 
  Hostname=voip.slemoal.fr  
 
  Hostname=voip.slemoal.fr  
Ligne 132 : Ligne 108 :
 
Le paramètre "ConfigFrequency" définit la fréquence à laquelle le proxy récupère les données de configuration du serveur Zabbix en quelques secondes. Vous pouvez en savoir plus sur les paramètres de configuration du proxy dans la [https://www.zabbix.com/documentation/4.0/manual/appendix/config/zabbix_proxy documentation officielle] .
 
Le paramètre "ConfigFrequency" définit la fréquence à laquelle le proxy récupère les données de configuration du serveur Zabbix en quelques secondes. Vous pouvez en savoir plus sur les paramètres de configuration du proxy dans la [https://www.zabbix.com/documentation/4.0/manual/appendix/config/zabbix_proxy documentation officielle] .
  
==== Démarrer et activer le service proxy Zabbix ====
+
=== Démarrer et activer le service proxy Zabbix ===
 
Redémarrez le service proxy et configurez-le pour qu'il se lance au démarrage :
 
Redémarrez le service proxy et configurez-le pour qu'il se lance au démarrage :
 
  systemctl restart zabbix-proxy
 
  systemctl restart zabbix-proxy
Ligne 140 : Ligne 116 :
 
  systemctl status zabbix-proxy
 
  systemctl status zabbix-proxy
 
En cas de soucis, les logs se situe dans /var/log/zabbix/zabbix-proxy.log
 
En cas de soucis, les logs se situe dans /var/log/zabbix/zabbix-proxy.log
 +
 +
==Opnsense==
 +
===Installation de zabbix-proxy===
 +
Systeme -> Firmware -> Plugins: os-zabbix54-proxy - Installer
 +
 +
=== Configuration du chiffrement PSK sur le proxy Zabbix ===
 +
 +
=== Configuration du proxy Zabbix ===
 +
Services -> Mandataire Zabbix -> Paramètres
 +
 +
* Mode Avancer: Activer
 +
* Activer: Cocher
 +
* Mode mandataire: Cocher
 +
* Serveur: <ip/dns-du-serveur-zabbix> ex: zabbix.slemoal.fr
 +
* Port du serveur: 10051
 +
* Nom d'hôte : <nom-de-machine> # Exemple: opnsense.slemoal.fr
 +
* Port d'écoute: 10051
 +
* Config Frequency: 300
 +
* PSK based encryption: Cocher
 +
* PSK Identity: <identite-psk> #exemple Proxy-slemoal.fr
 +
* PSK: <Clé RSA> Renseigner une clé Hexa de 64 caractères voir site ci dessous
 +
https://numbergenerator.org/random-64-digit-hex-codes-generator
 +
 +
Le paramètre "ConfigFrequency" définit la fréquence à laquelle le proxy récupère les données de configuration du serveur Zabbix en quelques secondes. Vous pouvez en savoir plus sur les paramètres de configuration du proxy dans la [https://www.zabbix.com/documentation/4.0/manual/appendix/config/zabbix_proxy documentation officielle] .
 +
 +
== Firewall VitalPBX ==
 +
Se rendre sur l'interface Web Tiscom voice
 +
Admin -> Pare feu -> Service : Add Service
 +
 +
* Nom: Agent Zabbix
 +
* Port: 10050-10051
 +
* Protocole: TCP
 +
Save
 +
 +
Admin -> Pare feu -> Règle : Add Rule
 +
* Service: Agent Zabbix
 +
* Source:
 +
* Destination:
 +
* Action: Accepter
 +
Save
 +
 +
Admin -> Pare feu -> Règle : Add Rule
 +
* Service: Asterisk HTTP Daemon
 +
* Source:
 +
* Destination:
 +
* Action: Accepter
 +
Save
 +
 +
Appliquer (Fleche rouge en haut à droite)
  
 
==Zabbix==
 
==Zabbix==
Ligne 145 : Ligne 170 :
 
  https://zabbix.slemoal.fr
 
  https://zabbix.slemoal.fr
  
Création du proxy
+
Ajouter le nouveau proxy au serveur Zabbix
 +
Administration -> Proxys : Créer un proxy
 +
 
 +
=== Onglet Hote ===
 +
* Nom de l'hote: voip.slemoal.fr
 +
* Mode proxy: Actif
 +
* Adresse du proxy: Vide
 +
* Description: facultatif
 +
 
 +
 
 +
=== Onglet Chiffrement ===
 +
* Connexion du proxy: PSK
 +
* identité PSK: ZBX-PSK-01
 +
* PSK: 75ad6cb5e17d244ac8c00c96a1b074d0550b8e7b15d0ab3cde60cd79af280fca
 +
 
 +
Enfin, cliquez sur le bouton "Ajouter" au bas du formulaire pour créer l'hôte.
 +
 
 +
Immédiatement après avoir ajouté un proxy au frontend, vous serez informé que le proxy n'a jamais été vu.
 +
 
 +
Cependant, si vous attendez 100 secondes, le statut « Dernière vue (âge) » affichera des secondes à la place « Jamais », ce qui signifie que le proxy communique avec le serveur.

Version actuelle datée du 29 décembre 2021 à 13:07

Description

Le proxy Zabbix est un service qui peut collecter des données de performances et de disponibilité à partir des terminaux pour le compte du serveur Zabbix .

Vous pouvez utiliser un proxy pour surveiller les emplacements distants derrière le pare-feu ou les emplacements dont la communication n'est pas fiable et pour décharger le serveur Zabbix dans les grands environnements.

Dans notre exemple nous allons installer zabbix_proxy sur un serveur VOIP VitalPBX sous centos 7 Example of zabbix proxy architecture.png

Zabbix proxy

Il est preferable que la version de proxy Zabbix corresponde à la version du serveur. Vous pouvez vérifier la version du serveur Zabbix avec la commande:

zabbix_server -V
zabbix_server (Zabbix) 6.0.0alpha4

ça sera pas le cas dans cet article ou nous aurons notre serveur en 6.0 et le proxy en 5.4

Connectez vous sur votre serveur VitalPBX

Voici les versions sde notre serveur VOIP en date de cet article

Version        : 3.1.2-1
Asterisk       : Asterisk 18.6.0
Linux Version  : CentOS Linux release 7.9.2009 (Core)

Centos

Installation du dépôt

Rendez vous sur le site ci-dessous afin de récupérer le lien de la version relative à votre serveur. https://repo.zabbix.com/zabbix/

On commence par mettre à jour le système

yum update
yum upgrade

Récupérer le paquet permettant la configuration du dépôt en fonction de votre version MariaDB

Zabbix_Proxy V6.0 nécessite une Version de MariaDB de 10.5 ou supérieur.

Notre probleme est que la version installé par vital PBX au jour de cet article est 10.4.7.

Une mise à jour de celle ci n'est pas si simple à cause de la suppression des dépendances occasionné.

Verifier votre vesion Mariadb

mysql -uroot -e "SHOW GLOBAL VARIABLES LIKE 'version';"

MatriaDB < 10.5 (Zabbix_proxy V 5.4.7-1)

rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-5.4-1.el$(rpm -E %{rhel}).noarch.rpm

MatriaDB >= 10.5 (Zabbix_proxy V 6.0.0)

rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-5.5-1.el$(rpm -E %{rhel}).noarch.rpm

Vider le cache yum

yum clean all

Installation de zabbix-proxy

Lancer la commande d'installation

yum install zabbix-proxy-mysql zabbix-sql-scripts

Base de données

Dans cette installation, j'utiliserai le mot de passe zabbixDBpass comme mot de passe de la base de données Zabbix. Pensez à changer votre mot de passe pour des raisons de sécurité.

Connexion

mysql -uroot -p'rootDBpass'

Créer une base de données

create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbixDBpass';
exit

Importer le schéma de base de données initial

Importer un schéma de base de données pour le serveur proxy (peut durer jusqu'à 5 minutes) :

zcat /usr/share/doc/zabbix-sql-scripts/mysql/schema.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix_proxy

Configuration du chiffrement PSK sur le proxy Zabbix

Bien que Zabbix supporte le chiffrement par certificat, la mise en place d'une autorité de certification dépasse le cadre de ce tutoriel. Mais vous pouvez utiliser des clés pré-partagées (PSK) pour sécuriser la connexion entre le serveur et l'agent.

générez une PSK

sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_proxy.psk"
chmod 644 /etc/zabbix/zabbix_proxy.psk

Montrez la clé en utilisant cat pour que vous puissiez la copier quelque part :

cat /etc/zabbix/zabbix_proxy.psk

La clé ressemblera à quelque chose comme ça :

75ad6cb5e17d244ac8c00c96a1b074d0550b8e7b15d0ab3cde60cd79af280fca

Gardez-la pour plus tard ; vous en aurez besoin pour configurer l'hôte.

Configuration du proxy Zabbix

Dans ma configuration, je nommerai le proxy Zabbix

  • voip.slemoal.fr

et le configurerai pour communiquer avec le serveur Zabbix qui a l'adresse:

  • zabbix.slemoal.fr

veuillez les modifier en conséquence pour qu'ils correspondent à votre environnement.

Modifier le fichier zabbix_proxy.conf avec la commande :

nano /etc/zabbix/zabbix_proxy.conf
Server=zabbix.slemoal.fr 
Hostname=voip.slemoal.fr 
DBName=zabbix_proxy 
DBUser=zabbix
DBPassword=zabbixDBpass
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=ZBX-PSK-01
TLSPSKFile=/etc/zabbix/zabbix_proxy.psk
ConfigFrequency=100

Le paramètre "ConfigFrequency" définit la fréquence à laquelle le proxy récupère les données de configuration du serveur Zabbix en quelques secondes. Vous pouvez en savoir plus sur les paramètres de configuration du proxy dans la documentation officielle .

Démarrer et activer le service proxy Zabbix

Redémarrez le service proxy et configurez-le pour qu'il se lance au démarrage :

systemctl restart zabbix-proxy
systemctl enable zabbix-proxy

Vérifier l'etat

systemctl status zabbix-proxy

En cas de soucis, les logs se situe dans /var/log/zabbix/zabbix-proxy.log

Opnsense

Installation de zabbix-proxy

Systeme -> Firmware -> Plugins: os-zabbix54-proxy - Installer

Configuration du chiffrement PSK sur le proxy Zabbix

Configuration du proxy Zabbix

Services -> Mandataire Zabbix -> Paramètres

  • Mode Avancer: Activer
  • Activer: Cocher
  • Mode mandataire: Cocher
  • Serveur: <ip/dns-du-serveur-zabbix> ex: zabbix.slemoal.fr
  • Port du serveur: 10051
  • Nom d'hôte : <nom-de-machine> # Exemple: opnsense.slemoal.fr
  • Port d'écoute: 10051
  • Config Frequency: 300
  • PSK based encryption: Cocher
  • PSK Identity: <identite-psk> #exemple Proxy-slemoal.fr
  • PSK: <Clé RSA> Renseigner une clé Hexa de 64 caractères voir site ci dessous

https://numbergenerator.org/random-64-digit-hex-codes-generator

Le paramètre "ConfigFrequency" définit la fréquence à laquelle le proxy récupère les données de configuration du serveur Zabbix en quelques secondes. Vous pouvez en savoir plus sur les paramètres de configuration du proxy dans la documentation officielle .

Firewall VitalPBX

Se rendre sur l'interface Web Tiscom voice

Admin -> Pare feu -> Service : Add Service
  • Nom: Agent Zabbix
  • Port: 10050-10051
  • Protocole: TCP

Save

Admin -> Pare feu -> Règle : Add Rule
  • Service: Agent Zabbix
  • Source:
  • Destination:
  • Action: Accepter

Save

Admin -> Pare feu -> Règle : Add Rule
  • Service: Asterisk HTTP Daemon
  • Source:
  • Destination:
  • Action: Accepter

Save

Appliquer (Fleche rouge en haut à droite)

Zabbix

Connectez vous en page web au serveur zabbix

https://zabbix.slemoal.fr

Ajouter le nouveau proxy au serveur Zabbix

Administration -> Proxys : Créer un proxy

Onglet Hote

  • Nom de l'hote: voip.slemoal.fr
  • Mode proxy: Actif
  • Adresse du proxy: Vide
  • Description: facultatif


Onglet Chiffrement

  • Connexion du proxy: PSK
  • identité PSK: ZBX-PSK-01
  • PSK: 75ad6cb5e17d244ac8c00c96a1b074d0550b8e7b15d0ab3cde60cd79af280fca

Enfin, cliquez sur le bouton "Ajouter" au bas du formulaire pour créer l'hôte.

Immédiatement après avoir ajouté un proxy au frontend, vous serez informé que le proxy n'a jamais été vu.

Cependant, si vous attendez 100 secondes, le statut « Dernière vue (âge) » affichera des secondes à la place « Jamais », ce qui signifie que le proxy communique avec le serveur.