Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
start:developpement:joomla:nagioscheck4updates [2012/12/07 15:32] 212.85.130.11 created |
start:developpement:joomla:nagioscheck4updates [2012/12/07 16:45] (Version actuelle) fufroma |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Nagios Check4Updates est un composant Joomla! facilitant la supervision des mises à jour de Joomla! et de ses greffons (Plugins, Modules, Composants...). | + | ====== Nagios Check4Updates ====== |
+ | Nagios Check4Updates est un composant pour Joomla! 2.5 développé par Neuronnexion. | ||
- | Il est ainsi possible de suivre depuis Nagios un grand nombre de sites sous Joomla! afin d'éviter au maximum l'absence de mise à jour et les failles de sécurités liées. | + | Il facilite la supervision des mises à jour de Joomla! et de ses greffons (Plugins, Modules, Composants...) en utilisant l'outil interne de mise à jour de Joomla! |
- | Après installation de ce composant dans Joomla, n'oubliez pas de paramétrer dans le backend un nom d'utilisateur ainsi qu'un mot de passe (éventuellement une liste d'adresse IP autorisées) qui viendrons sécuriser l'accès aux résultats de la sonde. | + | Il est ainsi possible de superviser depuis votre outil de monitoring (type Nagios) vos sites Joomla! afin de suivre les mise à jour et ainsi profiter de la correction des failles de sécuritées. |
+ | |||
+ | Après installation de ce composant dans Joomla, n'oubliez pas de paramétrer dans la partie d'administration de Joomla! un nom d'utilisateur ainsi qu'un mot de passe (éventuellement une liste d'adresse IP autorisées) qui viendrons sécuriser l'accès aux résultats de la sonde. | ||
Ce composant est édité sous licence Libre GPL. | Ce composant est édité sous licence Libre GPL. | ||
- | {{:start:developpement:joomla:com_nagioscheck4updates0.9.1.zip|}} | + | ===== Téléchargement ===== |
+ | |||
+ | * http://www.neuronnexion.fr/logiciels-libres/composant-joomla-nagioscheck4updates | ||
+ | |||
+ | ===== Intégration dans Nagios ===== | ||
+ | ==== Wrapper Nagios ==== | ||
+ | <code bash /usr/local/bin/check_joomla_upgrade> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Wrapper for nagioscheck4updates | ||
+ | # Documentation: http://tech.nnx.com/doku.php?id=start:developpement:joomla:nagioscheck4updates | ||
+ | |||
+ | if [ 3 -ne $# ] ; then | ||
+ | echo "Wrong parameters." | ||
+ | echo "Usage : $0 web_site username password" | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | site=$1 | ||
+ | user=$2 | ||
+ | pass=$3 | ||
+ | |||
+ | url="http://$site/index.php?option=com_nagioscheck4updates" | ||
+ | |||
+ | # Var NAGIOS | ||
+ | STATE_OK=0 | ||
+ | STATE_WARNING=1 | ||
+ | STATE_CRITICAL=2 | ||
+ | STATE_UNKNOWN=3 | ||
+ | STATE_DEPENDENT=4 | ||
+ | |||
+ | # Get status | ||
+ | ret=$(wget -q -O - "$url" --user="$user" --password="$pass") | ||
+ | |||
+ | nbl=$(echo -e "$ret"|wc -l) | ||
+ | |||
+ | # Check the content of the page | ||
+ | if [ 2 -ne $nbl ] ; then | ||
+ | echo "Problem: there is $nbl line instead of 2" | ||
+ | echo -e "$ret" | ||
+ | exit $STATE_UNKNOWN | ||
+ | fi | ||
+ | |||
+ | state=$(echo -e "$ret" | head -n 1) | ||
+ | comment=$(echo -e "$ret" | tail -n 1) | ||
+ | |||
+ | # Check informations of the Joomla! component | ||
+ | if [[ ! "$state" =~ [0-4] ]] ; then | ||
+ | echo "Problem: -$state- should be a number between 0 and 4" | ||
+ | exit $STATE_UNKNOWN | ||
+ | fi | ||
+ | |||
+ | # Return informations | ||
+ | echo $comment | ||
+ | exit $state | ||
+ | </code> | ||
+ | |||
+ | ==== Configuration de Nagios ==== | ||
+ | |||
+ | Tout d'abord, définissons un templates pour vos services Joomla! : | ||
+ | <code /etc/nagios3/conf.d/templates-joomla.cfg> | ||
+ | # Definition de services | ||
+ | define service{ | ||
+ | name generic-joomla-upgrade | ||
+ | service_description Joomla_Upgrades | ||
+ | use generic-service | ||
+ | check_command return-unknown # Surcharge me with check_joomla_upgrade!SITE!USER!PASS | ||
+ | check_interval 1440 # 1 fois par jour | ||
+ | retry_interval 60 # retry une fois par heure | ||
+ | notification_interval 5760 # une notification tout les 4 jours | ||
+ | register 0 | ||
+ | } | ||
+ | |||
+ | define command{ | ||
+ | command_name check_joomla_upgrade | ||
+ | command_line /usr/local/bin/check_joomla_upgrade '$ARG1$' '$ARG2$' '$ARG3$' | ||
+ | } | ||
+ | </code> | ||
+ | Maintenant, pour chaque site que vous souhaitez superviser : | ||
+ | <code /etc/nagios3/conf.d/mon-site> | ||
+ | define service{ | ||
+ | host_name serveur_hebergeant_joomla | ||
+ | service_description Joomla_MonSiteJoomla | ||
+ | use generic-joomla-upgrade | ||
+ | check_command check_joomla_upgrade!www.monsite.org!username!password | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||