Page 1 sur 2
Monitorer mon synology
Publié : 27 juil. 2018, 14:38
par nene82
Bonjour,
Je vais certainement poser une question idiote, mais je ne trouve aucun tuto sur le sujet.
j’héberge Domoticz sur mon synology DS1512, le paquet fonctionne bien, c'est nickel.
Du coup je me suis dit, pourquoi pas remonter les infos de mon NAS sur Domoticz.
Et la problème, je ne trouve que des sujets de monitoring via les raspberry...ou je n'ai pas su trouver!
Si quelqu'un à une idée.
merci par avance,
Cdt,
Re: Monitorer mon synology
Publié : 27 juil. 2018, 14:59
par cyberbob
+1
Re: Monitorer mon synology
Publié : 27 juil. 2018, 19:39
par papoo
c'est tout a fait faisable avec SNMP

- 2018-07-27 19_36_02-Domoticz.png (32.62 Kio) Consulté 6898 fois
informations récupérable via le script:
Temperature HD1
Temperature HD2
Free space volume in Go
Free space volume in percent
CPU utilisation
Free Memory Available in %
NAS ON/OFF
https://www.domoticz.com/wiki/NAS_Monitoring#Synology
Re: Monitorer mon synology
Publié : 30 juil. 2018, 17:59
par Zoug
Bonjour,
Tu monitores depuis le syno ou depuis un raspberry ?
Quelle est ta configuration SNMP coté Syno ?
Utilises tu le même script que sur le lien que tu as donné ?
J'utilise monit pour vérifier que domoticz est en marche et pour éventuellement le redémarrer, mais les infos SNMP me plaisent bien mais pour l'instant je n'y arrive pas.
Merci par avance pour tes éclaircissements.
Zoug
Re: Monitorer mon synology
Publié : 30 juil. 2018, 18:47
par papoo
je surveille mon synology depuis mon raspberry
via le script fourni
il faut d'abord activer le snmp sur le syno

- 2018-07-30 18_36_12-DiskStation - Synology DiskStation.png (78.54 Kio) Consulté 6774 fois
ensuite il faut installer snmp et snmpd sur le raspberry
Reboot du Pi:
ensuite test de la connexion et verif des informations fournies par le syno
depuis le raspberry
Code : Tout sélectionner
snmpwalk -v 2c -csynology 192.168.100.250 1.3.6.1.2.1.25.2.3.1
où 192.168.100.250 est l'adresse ip du nas et et synology la communauté déclarée dans le panneau de config du nas (voir copie d’écran au dessus)
reste le script synology.sh qu'il te faudra personnaliser avec la bonne ip et les bon idx (préalablement créé dans domoticz) et placer dans le répertoire
/home/pi/domoticz/scripts/sh/ du pi
Code : Tout sélectionner
#!/bin/bash
#https://www.domoticz.com/wiki/NAS_Monitoring#Synology
# Settings
NASIP="192.168.100.250" # NAS IP Address
PASSWORD="synology" # SNMP Password
DOMO_IP="127.0.0.1" # Domoticz IP Address
DOMO_PORT="8080" # Domoticz Port
NAS_IDX="799" # NAS Switch IDX
NAS_HD1_TEMP_IDX="800" # NAS HD1 Temp IDX
#NAS_HD2_TEMP_IDX="3" # NAS HD2 Temp IDX
NAS_CPU_IDX="801" # NAS CPU IDX
NAS_MEM_IDX="802" # NAS MEM IDX
NAS_HD_SPACE_PERC_IDX="803" # NAS HD Space IDX in %
NAS_HD_SPACE_IDX="804" # NAS HD Space IDX in Go
# Check if NAS in online
PINGTIME=`ping -c 1 -q $NASIP | awk -F"/" '{print $5}' | xargs`
echo $PINGTIME
if expr "$PINGTIME" '>' 0
then
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_IDX" | grep "Status" | grep "On" > /dev/null
if [ $? -eq 0 ] ; then
# echo "NAS already ON"
# Temperature HD1
HDtemp1=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.6574.2.1.1.6.0`
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD1_TEMP_IDX&nvalue=0&svalue=$HDtemp1" > /dev/null
# Temperature HD2
#HDtemp2=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.6574.2.1.1.6.1`
# Send data
#curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD2_TEMP_IDX&nvalue=0&svalue=$HDtemp2"
# Free space volume in Go
HDUnit=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.4.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDTotal=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.5.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDUsed=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.6.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
#HDFree=$((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD_SPACE_IDX&nvalue=0&svalue=$HDFree" > /dev/null
# Free space volume in percent
HDTotal=`snmpget -c $PASSWORD -v2c -O qv $NASIP .1.3.6.1.2.1.25.2.3.1.5.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDUsed=`snmpget -c $PASSWORD -v2c -O qv $NASIP .1.3.6.1.2.1.25.2.3.1.6.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDFreePerc=$((($HDUsed * 100) / $HDTotal))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD_SPACE_PERC_IDX&nvalue=0&svalue=$HDFreePerc" > /dev/null
# CPU utilisation
CpuUser=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.11.9.0`
CpuSystem=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.11.10.0`
CpuUse=$(($CpuUser + $CpuSystem))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_CPU_IDX&nvalue=0&svalue=$CpuUse" > /dev/null
# Free Memory Available in %
MemAvailable=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.4.13.0`
MemAvailableinMo=$(($MemAvailable / 1024))
#MemUsepercent=$((($MemAvailableinMo * 100) / 1024))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_MEM_IDX&nvalue=0&svalue=$MemAvailableinMo" > /dev/null
else
# echo "NAS ON"
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_IDX&switchcmd=On" > /dev/null
# Temperature HD1
HDtemp1=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.6574.2.1.1.6.0`
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD1_TEMP_IDX&nvalue=0&svalue=$HDtemp1" > /dev/null
# Temperature HD2
HDtemp2=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.6574.2.1.1.6.1`
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD2_TEMP_IDX&nvalue=0&svalue=$HDtemp2" > /dev/null
# Free space volume in Go
HDUnit=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.4.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDTotal=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.5.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDUsed=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.2.1.25.2.3.1.6.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDFree=$((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD_SPACE_IDX&nvalue=0&svalue=$HDFree" > /dev/null
# Free space volume in percent
HDTotal=`snmpget -c $PASSWORD -v2c -O qv $NASIP .1.3.6.1.2.1.25.2.3.1.5.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDUsed=`snmpget -c $PASSWORD -v2c -O qv $NASIP .1.3.6.1.2.1.25.2.3.1.6.41` # Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+
HDFreePerc=$((($HDUsed * 100) / $HDTotal))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_HD_SPACE_PERC_IDX&nvalue=0&svalue=$HDFreePerc" > /dev/null
# CPU utilisation
CpuUser=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.11.9.0`
CpuSystem=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.11.10.0`
CpuUse=$(($CpuUser + $CpuSystem))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_CPU_IDX&nvalue=0&svalue=$CpuUse" > /dev/null
# Free Memory Available in %
MemAvailable=`snmpget -v 2c -c $PASSWORD -O qv $NASIP 1.3.6.1.4.1.2021.4.13.0`
MemAvailableinMo=$(($MemAvailable / 1024))
#MemUsepercent=$((($MemAvailableinMo * 100) / 1024))
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$NAS_MEM_IDX&nvalue=0&svalue=$MemAvailableinMo" > /dev/null
fi
else
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_IDX" | grep "Status" | grep "Off" > /dev/null
if [ $? -eq 0 ] ; then
# echo "NAS already OFF"
exit
else
# echo "NAS OFF"
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_IDX&switchcmd=Off" > /dev/null
fi
fi
ensuite déclarer le crontab
depuis le raspberry
ajouter la ligne
Code : Tout sélectionner
*/2 * * * * sudo bash /home/pi/domoticz/scripts/sh/synology.sh > /dev/null 2>&1
enregistrer c'est terminé
Re: Monitorer mon synology
Publié : 31 juil. 2018, 17:29
par Zoug
Merci papoo !
En fait domoticz étant sur mon syno je le monitore directement.
Je n'ai pas réussi à installer snmpget dessus du coup j'ai remplacé la commande par snmpwalk.
Pour certains calculs il a fallut que je fasse un sed et un cut pour virer les unités mais tout roule à la fin !
Merci encore pour ton aide
Re: Monitorer mon synology
Publié : 01 août 2018, 19:42
par Tonio16
papoo a écrit :
ajouter la ligne
Code : Tout sélectionner
*/2 * * * * sudo bash /home/pi/domoticz/scripts/sh/synology.sh > /dev/null 2>&1
enregistrer c'est terminé
Bonsoir Papoo
Le crontab ne semble pas se lancer chez moi. Si on lance le sh depuis ssh avec ./nas.sh, est-ce que Domoticz devrait se mettre à jour ? Moi cela me donne deux valeurs; 0.758 (variable mais reste proche) et 1. Est-ce normal?
Quelle adresse pour le rasp? la 127.0.0.1 ou l'IP du réseau: 192.168.x.x
Sur la page wiki, la ligne à ajouter est différente. Pourrais tu m'expliquer tes ajouts?
sudo, ok.
Bash?
/dev/null 2>&1 ???
Code : Tout sélectionner
*/5 * * * * /home/pi/domoticz/scripts/nas.sh (= every 5 minutes)
Merci
Antoine
Re: Monitorer mon synology
Publié : 01 août 2018, 21:36
par papoo
je suis pas un pro non plus
bash = j'indique au systeme que c'est un script bash (sinon ça ne fonctionne pas chez moi)
> /dev/null 2>&1 = je ne souhaite pas que l’événement remplisse un fichier log qu'il me faudrait vider régulierement
pour plus d'info
https://fr.wikipedia.org/wiki//dev/null et
http://lanterne-rouge.over-blog.org/art ... 33357.html
*/2 * * * * = toutes les deux minutes
si je le lance en ligne de commande, j'ai 0.895 et 1.
le premier c'est le pingtime parce que j'ai oublié de commenter la ligne echo $PINGTIME
l'affichage du 1 est généré par l'expression
pour désactiver l'affiche du 1
pour l'ip le 127.0.0.1 permet de spécifier que c'est sur la machine où s'execute ce script que se trouve domoticz, ça evite d'avoir à changer l'ip dans le script à chaque fois que l'on installe le script sur une nouvelle machine ou si elle est en dhcp
Re: Monitorer mon synology
Publié : 02 août 2018, 06:56
par Tonio16
papoo a écrit :je suis pas un pro non plus
bash = j'indique au systeme que c'est un script bash (sinon ça ne fonctionne pas chez moi)
> /dev/null 2>&1 = je ne souhaite pas que l’événement remplisse un fichier log qu'il me faudrait vider régulierement
pour plus d'info
https://fr.wikipedia.org/wiki//dev/null et
http://lanterne-rouge.over-blog.org/art ... 33357.html
*/2 * * * * = toutes les deux minutes
si je le lance en ligne de commande, j'ai 0.895 et 1.
le premier c'est le pingtime parce que j'ai oublié de commenter la ligne echo $PINGTIME
l'affichage du 1 est généré par l'expression
pour désactiver l'affiche du 1
pour l'ip le 127.0.0.1 permet de spécifier que c'est sur la machine où s'execute ce script que se trouve domoticz, ça evite d'avoir à changer l'ip dans le script à chaque fois que l'on installe le script sur une nouvelle machine ou si elle est en dhcp
Ok, merci. J'ai réussi à faire marcher la chose puis Domoticz c'est mis Offline. Le service est bien actif mais les ports 8080 et 443 restent fermés...
Re: Monitorer mon synology
Publié : 03 août 2018, 15:50
par nene82
Bon ben du coup, je sais pas faire. Le syno héberge Domoticz qui monitore le syno....IoI, rigolo!
@ bientôt peut être, je vais chercher ailleurs.
Cdt,