Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/var/www/clients/client0/web58/web:/var/www/clients/client0/web58/private:/var/www/clients/client0/web58/tmp:/var/www/testwiki.znil.net/web:/srv/www/testwiki.znil.net/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom;/gitinfo) in /var/www/clients/client0/web58/web/includes/shell/CommandFactory.php on line 119

Deprecated: Use of MediaWiki\Parser\ParserOutput::addJsConfigVars was deprecated in MediaWiki 1.38. [Called from DisplayComments::getParserHandler in /var/www/clients/client0/web58/web/extensions/Comments/includes/parser/DisplayComments.php at line 29] in /var/www/clients/client0/web58/web/includes/debug/MWDebug.php on line 385
Zabbix Anzahl Trigger nach priority ermitteln als Item – testznilwiki
 Aktionen

Zabbix Anzahl Trigger nach priority ermitteln als Item

Aus testznilwiki

Quick & Dirty Skript mit welchen ich mir die Anzahl der jeweilig ausgelösten Trigger hole.
Sind nur die der letzten 72h die noch nicht bestätigt wurden.
Pfade etc. müsst Ihr Anpassen, Template muss erstellt werden.

#!/bin/bash
zbxusername="apiuser"
zbxpassword="password4apiuser"
zbxsince=$(date +%s)
zbxsince=$((zbxsince-259200))
echo "zbxsince: $zbxsince"

zbxprio0=0
zbxprio1=0
zbxprio2=0
zbxprio3=0
zbxprio4=0
zbxprio5=0

# Anmelden
zabbixauth=$(curl -s -X POST -H "Content-Type:application/json"  -d '{"jsonrpc": "2.0","method":"user.login","params":{"user":"'$zbxusername'","password":"'$zbxpassword'"},"id":42}' http://127.0.0.1/api_jsonrpc.php | cut -d'"' -f8)
#echo $zabbixauth

# Trigger Holen
tempvar=$(curl -s -X POST -H "Content-Type:application/json"  -d'{"jsonrpc": "2.0","method": "trigger.get","params":{"lastChangeSince":"'$zbxsince'","expandDescription":1,"withUnacknowledgedEvents":1,"output":["triggerid","description","lastchange","priority"], "filter":{"value":1},"sortfield":"priority","sortorder":"DESC"},"auth": "'$zabbixauth'","id":42}' http://127.0.0.1/api_jsonrpc.php)

#Abmelden
temp2=$(curl -s -X POST -H "Content-Type:application/json"  -d '{"jsonrpc": "2.0","method": "user.logout","params": [],"id": 42, "auth": "'$zabbixauth'"}' http://127.0.0.1/api_jsonrpc.php)

# Trigger nach Prio zählen
declare -a json_array
json_array=(${tempvar//\"/ })
for (( i=0; i < ${#json_array[*]}; i++ )); do
    #echo ${json_array[$i]}
    if [ "${json_array[$i]:0:8}" = "priority" ]; then
        i=$((i + 2))
        case "${json_array[$i]}" in
            0) ((zbxprio0++))
               ;;
            1) ((zbxprio1++))
               ;;
            2) ((zbxprio2++))
               ;;
            3) ((zbxprio3++))
               ;;
            4) ((zbxprio4++))
               ;;
            5) ((zbxprio5++))
               ;;
        esac
    fi
done

#Ausgabe als Text + Senden an den Zabbix-Server
echo "Not Classified: $zbxprio0"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerNotclassified -o $zbxprio0
echo "Information...: $zbxprio1"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerInformation -o $zbxprio1
echo "Warning.......: $zbxprio2"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerWarning -o $zbxprio2
echo "Average.......: $zbxprio3"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerAverage -o $zbxprio3
echo "High..........: $zbxprio4"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerHigh -o $zbxprio4
echo "Disaster......: $zbxprio5"
/usr/local/bin/zabbix_sender -z 127.0.0.1 -s DEFCON -k TriggerDisaster -o $zbxprio5

Loading comments...