Ceci est une ancienne révision du document !
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 //nascatalogue@nascatalogue/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 :
/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 :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.macports.zabbix_agent</string> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>sh</string> <string>/etc/startzabbix.sh</string> </array> </dict> </plist>
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
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.