Moorfleeter Deich 216, 22113 Hamburg +49 1774661716 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. Mo. - Fr.: 09:00 - 18:00
Designer
ITWeb Knowledge

Überwachen der Joomla Version via Nagios

 

Hier könnt Ihr das neue Script finden.

 

Nachdem ich lange im Internet recherchiert habe und kein passendes Nagios scrript finden konnte, hab ich entschieden selbst ein Nagios Script zu schreiben, welches die Versionen von Joomla prüft. Bei dem Nagios Script handelt es sich um ein Script welches die Joomla Versionen 1.5.x, 2.5.x und 3.x prüft.

Da ich mehrere Versionen installiert habe, sollte das Nagios Script einfach auf die verschiedenen Ordner angepasst werden können.

 

Übersicht:

 

Mit diesem Nagios Script ist es möglich verschiedene Installationen und Joomla Versionen zu prüfen, ob diese auf dem aktuellen Stand sind. Sollte z.B. die Version 2.5.14 installiert sein meldet das Script, dass es die Joomla Version 2.1.16 gibt. Das Script basiert auf bash und wurde unter Ubuntu 12.04 entworfen. Das Script kann einfach in dem Plugin-Ordner von Nagios abgelegt werden. Dieser befindet sich bei einer Nagios 3 Installation unter /usr/lib/nagios/plugins/. Das Script wird später in der commands.cfg von Nagios eingebunden. Die aktuellen Versionen werden aus der Datei http://update.joomla.org/core/list.xml ausgelesen.

 

Ihr könnt das Script auch auf der Shell einfach testen: ./check_joomla_version.sh <Ordner>

 

Als Ordner wird das Installationsverzeichnis von Joomla angegeben. z.B. /var/www/joomla. Solltet ihr unter dem Ordner /var/www/ mehrere Installationen haben, könnt Ihr diesen auch einfach in das Script übernehmen: JOOMLANEWFILE=/var/www/$APP/libraries/cms/version/version.php Dann braucht ihr nur noch ./check_joomla_version.sh joomla angeben. Der Pfad für JOOMLAOLDFILE muss dann natürlich auch angepasst werden.

 

 

Das Script

 

check_joomla_version.sh:

 

#!/bin/bash

###
# Simple bash script to check if Joomla up to date.
# version: 1.0
# author: Bastian Schmoll
# mail: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
# changelog: initial version
####
# Config section APP=$1 JOOMLANEWFILE=$APP/libraries/cms/version/version.php JOOMLAOLDFILE=$APP/libraries/joomla/version.php # function section function return { # compare and return info if [ "$iflocalversion" -lt "$ifremoteversion" ]; then echo "A new version is available: $remoteversion. Our Version $localversion is out of date." exit 2 else echo "Your current Version $localversion is up to date" fi } function getlocalversion { # get local Joomla Version localversion=`cat $JOOMLANEWFILE | grep public | head -n3 | sed -e '1d' | sed 's/\(.*\)..$/\1/' | awk '{print $4}' | sed 's/^.// ' | sed 'N;s/\n/./'` iflocalversion=`echo $localversion | sed 's/\.//g'` } if [ -f $JOOMLANEWFILE ]; then whichversion=`cat $JOOMLANEWFILE | grep public | head -n2 | sed -e '1d' | awk '{print $4}' | sed 's/\(.*\)....$/\1/' | sed 's/^.// '` #if Version 2.5 x or 3.x if [ "$whichversion" == 2 ]; then # get local Joomla Version getlocalversion # get Remot Joomla Version RESULT="`wget -qO- http://update.joomla.org/core/list.xml`" remoteversion=`echo $RESULT | awk '{print $10}' | sed 's/\(.*\).$/\1/' | sed 's/^.........//'` ifremoteversion=`echo $remoteversion | sed 's/\.//g'` # compare and return info return elif [ "$whichversion" == 3 ]; then # get local Joomla Version getlocalversion # get Remot Joomla Version RESULT="`wget -qO- http://update.joomla.org/core/list.xml`" remoteversion=`echo $RESULT | awk '{print $42}' | sed 's/\(.*\).$/\1/' | sed 's/^.........//'` ifremoteversion=`echo $remoteversion | sed 's/\.//g'` # compare and return info return else echo "Sorry there is no Joomla installation" fi elif [ -f $JOOMLAOLDFILE ]; then # get local Joomla Version localversion=`cat $JOOMLAOLDFILE | grep var | grep -E 'RELEASE|DEV_LEVEL' | awk '{print $4}' | sed 's/\(.*\)..$/\1/' | sed 's/^.//' | sed 'N;s/\n/./'` iflocalversion=`echo $localversion | sed 's/\.//g'` # get Remot Joomla Version remoteversion="1.5.26" ifremoteversion=`echo $remoteversion | sed 's/\.//g'` # compare and return info return else echo "Sorry there is no Joomla installation" fi

 

commands.cfg

 

Das Einbinden in die commands.cfg ist simpel. Ich habe das Script ganz unten in die Datei eingefügt:

 

 

# 'check_joomla' command definition
define command{
        command_name    check_joomla_version
        command_line    /bin/bash $USER1$/check_joomla_version.sh $ARG1$
        }

 

 

Service einbinden

 

Zum Schluss muss nur noch der check in der services.cfg Datei eingebunden werden.

 

 

define service{
        use                              local-service
        host_name                  localhost
        service_description    Joomla Version
        check_command        check_joomla_version!<Ordner>
        }
bastcom serp takip teknik seo rehberi icerik optimizasyonu yerel seo google algoritma guncellemeleri backlink stratejileri backlink nedir dofollow nofollow backlink guest post backlink anchor text optimizasyonu broken link building core web vitals seo schema markup site hizi optimizasyonu mobile first indexing xml sitemap robots txt seo uyumlu icerik anahtar kelime arastirmasi eeat google kalite google analytics seo rakip analizi seo seo raporlama metrikleri google my business seo yerel arama siralama hacklink panel hacklink paneli hacklink satin al jojobet matbet matbet matbet holiganbet holiganbet güncel Holiganbet güncel giriş Meritking Meritking Giriş Meritking Güncel Meritking Güncel Giriş Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram meritking meritking Jojobet Pusulabet matbet jojobet Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram Jojobet Telegram giriş Jojobet Telegram güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel matbet matbet matbet matbet matbet matbet matbet matbet matbet kavbet kavbet kavbet betebet interbahis interbahis kingroyal kingroyal kingroyal kingroyal kingroyal interbahis kingroyal interbahis interbahis kingroyal Casibom Casibom giriş Casibom güncel kingroyal kingroyal giriş holiganbet giriş 2026 Meritking Meritking giriş Meritking güncel Holiganbet Holiganbet giriş Holiganbet güncel Jojobet Jojobet giriş Jojobet güncel Betebet Betebet giriş Betebet güncel holiganbet Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel grandpashabet interbahis kingroyal piabet Holiganbet Holiganbet giriş Holiganbet güncel betlike ikimisli betticket