====== ZABBIX ====== ZABBIX est un logiciel libre permettant de **surveiller l'état de divers services réseau**, serveurs et autres matériels réseau et produisant des graphiques dynamiques de consommation des ressources. C'est un logiciel open source créé par Alexei Vladishev. ---- ===== Installer Zabbix sur Windows ===== 1. Placer le dossier Zabbix à la racine C:/ \\ (déjà paramétré pour LOBSTER, sauf le HOSTNAME à modifier selon le nom de la machine)\\ \\ 2. Ouvrir CMD en tant qu'**Administrateur** :!: \\ -> Installer Zabbix Agent :\\ C:\zabbix\zabbix_agentd.exe --config C:\zabbix\zabbix_agentd.conf --install -> Démarrer le service :\\ C:\zabbix\zabbix_agentd.exe --start -> Démarrer une première fois **OHMReport** et installer si besoin les programmes nécessaires :\\ C:\zabbix-agent\ohm\OpenHardwareMonitorReport.exe 3. Vérifier que le service Zabbix-agent est bien en route \\ -> ''services.msc''\\ \\ 4. Vérifier que Zabbix n'est pas bloqué par le FireWall\\ (Win7) Panneau de Config. -> Pare-feu Windows\\ (Win 10) Panneau de Config. -> Systeme & Securité -> Windows Firewall\\ Auquel cas... **DESACTIVER LE PARE-FEU !**\\ \\ Et c'est tout...\\ ---- ===== Installer Zabbix sur Mac ===== ==== Installer iStats ==== Mettre à jour Ruby : brew install ruby #Si profil zsh : echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc #Si profil sh : echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.sh Installer iStats et faire un scan de la machine : sudo gem install iStats ==== Installer Zabbix Agent 5.4 ==== Connecter en SMB NASCATALOGUE (Installers) : mkdir /tmp/Installers mount -t smbfs //nasmulti@nasmulti/INSTALLERS /tmp/Installers/ Installer **Zabbix** : sudo installer -pkg /tmp/Installers/Zabbix/Mac/5.4/zabbix_agent-5.4.3-macos-amd64-gnutls.pkg -target / Entrer le nom de la machine dans une variable : host=NOMDELAMACHINE Pour changer Hostname, entrer la commande ci-dessous : sudo perl -i -pe 's/.*/Hostname='$host' / if $.==165' "/usr/local/etc/zabbix/zabbix_agentd.conf" Si la machine est à LOBSTER : sudo perl -i -pe 's/.*/Server=192.168.12.26,127.0.0.1 / if $.==113' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo perl -i -pe 's/.*/ServerActive=192.168.12.26,127.0.0.1 / if $.==154' "/usr/local/etc/zabbix/zabbix_agentd.conf" Si la machine est à FPA : sudo perl -i -pe 's/.*/Server=10.0.100.41,192.168.12.26,127.0.0.1 / if $.==113' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo perl -i -pe 's/.*/ServerActive=10.0.100.41,192.168.12.26,127.0.0.1 / if $.==154' "/usr/local/etc/zabbix/zabbix_agentd.conf" //Supprimer// les anciens fichiers de configurations : sudo rm -rfv /usr/local/etc/zabbix/zabbix_agentd.conf.NEW Configuration pour istats : sudo perl -i -pe 's/.*/LogRemoteCommands=1 / if $.==98' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo bash -c 'echo "UserParameter=istats.temp.discovery,/usr/local/bin/istats scan zabbix UserParameter=istats.cpu,/usr/local/bin/istats cpu temp --value-only UserParameter=istats.fan.speed,/usr/local/bin/istats fan speed --value-only UserParameter=istats.scan[*],/usr/local/bin/istats scan \$1 --value-only" >> /usr/local/etc/zabbix/zabbix_agentd.conf' Changer les droits du dossier log de Zabbix : sudo chmod 777 /var/log/zabbix Tuer et redémarrer ZABBIX : sudo pkill zabbix sudo launchctl start com.zabbix.zabbix_agentd STOP : sudo launchctl stop com.zabbix.zabbix_agentd CHECK : ps aux | grep zabbix_agentd zabbix_get -s 127.0.0.1 -p 10050 -k "istats.cpu" DESINSTALLATION : sudo launchctl unload /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist sudo rm -f /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist sudo rm -f /usr/local/sbin/zabbix_agentd sudo rm -f /usr/local/bin/zabbix_get sudo rm -f /usr/local/bin/zabbix_sender sudo rm -rf /usr/local/etc/zabbix sudo rm -rf /var/logs/zabbix sudo pkgutil --forget com.zabbix.pkg.ZabbixAgent ==== Installer Zabbix Agent 4.4 ==== Connecter en SMB NASCATALOGUE (Installers) : mkdir /tmp/Installers mount -t smbfs //nascatalogue@nascatalogue/installers /tmp/Installers/ Installer **Zabbix** : sudo installer -pkg /tmp/Installers/Zabbix/Mac/4.4/zabbix_agent-4.4.0-macos-amd64-gnutls.pkg -target / Entrer le nom de la machine dans une variable : host=NOMDELAMACHINE Pour changer Hostname, entrer la commande ci-dessous : sudo perl -i -pe 's/.*/Hostname='$host' / if $.==146' "/usr/local/etc/zabbix/zabbix_agentd.conf" Si la machine est à LOBSTER : sudo perl -i -pe 's/.*/Server=192.168.12.26,127.0.0.1 / if $.==94' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo perl -i -pe 's/.*/ServerActive=192.168.12.26,127.0.0.1 / if $.==135' "/usr/local/etc/zabbix/zabbix_agentd.conf" Si la machine est à FPA : sudo perl -i -pe 's/.*/Server=10.0.100.41,192.168.12.26,127.0.0.1 / if $.==94' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo perl -i -pe 's/.*/ServerActive=10.0.100.41,192.168.12.26,127.0.0.1 / if $.==135' "/usr/local/etc/zabbix/zabbix_agentd.conf" //Supprimer// les anciens fichiers de configurations : sudo rm -rfv /usr/local/etc/zabbix/zabbix_agentd.conf.NEW Configuration pour istats : sudo perl -i -pe 's/.*/EnableRemoteCommands=1 / if $.==70' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo perl -i -pe 's/.*/LogRemoteCommands=1 / if $.==79' "/usr/local/etc/zabbix/zabbix_agentd.conf" sudo bash -c 'echo "UserParameter=istats.temp.discovery,'$HOME'/.rbenv/shims/istats scan zabbix UserParameter=istats.cpu,'$HOME'/.rbenv/shims/istats cpu temp --value-only UserParameter=istats.fan.speed,'$HOME'/.rbenv/shims/istats fan speed --value-only UserParameter=istats.scan[*],'$HOME'/.rbenv/shims/istats scan \$1 --value-only" >> /usr/local/etc/zabbix/zabbix_agentd.conf' Tuer et redémarrer ZABBIX : sudo pkill zabbix sudo launchctl start com.zabbix.zabbix_agentd STOP : sudo launchctl stop com.zabbix.zabbix_agentd CHECK : ps aux | grep zabbix_agentd zabbix_get -s 127.0.0.1 -p 10050 -k "istats.cpu" DESINSTALLATION : sudo launchctl unload /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist sudo rm -f /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist sudo rm -f /usr/local/sbin/zabbix_agentd sudo rm -f /usr/local/bin/zabbix_get sudo rm -f /usr/local/bin/zabbix_sender sudo rm -rf /usr/local/etc/zabbix sudo rm -rf /var/logs/zabbix sudo pkgutil --forget com.zabbix.pkg.ZabbixAgent ==== Installer Zabbix Agent 3.7 ==== Créer un Service-Utilisateur: zabbix\\ Groups: sudo dscl . -list /Groups UniqueID sudo dscl . -create /Groups/zabbix gid 301 sudo dscl . -create /Groups/zabbix RealName "Zabbix Server Group" sudo dscl . -create /Groups/zabbix passwd "*" sudo dscl . -create /Users/zabbix sudo dscl . -create /Users/zabbix uid 301 sudo dscl . -create /Users/zabbix gid 301 sudo dscl . -create /Users/zabbix NFSHomeDirectory /var/empty sudo dscl . -create /Users/zabbix UserShell /usr/bin/false sudo dscl . -create /Users/zabbix RealName "Zabbix Server" sudo dscl . -create /Users/zabbix passwd "*" Pour installer Zabbix Client (3.4), il est nécéssaire d'installer PCRE : (https://www.zabbix.com/documentation/3.4/manual/installation/install) cd ~/Downloads curl --remote-name ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz Extraire l'archive et la transférer dans le dossier. tar -xzvf pcre-8.41.tar.gz sudo mv pcre-8.41 /etc/pcre-8.41 Configurer, compiler et installer dans  /etc/pcre-8.41\\ cd /etc/pcre-8.41 sudo ./configure --prefix=/etc/pcre-8.41 sudo make sudo make install Créer un lien symbolic de /usr/local/pcre.\\ sudo ln -s /etc/pcre-8.41 /usr/local/pcre Télecharger le code source de Zabbix (3.4.7) Et le décompresser :\\ cd ~/Downloads curl -L https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.7/zabbix-3.4.7.tar.gz/download -o zabbix-3.4.7.tar.gz tar -zxvpf zabbix-3.4.7.tar.gz Cibler le dossier et configurer, compiler et installer Zabbix:\\ cd zabbix-3.4.7 sudo mkdir -p /usr/local/etc /usr/local/sbin sudo ./configure --enable-agent --with-libpcre=/etc/pcre-8.41 sudo make sudo make install Copier le fichier de configuration dans le dossier local /etc\\ sudo cp ./conf/zabbix_agentd.conf /usr/local/etc/ Copier le daemon file dans le dossier local /etc\\ sudo cp ./src/zabbix_agent/zabbix_agentd /usr/local/sbin sudo nano /usr/local/etc/zabbix_agentd.conf Changer l'IP du Server (LOBSTER ou FPA) :\\ ### Option: Server # ... # Serveur = Server=192.168.12.27 #LOBSTER Server=10.0.100.41,192.168.12.27 #FPA et Ajouter la configuration (en fonction de la machine) à la fin du fichier zabbix_agentd.conf : NORMAL : # Low-level discovery item. This may take several seconds to complete, so # make sure that the Timeout value in your zabbix config is high enough to # handle this. Default is 3 seconds which is unlikely to be sufficient. UserParameter=istats.cpu,istats cpu temp --value-only UserParameter=istats.fan.speed,istats fan speed --value-only UserParameter=istats.scan[*],istats scan $1 --value-only MAC PRO 5,1 # Low-level discovery item. This may take several seconds to complete, so # make sure that the Timeout value in your zabbix config is high enough to # handle this. Default is 3 seconds which is unlikely to be sufficient. UserParameter=istats.cpua,istats scan TCAD --value-only UserParameter=istats.cpub,istats scan TCBD --value-only UserParameter=istats.pcie1,istats scan Te1S --value-only UserParameter=istats.fan0.speed,istats fan speed --value-only | sed -n 1p UserParameter=istats.fan1.speed,istats fan speed --value-only | sed -n 2p UserParameter=istats.fan2.speed,istats fan speed --value-only | sed -n 3p UserParameter=istats.fan3.speed,istats fan speed --value-only | sed -n 4p UserParameter=istats.fan4.speed,istats fan speed --value-only | sed -n 5p UserParameter=istats.fan5.speed,istats fan speed --value-only | sed -n 6p UserParameter=istats.scan[*],istats scan $1 --value-only HACKINTOSH # Low-level discovery item. This may take several seconds to complete, so # make sure that the Timeout value in your zabbix config is high enough to # handle this. Default is 3 seconds which is unlikely to be sufficient. UserParameter=istats.cpu,istats scan TC0D --value-only UserParameter=istats.gpu,istats scan TG0D --value-only UserParameter=istats.fan0.speed,istats fan speed --value-only | sed -n 1p UserParameter=istats.fan1.speed,istats fan speed --value-only | sed -n 2p UserParameter=istats.fan2.speed,istats fan speed --value-only | sed -n 3p UserParameter=istats.fan3.speed,istats fan speed --value-only | sed -n 4p UserParameter=istats.fan4.speed,istats fan speed --value-only | sed -n 5p UserParameter=istats.scan[*],istats scan $1 --value-only Et sauvegarder !\\ Démarrer l'Agent Zabbix 8-):\\ /usr/local/sbin/zabbix_agentd Pour démarrer automatiquement Zabbix Agent à l'allumage de la machine,\\ Créer le fichier suivant : sudo nano /Library/LaunchAgents/org.macports.zabbix_agent.plist Avec le content suivant : Label org.macports.zabbix_agent RunAtLoad ProgramArguments sh /etc/startzabbix.sh Test :\\ plutil /Library/LaunchAgents/org.macports.zabbix_agent.plist Créer le script de démarrage :\\ sudo nano /etc/startzabbix.sh Qui contient :\\ #!/bin/bash /usr/local/sbin/zabbix_agentd Le rendre executable :\\ sudo chmod a+x /etc/startzabbix.sh Démarrer le fichier plist avec launchctl : sudo launchctl load /Library/LaunchAgents/org.macports.zabbix_agent.plist (au redémarrage, le sudo ne sera pas obligatoire)\\ \\ Check : ps aux | grep zabbix FIXME \\ Si Zabbix ne démarre pas après l'installation sous une version antérieure à macOS 10.12,\\ c'est probablement un problème de mémoire partagée, il faut donc configurer les options kernel pour en allouer plus : - Ouvrir le fichier **sysctl.conf** sudo nano /etc/sysctl.conf - Remplacer les valeurs, par celles ci-dessous : kern.sysv.shmmax=2147483648 kern.sysv.shmmni=4096 kern.sysv.shmseg=8 kern.sysv.shmall=2097152 - Redémarrer la machine.