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

Attenzione: lo script discover_files.py richiede Python 2.7 per andare. Con Python 3 non funziona.

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:

apt install sudo curl

oppure

yum install sudo 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, sistemare i permessi e metterla nella directory corretta:

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.conf /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

© 2022 Catfish Blog | Tema: Storto di CrestaProject WordPress Themes.