Monitoraggio di WordPress con Zabbix

WordPress è la più popolare piattaforma di blog al mondo, utilizzabile anche on premise, installandolo dove si vuole.
Nel caso di una installazione on premise il problema principale è far si che il software sia sempre aggiornato.
Nella fattispecie le parti di WordPress che devono essere sempre aggiornate sono il core, i plugin e i temi.
Il controllo qua riportato, preso da GitHub e corretto e modificato, permette di tenere sotto controllo tramite Zabbix la presenza di aggiornamenti, in modo da poter provvedere ai necessari aggiornamenti.
Per il funzionamento è necessario che i siti siano tutti sotto la stessa sottodirectory, nel nostro caso /var/www/html

Il controllo è composto di quattro parti:

Un template per Zabbix
Uno script che effettua la discovery delle istanze WordPress
Uno script che controlla la presenza di aggiornamenti usando un programma denominato wp-cli
Un file di configurazione che istruisce Zabbix su dove trovare i necessari files

Passi necessari:

  • Installare sudo e curl
  • Creare la cartella /etc/zabbix/scripts: mkdir /etc/zabbix/scripts
  • Modificare /etc/passwd impostando l’utente zabbix con la HOME su /etc/zabbix/scripts e a la shell su /bin/bash
  • Installare wp-cli: curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    chmod +x wp-cli.phar
    mv wp-cli.phar /usr/local/bin/wp-cli
  • Scaricare i due script e metterli in /etc/zabbix scripts: cp wp_find_updates.sh /etc/zabbix/scripts/
    cp dicover_file.py /etc/zabbix/scripts/
  • Renderli eseguibili: chmod 755 /etc/zabbix/scripts/*
  • Scaricare il file di configurazione e metterlo in /etc/zabbix/zabbix_agentd.d/: cp userparameter_wp.config /etc/zabbix/zabbix_agentd.d/
  • Testare il file della discovery: sudo -u zabbix -i /etc/zabbix/scripts/discover_files.py /var/www/html/ XndwLWNvbmZpZy5waHAk (la stringa alla fine sta nel template ed è la traformazione in base64 della regexp che cerca i files wp-config.php
  • Testare il file che controlla la presenza di aggiornamento: sudo -u zabbix -i /etc/zabbix/scripts/wp_find_updates.sh /var/www/html/hexgroup.it/
  • Installare il template su Zabbix
© 2021 Catfish Blog | Tema: Storto di CrestaProject WordPress Themes.