====== 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.