Outils pour utilisateurs

Outils du site


zabbix:envois-rapports

Envois_Rappoer-Mensuel-psql

#!/bin/bash
set -x

# script zabbix d'envoi de mail de rapport mensuel

# Connexion a la BDD
PGPASSWORD='Kn8ks$Lmpx31'  psql -U zabbix -h 10.1.1.72 << 'EOF' | tee "/total.csv" &> /dev/null
\COPY ( SELECT DISTINCT TIMESTAMP WITH TIME ZONE 'epoch' + events.clock * INTERVAL '1 second' AS Date, hstgrp.name AS Groupes,hosts.name AS Hosts,events.name AS Erreurs,events.severity AS Severity FROM events  JOIN triggers ON events.objectid = triggers.triggerid JOIN functions ON functions.triggerid = triggers.triggerid JOIN items ON items.itemid = functions.itemid JOIN hosts ON items.hostid = hosts.hostid JOIN hosts_groups ON hosts.hostid = hosts_groups.hostid JOIN hstgrp ON hosts_groups.groupid = hstgrp.groupid WHERE events.clock >= extract(epoch from date_trunc('month', current_timestamp) - interval '1' month) AND events.clock < extract(epoch from date_trunc('month', current_timestamp)) AND events.source = 0 AND NOT events.severity < 2 AND hstgrp.name IN ('G_APWIFI','G_BAIE_DISQUES','G_CERTIFICATS','G_GTC','G_LIGHTPOINTES','G_PROD-LINUX','G_PDA','G_PROD-WINDOWS','G_RESEAU','G_SWITCHS','G_VLANS','G_VSPHERE') AND hosts.maintenance_status = 0) to '/tmp/total.csv' with csv header;
EOF

# Envoi du rapport mensuel
#echo "Bonjour, voici le rapport mensuel de zabbix@orsay." | mail -S from=zabbix@orsay.fr -s "Rapport mensuel de la supervision ORSAY" -a /tmp/total.csv mziletti@mgi.fr #,slabadie@mgi.fr,emanueco@mgi.fr,sgenevieve@mgi.fr,jfournie@mgi.fr

Envois_Rapport_Mensuel-mysql

#!/bin/bash
set -x

# script zabbix d'envoi de mail de rapport mensuel (Mysql)

# Initialisation variables de base

MYSQLSERVER="127.0.0.1"
MYSQLUSER="zabbix"
MYSQLPASSWD='Tssi1602'
MYSQLDB="zabbix"

REQUEST="SELECT DISTINCT 
from_unixtime(events.clock) AS Date,
hstgrp.name AS Groupes,
hosts.name AS Hosts,
events.name AS Erreurs,
events.severity AS Severity
FROM events JOIN triggers ON events.objectid = triggers.triggerid 
JOIN functions ON functions.triggerid = triggers.triggerid 
JOIN items ON items.itemid = functions.itemid 
JOIN hosts ON items.hostid = hosts.hostid 
JOIN hosts_groups ON hosts.hostid = hosts_groups.hostid 
JOIN hstgrp ON hosts_groups.groupid = hstgrp.groupid 
WHERE events.source = 0 AND NOT events.severity < 2 AND hosts.maintenance_status = 0
AND month(from_unixtime(events.clock))=month(now())-1 
ORDER BY events.clock DESC;"

# Execution de la requete puis on traite ligne par ligne

mysql -u $MYSQLUSER --password=$MYSQLPASSWD -h $MYSQLSERVER $MYSQLDB -e "$REQUEST" -NB | sed 's/\t/;/g' | while read -r line
do
        DATE=$(echo $line | awk -F ";" {'print $1'})
        GROUP=$(echo $line | awk -F ";" {'print $2'})
        HOST=$(echo $line | awk -F ";" {'print $3'})
        SERVICE=$(echo $line | awk -F ";" {'print $4'})
        STATUS=$(echo $line | awk -F ";" {'print $5'})


        printf "%b" "$DATE;$GROUP;$HOST;$SERVICE;$STATUS\n" >> /tmp/total.csv

done

# Envoi du rapport mensuel
echo "Bonjour, voici le rapport mensuel de zabbix@orsay." | mail -S from=zabbix@orsay.fr -s "Rapport mensuel de la supervision ORSAY" -a /tmp/total.csv mziletti@mgi.fr #,slabadie@mgi.fr,emanueco@mgi.fr,sgenevieve@mgi.fr,jfournie@mgi.fr
rm -f /tmp/total.csv
zabbix/envois-rapports.txt · Dernière modification : 2023/07/05 13:20 de michel