- Détails
- Écrit par : Super User
- Affichages : 164
Zabbix - Suppression de valeurs erronées dans un historique
J'ai écrit un tutoriel rapide pour moi :
Récupérez le itemid depuis l'URL d'un graphique (par exemple : /history.php?action=showgraph&itemids[]=444871)
Accédez à votre base zabbix
Trouvez le type de données de votre élément
uint, text, str, log
pour savoir dans quelle table d'historique vous devez chercher
history_uint
history_text
history_str
history_log
Cherchez la bonne valeur dans la bonne table
select * from history_uint where itemid=444871 order by value DESC limit 5;
itemid | clock | value | ns
--------+------------+----------------+-----------
444871 | 1543993500 | 29729269162576 | 606002333
444871 | 1543964400 | 32170824376 | 384896023
444871 | 1543965000 | 30664167112 | 514850665
444871 | 1543964700 | 29971309024 | 862951334
444871 | 1543965300 | 26845634240 | 455393174
(5 rows)
Simply remove the obviously wrong value from the table:
zabbix=# delete from history_uint where itemid=444871 and clock=1543993500 and value=29729269162576;
DELETE 1
Autres exemples de requêtes
select * from history_uint where itemid=444871 order by value DESC limit 5;
select * from history_str where itemid=48666 order by value DESC limit 5;
select * from history_str where itemid=48666 order by clock DESC limit 20;
select * from history_str where itemid=48666 and clock < 1755778983 and clock > 1755750666 order by clock DESC limit 20;
select * from history_str where itemid=48666 and clock < 1755778983 and clock > 1755750666;
select * from history_str where (itemid=48666 or itemid=48664) and clock < 1755778983 and clock > 1755750666;
select * from history_str where value='Sur ,NB sauvegardes OK : et NB sauvegardes : Le : | O0;W1;C2; 0' and itemid=48666;
delete from history_str where value='Sur ,NB sauvegardes OK : et NB sauvegardes : Le : | O0;W1;C2; 0' and (itemid>48600 or itemid<48700);
Sources : https://support.zabbix.com/browse/ZBXNEXT-683
- Détails
- Écrit par : Super User
- Affichages : 347
Zabbix fping fping6 avec erreur debian 'ICMP ping' checks failed: "At least one of '/usr/sbin/fping', '/usr/sbin/fping6' must exist. Both are missing in the system."
Si vous avez cette erreur, il faut juste commenter les lignes qui contiennent fping location
#FpingLocation=/usr/bin/fping
#Fping6Location=
- Détails
- Écrit par : Super User
- Affichages : 363
Vous utilisez la solution de sauvegarde Oxibox pour vos postes et vous avez besoin d’avoir des informations plus précises que celle de l’interface oxiadmin ?
Vous pouvez utiliser les données des mails de rapports unifiés avec le script suivant. Tout est commenté dans le script qui est prévu pour fonctionner sous Linux.
Tout est sur gitlab ici :
- convertion du mail en csv pour utilisation tableur https://gitlab.com/jeromemartignago/convertion_mail_oxibox
- sonde zabbix avec l’API pour historisation des sauvegardes zabbix https://gitlab.com/jeromemartignago/check_job_sauvegardes_oxibox_api
Ps : Oui je sais le code n’est pas optimal mais il fonctionne :-)
04/11/2024 V2 du script
24/03/2025 Accès avec l’API v1 de Oxibox
- Détails
- Écrit par : Super User
- Affichages : 1723
Ci dessous le script qui permet de lire le contenu d'un rapport de sauvegarde et renvoi à une commande Nagios Centreon les information de métrique pour faire des graphique et donner un état du job
#! /bin/bash
# Plugin return codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3#WARNING="3"
#CRITICAL="2.7"print_version() {
echo $SCRIPTNAME version $VERSION
echo ""
echo "Ce plugin est fourni avec ABSOLUTELY NO WARRANTY."
echo "You may redistribute copies of the plugins under the terms of the GNU General Public License v2."
echo "Vous devez redistribuer des copies de ce plugin sous les termes de la GNU General Public License v2."}
# Option processing
print_usage() {
echo "Usage: ./check_job_sauvegarde -J 471500-Bureautique -F RES.csv -w 2.7 -c 3"
echo " $SCRIPTNAME -J NOM-JOB"
echo " $SCRIPTNAME -F FICHIER"
echo " $SCRIPTNAME -w WARNING"
echo " $SCRIPTNAME -c CRITIQUE"
echo " $SCRIPTNAME -h"
echo " $SCRIPTNAME -V"
}print_help() {
print_version
echo ""
print_usage
echo ""
echo "Vérifie la taille d'un job de sauvegarde dans un fichier de log"
echo ""
echo "-J Job à Vérifier"
echo " Nom de la tâche à vérifier"
echo "-F Fichier qui contient les Rapports"
echo " Le fichier qui contient le résultat dus sauvegardes"
echo "-w INTEGER"
echo " Valeur d'alerte pour ce Job (default: 0)"
echo "-c INTEGER"
echo " Valeur Max prévue dans la convention (default: 0)"
echo "-h"
echo " Affiche cette aide"
echo "-V"
echo " Affiche la version et la licence"
echo ""
echo ""
echo "Ce plugin vérifie la taille de la sauvegarde d'un job dans un fichier de rapport de sauvegarde."
echo "Ce plugin produit des données de performance pour des graphes."
echo "Si la valeur de la taille de la sauvegarde et/ou le temps sont nuls alors le scipt retourne un état à ERREUR "
echo "If the warning level and critical levels are both set to 0, then the script returns OK state."
}while getopts J:F:w:c:hV OPT
do
case $OPT in
J) JOB="$OPTARG" ;;
F) FICHIER="$OPTARG" ;;
w) WARNING=$OPTARG ;;
c) CRITICAL=$OPTARG ;;
h)
print_help
exit $STATE_UNKNOWN
;;
V)
print_version
exit $STATE_UNKNOWN
;;
esac
done
#taille=$(cat $1 | grep $2 | awk -F\" '{print $2}')
taille=$(cat $FICHIER | grep $JOB | awk -F\" '{print $2}')duree=$(cat $FICHIER | grep $JOB | awk -F\, '{print $8}')
jour_heure_sauv=$(cat $FICHIER | grep $JOB | awk -F\, '{print $7}')
#agent_sauv=$(cat $FICHIER | grep $JOB | awk -F\, '{print $6}')
#os_agent=$(cat $FICHIER | grep $JOB | awk -F\, '{print $5}')taille3="${taille/,/.}"
if [ -z ${duree} ]; then
STATE=$STATE_CRITICAL
else STATE=$STATE_OK
fi#if [ ${taille} -eq 0 ]; then
# STATE=$STATE_CRITICAL
#else STATE=$STATE_OK
#fiunite='GB'
#taille2="$taille$unite"
#taille3="${taille/,/.}"
DESCRIPTION="Vol derniere sauvegarde : $taille Duree : $duree Le : $jour_heure_sauv | volume=$taille$unite;$WARNING;$CRITICAL;0;0"
echo $DESCRIPTION
exit $STATE
#echo taille=$taille duree=$duree timedate=$jour_heure_sauv Agent=$agent_sauv Os=$os_agent
#echo "| Volume =${taille3}GB 0 0 0 5"
#echo $taille
#echo $taille3
- Détails
- Écrit par : Super User
- Affichages : 6311
Si les graphiques ne fonctionnent pas faire les commandes suivantes sur le serveur
sudo /etc/init.d/ndo2db status
si pas ok alors faire
sudo /etc/init.d/ndo2db start
si erreur de lock faire
sudo rm /usr/local/nagios/var/ndo.sock
puis
sudo /etc/init.d/ndo2db start
autres commandes
sudo /usr/local/centreon/cron/archiveDayLog -r
sudo /usr/local/centreon/bin/logAnalyser -a