Monitorer mon synology

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Monitorer mon synology

Message 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,
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Monitorer mon synology

Message par cyberbob »

+1
Dernière modification par cyberbob le 28 juil. 2018, 14:07, modifié 1 fois.
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Monitorer mon synology

Message par papoo »

c'est tout a fait faisable avec SNMP
2018-07-27 19_36_02-Domoticz.png
2018-07-27 19_36_02-Domoticz.png (32.62 Kio) Consulté 6888 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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Zoug
Messages : 25
Inscription : 16 oct. 2017, 10:10

Re: Monitorer mon synology

Message 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
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Monitorer mon synology

Message 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
2018-07-30 18_36_12-DiskStation - Synology DiskStation.png (78.54 Kio) Consulté 6764 fois
ensuite il faut installer snmp et snmpd sur le raspberry

Code : Tout sélectionner

sudo apt-get install snmpd -y
sudo apt-get install snmp -y
Reboot du Pi:

Code : Tout sélectionner

sudo reboot
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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=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&param=switchlight&idx=$NAS_IDX&switchcmd=Off" > /dev/null
        fi
 fi
ensuite déclarer le crontab
depuis le raspberry

Code : Tout sélectionner

crontab -e
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é
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Zoug
Messages : 25
Inscription : 16 oct. 2017, 10:10

Re: Monitorer mon synology

Message 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
Tonio16
Messages : 349
Inscription : 13 oct. 2017, 17:00

Re: Monitorer mon synology

Message par Tonio16 »

papoo a écrit :

Code : Tout sélectionner

crontab -e
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
Domoticz V2020.2 sous raspbian-Buster
Raspberry Pi B+ avec Clé Zigate 3.1d Plugin 4.11.011
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Monitorer mon synology

Message 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

Code : Tout sélectionner

if expr "$PINGTIME" '>' 0 

pour désactiver l'affiche du 1

Code : Tout sélectionner

if expr "$PINGTIME" \> 0 > /dev/null 2>&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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Tonio16
Messages : 349
Inscription : 13 oct. 2017, 17:00

Re: Monitorer mon synology

Message 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

Code : Tout sélectionner

if expr "$PINGTIME" '>' 0 

pour désactiver l'affiche du 1

Code : Tout sélectionner

if expr "$PINGTIME" \> 0 > /dev/null 2>&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...
Domoticz V2020.2 sous raspbian-Buster
Raspberry Pi B+ avec Clé Zigate 3.1d Plugin 4.11.011
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Monitorer mon synology

Message par nene82 »

Bon ben du coup, je sais pas faire. Le syno héberge Domoticz qui monitore le syno....IoI, rigolo! :lol:
@ bientôt peut être, je vais chercher ailleurs.
Cdt,
Répondre