logiciels:zabbix

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.


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…


Si précédentes mise à jour de ruby par rvm :

rvm implode
gem uninstall rvm

Mettre à jour RUBY avant d'installer iStats (installe Command Line Tools en prime sans demander quoique ce soit à l'utilisateur):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Installer rbenv ou mettre à jour :

brew install rbenv ruby-build
# ou upgrade
brew upgrade rbenv ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile  
 
# install a Ruby version:
rbenv install 2.6.5
 
rbenv local 2.6.5
rbenv global 2.6.5
rbenv rehash

Fermer le Terminal et rouvrir un session !

# Mise à jour de gem
sudo /usr/bin/gem update --system

Installer iStats et faire un scan de la machine :

gem install iStats
iStats scan

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.11.13,127.0.0.1 / if $.==94' "/usr/local/etc/zabbix/zabbix_agentd.conf"
sudo perl -i -pe 's/.*/ServerActive=192.168.11.13,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.11.13,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.11.13,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

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

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.11.13 #LOBSTER
Server=10.0.100.41,192.168.11.13 #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 :

<?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

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.

  • logiciels/zabbix.1572529504.txt.gz
  • Dernière modification : 31/10/2019 13:45
  • de Martin