Outils pour utilisateurs

Outils du site


linux:zabbix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:zabbix [2021/02/10 11:01] rootlinux:zabbix [2025/12/10 19:24] (Version actuelle) root
Ligne 7: Ligne 7:
   * Surveiller Ping   * Surveiller Ping
  
-===== Zabbix Agent =====+===== Zabbix Agent Générer une clé PSK ===== 
 + 
 +<code bash>openssl rand -hex 32</code> 
 + 
 +===== Zabbix Agent sous Linux =====
  
 <code bash> <code bash>
-wget https://repo.zabbix.com/zabbix/5.2/debian/pool/main/z/zabbix-release/zabbix-release_5.2-1+debian10_all.deb+wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bdebian11_all.deb
 dpkg -i zabbix-release_5.2-1+debian10_all.deb dpkg -i zabbix-release_5.2-1+debian10_all.deb
 apt update  apt update 
Ligne 21: Ligne 25:
 service zabbix-agent restart service zabbix-agent restart
 </code> </code>
 +
 +===== Zabbix Agent & LXC Proxmox =====
 +
 +Les containers LXC donnent de mauvaises valeurs avec l'agent Zabbix. Une solution existe, pour cela il faut demander à l'agent d'envoyer des données propres au container et créer un template Zabbix dédié pour ces hosts.
 +
 +==== Sur le host ====
 +
 +  - Créer un fichier de configuration pour l'agent<code bash>nano /etc/zabbix/zabbix_agentd.d/zabbix_container.conf</code> Avec les données suivantes: <file bash zabbix_container.conf>UserParameter=ct.memory.size[*],free -b | awk '$ 1 == "Mem:" {total=$ 2; used=($ 3+$ 5); pused=(($ 3+$ 5)*100/$ 2); free=$ 4; pfree=($ 4*100/$ 2); shared=$ 5; buffers=$ 6; cached=$ 6; available=($ 7); pavailable=(($ 7)*100/$ 2); if("$1" == "") {printf("%.0f", total )} else {printf("%.0f", $1 "" )} }'
 +UserParameter=ct.swap.size[*],free -b | awk '$ 1 == "Swap:" {total=$ 2; used=$ 3; free=$ 4; pfree=($ 4*100/$ 2); pused=($ 3*100/$ 2); if("$1" == "") {printf("%.0f", free )} else {printf("%.0f", $1 "" )} }'
 +UserParameter=ct.cpu.load[*],uptime | awk -F'[, ]+' '{avg1=$(NF-2); avg5=$(NF-1); avg15=$(NF)}{print $2/'$(nproc)'}'
 +UserParameter=ct.uptime,cut -d"." -f1 /proc/uptime</file>
 +  - Relancer l'agent <code bash>service zabbix-agent restart</code>
 +
 +==== Sur le serveur Zabbix ====
 +
 +  - Dans le menu Configuration -> Template, ouvrez le template 'Linux by Zabbix agent active' et faites un Full Clone et ajouter le nom Proxmox {{:linux:pasted:20210315-131840.png}}
 +  - Réouvrir "Linux CPU by Zabbix agent active PROXMOX" et se diriger dans les Items
 +  - Remplacer system.cpu.load[all,avgX] par ct.cpu.load[all,avg15]
 +  - A présent, ouvrir le template "Linux memory by Zabbix agent active" et faire un Full Clone et rajouter Proxmox
 +  - Réouvrir "Linux memory by Zabbix agent active PROXMOX" et se diriger dans les Items
 +  - Remplacer:
 +    - vm.memory.size[available] par ct.memory.size[available]
 +    - vm.memory.size[pavailable] par ct.memory.size[pavailable]
 +    - system.swap.size[,free] par ct.swap.size[free]
 +    - system.swap.size[,pfree] par ct.swap.size[pfree]
 +    - vm.memory.size[total] par ct.memory.size[total]
 +    - system.swap.size[,total] par ct.swap.size[total]
 +  - Ouvrir le template "Linux generic by Zabbix agent active" et faire un Full Clone et rajouter Proxmox dans le nom
 +  - Remplacer system.uptime par ct.uptime
 +  - Maintenant se rendre dans le template "Linux by Zabbix agent active", faire un Full Clone en y rajoutant Proxmox dans le nom
 +  - Dans les linked templates, cliquer sur "Unlink & Clear" pour les templates associés CPU, Memory & Generic {{:linux:pasted:20210315-133534.png}}
 +  - Rajouter les 3 sous-templates créés {{:linux:pasted:20210315-133648.png}}
 +  - Affecter le nouveau template "Linux by Zabbix agent active Proxmox" aux machines concernées
 +
 +===== Single Sign On (SSO) =====
 +
 +  - Installer les paquets kerberos nécessaire <code bash>apt-get -y install krb5-user libapache2-mod-auth-kerb</code>
 +  - Editer le fichier krb5.conf <code bash>nano /etc/krb5.conf</code> Coller une configuration +/- similaire<file ini krb5.conf>[libdefaults]
 +        default_realm = MAKEITSIMPLE.LAN
 +
 +# The following krb5.conf variables are only for MIT Kerberos.
 +        kdc_timesync = 1
 +        ccache_type = 4
 +        forwardable = true
 +        proxiable = true
 +
 +        fcc-mit-ticketflags = true
 +
 +[realms]
 +MAKEITSIMPLE.LAN = {
 +        kdc = srv-ad.makeitsimple.lan
 +        admin_server = srv-ad.makeitsimple.lan
 +        default_domain = srv-ad.makeitsimple.lan
 +}
 +
 +.makeitsimple.lan = MAKEITSIMPLE.LAN
 +makeitsimple.lan = MAKEITSIMPLE.LAN
 +</file>
 +  - Faire un test de session <code bash>kinit Administrator</code>
 +  - Se connecter sur le serveur Samba-AD et faire les 3 commandes suivantes en modifiant le nom du serveur <code bash>samba-tool user create --random-password http-glpi.makeitsimple.lan
 +samba-tool spn add HTTP/glpi.makeitsimple.lan http-glpi.makeitsimple.lan
 +samba-tool domain exportkeytab /root/httpd.keytab --principal=HTTP/glpi.makeitsimple.lan@MAKEITSIMPLE.LAN</code>
 +  - Vérifier avec la commande kvno <code bash>kvno HTTP/glpi.makeitsimple.lan@MAKEITSIMPLE.LAN</code>
 +  - De retour sur le serveur GLPI, déplacer le fichier dans le dossier apache et lui donner les bons droits <code bash>mv httpd.keytab /etc/apache2/
 +chown www-data:root /etc/apache2/httpd.keytab
 +chmod 640 /etc/apache2/httpd.keytab</code>
 +  - Editer le fichier apache <code bash>nano /etc/apache2/sites-enabled/000-default.conf</code> <file apache 000-default.conf>DocumentRoot /var/www
 + Servername glpi.makeitsimple.lan
 + <Location />
 +                AuthType Kerberos
 +                AuthName "Demande d'identification SSO"
 +                KrbAuthRealms MAKEITSIMPLE.LAN
 +                KrbServiceName HTTP/glpi.makeitsimple.lan   
 +                Krb5Keytab /etc/apache2/httpd.keytab
 +                KrbMethodNegotiate On
 +                KrbMethodK5Passwd On
 +                require valid-user
 +        </Location>
 +</file>
 +  - Redémarrer apache2 <code bash>Service apache2 restart</code>
 +  - Ajouter le CA Certificate sur le serveur Zabbix <code bash>cp ca.crt /usr/local/share/ca-certificates/
 +update-ca-certificates<code> puis vérifier <code bash>openssl s_client -showcerts -connect dc1.makeitsimple.lan:636</code>, la réponse doit être "Verify return code: 0 (ok)"
 +
 +  - Dans Zabbix --> Administration --> Authentification --> Ldap Parameters, faire la configuration pour se connecter à votre DC {{:linux:pasted:20210315-143612.png}}
 +  - Zabbix --> Administration --> Authentification --> Authentification --> Choisir LDAP
 +  - Dans Zabbix --> Administration --> Users créer des utilisateurs ayant le même login que sur le domaine. Les mots de passes ne sont pas nécessaires.
 +  - Dans Administration -> Authentication -> HTTP Settings modifier les paramètres pour activer le SSO {{:linux:pasted:20210317-155031.png}}
 +===== Les noms de services Windows Dynamiques =====
 +Sous Windows, certains services sont générés de manière dynamique et apparaissent/disparaissent selon les besoins. Ceci crée de nouvelles alertes quand ils sont abandonnés par la machine. 
 +Pour ce faire, il faut éditer la règle d'exclusion dans Administration > General > Regular Expressions > Windows service names for discovery : <code>^(MMCSS|gupdate|SysmonLog|clr_optimization.*|DoSvc|sppsvc|MapsBroker|WpnUser.*|OneSync.*|gpsvc|BITS|CDPUserSvc.*|.*KMSELDI|stisvc|UsoSvc|TrustedInstaller|WbioSrvc|tmlisten|ntrts|ntrtscan|CDPSvc|SCardSvr|tiled.*)$</code>
 +{{:linux:pasted:20210630-101114.png}}
 +
 +===== Debugger snmpv3 =====
 +<code bash>apt install snmp
 +snmpwalk -v3 -a MD5 -A PWD -u ciscosnmp -x DES -X PWD -l authPriv 10.10.10.41
 +</code>
 +
 +
 +===== Exemples =====
 +==== Ping continu à partir d'un agent ====
 +<code>if (Test-Connection server -Count 1 -ErrorAction SilentlyContinue) { write-host "1" } else {write-host "0"}</code>
 +===== Sources =====
 +  * Monitor Process: https://techexpert.tips/zabbix/zabbix-monitor-linux-process/
 +  * SSO: http://woshub.com/zabbix-single-sign-sso-authentication-ldap-active-directory/
 +  * Agent: https://techexpert.tips/zabbix/zabbix-monitoring-linux-psk-encryption/
 +  * Exclude windows services: https://catonrug.blogspot.com/2018/02/disable-some-of-windows-service-check.html
 +  * Fix LXC: 
 +    * https://kvaps.medium.com/zabbix-solve-memory-monitoring-issue-inside-lxc-containers-98ddf191051c
 +    * https://github.com/kvaps/zabbix-linux-container-template
linux/zabbix.1612954868.txt.gz · Dernière modification : (modification externe)