[DzVents] Supervision d'un nas Synology avec SNMP
Re: DZVents : Supervision d'un nas Synology avec SNMP
Bonsoir,
Ça fonctionne avec ta version du script.
Il faut juste que je regarde pour avoir l'espace libre/utilisé en Go et non en To.
Merci.
Ça fonctionne avec ta version du script.
Il faut juste que je regarde pour avoir l'espace libre/utilisé en Go et non en To.
Merci.
Re: DZVents : Supervision d'un nas Synology avec SNMP
Papoo
J'ai changé le type du device "synology espace disponible". Il m'affichait toujours zéro dans la ligne titre. De plus le log était étrange: des pointes certains jours et la reste du temps zéro.
J'ai changé pour un simple custom.
Antoine
J'ai changé le type du device "synology espace disponible". Il m'affichait toujours zéro dans la ligne titre. De plus le log était étrange: des pointes certains jours et la reste du temps zéro.
J'ai changé pour un simple custom.
Antoine
Domoticz V2020.2 sous raspbian-Buster
Raspberry Pi B+ avec Clé Zigate 3.1d Plugin 4.11.011
Raspberry Pi B+ avec Clé Zigate 3.1d Plugin 4.11.011
Re: DZVents : Supervision d'un nas Synology avec SNMP
j'ai exactement le même problème, j'avais configuré un compteur je le remplace par un custom sensor
merci
merci
Re: DZVents : Supervision d'un nas Synology avec SNMP
Bonjour,
Dans le code ci-dessous il faut indiquer le nom des interrupteurs ?
J'ai mis le script en place, une fois mis dans le dossier il n'y a rien a faire pour que les valeurs remonte ? Je n'ai rien qui remonte au niveau des valeurs.
Merci
Dans le code ci-dessous il faut indiquer le nom des interrupteurs ?
J'ai mis le script en place, une fois mis dans le dossier il n'y a rien a faire pour que les valeurs remonte ? Je n'ai rien qui remonte au niveau des valeurs.
Merci
Code : Tout sélectionner
local NasIp = "192.168.1.5" -- NAS IP Address
local CommunityPassword = "password" -- SNMP Password
local NAS = "Synology" -- NAS Switch
local NAS_HD1_TEMP = "Synology Temp" -- NAS HD1 Temp
local NAS_CPU = "Synology Utilisation CPU" -- NAS CPU
local NAS_MEM = "Synology Utilisation RAM" -- NAS MEM
local NAS_HD_SPACE_PERC = "Synology Occupation Disque" -- NAS HD Space in %
local NAS_HD_SPACE = "Synology Espace Disponible" -- NAS HD Space in Go
local NAS_HD2_TEMP = "" -- NAS HD2 Temp
local OID_HDtemp1 = '1.3.6.1.4.1.6574.2.1.1.6.0' -- Temperature HD1Re: DZVents : Supervision d'un nas Synology avec SNMP
tu as installé SNMP sur ton systeme ?
tu as activé le snmp sur le nas?
As tu testé en ligne de commande (comme indiqué en début de script) voir si tu avais bien des infos qui remontent?
As tu renseigné le password SNMP du nas dans le script?
oui il faut renseigner les noms des devices affectés a la gestion de ton nas, le script est sensible à la case (Majuscule/Minuscule) aux espaces ils doivent etre exactement pareil.
il n'y a qu'un interrupteur, le reste ce sont soient des sondes de température ou des customs sensors.
décommente la ligne (enleve les deux tirets devant) et regarde ce qui remonte
tu as activé le snmp sur le nas?
As tu testé en ligne de commande (comme indiqué en début de script) voir si tu avais bien des infos qui remontent?
As tu renseigné le password SNMP du nas dans le script?
oui il faut renseigner les noms des devices affectés a la gestion de ton nas, le script est sensible à la case (Majuscule/Minuscule) aux espaces ils doivent etre exactement pareil.
il n'y a qu'un interrupteur, le reste ce sont soient des sondes de température ou des customs sensors.
décommente la ligne
Code : Tout sélectionner
-- level = domoticz.LOG_DEBUG,Re: DZVents : Supervision d'un nas Synology avec SNMP
C'est bon j'ai changé la fin des valeurs OID, il me reste à voir la Ram il me dit 5% utilisé alors que sur le Nas je suis à 30% . Pareil pour l'espace disque, il me dit 38% utilisé alors que sur le Nas je suis a 58% et espace dispo il indique 1Go alors qu'il me reste 2.24To.
Pour la mémoire à la ligne 124 et 139 c'est indiqué 1024 du coup faut que je passe à 4096 ?
Pour les HDD il me remonte les 2 à 38° alors qu'ils sont à 38 42 42 et 40.
Merci
Pour la mémoire à la ligne 124 et 139 c'est indiqué 1024 du coup faut que je passe à 4096 ?
Pour les HDD il me remonte les 2 à 38° alors qu'ils sont à 38 42 42 et 40.
Merci
Re: DZVents : Supervision d'un nas Synology avec SNMP
les oid sont differentrs selon les modeles.
je n'ai qu'un ds218 je n'ai pas testé avec autre chose, il va te falloir adapter le script à ton matériel
je n'ai qu'un ds218 je n'ai pas testé avec autre chose, il va te falloir adapter le script à ton matériel
Re: DZVents : Supervision d'un nas Synology avec SNMP
J'ai trouvé l'OID pour la température système, si on test la ligne elle remonte bien la température que l'on trouve dans le centre d'info.
La voici
Je l'ai trouvé sur cette page https://jbsky.fr/nagios-monitorer-une-s ... -synology/
J'ai essayer de l'ajouter, mais ce qui est bizarre c'est que toutes mes températures remonte 38° la température de HDD1, dans les logs j'ai bien 43° qui remonte pour le système. Après je suis pas douté en codage donc voici le script modifié et les logs.
La voici
Il serait bien de mettre à jour le script pour l'ajouter.1.3.6.1.4.1.6574.1.2.0
Je l'ai trouvé sur cette page https://jbsky.fr/nagios-monitorer-une-s ... -synology/
J'ai essayer de l'ajouter, mais ce qui est bizarre c'est que toutes mes températures remonte 38° la température de HDD1, dans les logs j'ai bien 43° qui remonte pour le système. Après je suis pas douté en codage donc voici le script modifié et les logs.
Code : Tout sélectionner
--[[
name : synology.lua
auteur : papoo
creation : 24/08/2018
mise à jour : 03/09/2018
https://pon.fr/dzvents-supervision-dun-nas-synology-avec-snmp/
https://github.com/papo-o/domoticz_scripts/blob/master/dzVents/scripts/Synology.lua
https://easydomoticz.com/forum/viewtopic.php?f=17&t=7022
http://www.domoticz.com/forum/viewtopic.php?f=59&t=24618
For this script to work you need to enable SNMP on your synology NAS and install SNMP on your Raspberry Pi
Enable SNMP on your synology NAS
Go toMain Menu>Control Panel >SNMP to enable SNMP service, which allows users to monitor
Synology DiskStation network flow with the network management software.
You can use V1/V2
And set a password (Community)
Install SNMP on Raspberry Pi
Log in to you Raspberry Pi and issue:
sudo apt-get install snmpd
sudo apt-get install snmp
Reboot your Pi:
sudo reboot
Check if SNMP is up and running, issue:
snmpget -v 2c -c PASSWORD -O qv NASIPADDRESS 1.3.6.1.4.1.6574.1.5.1.0
Replace PASSWORD with the Community name you entered while setting up your NAS
Replace NASIPADDRESS with the ip address of your NAS
You should get something like this:
"DS218+" which corresponds to your Synology Model
test
snmpget -v 2c -c PASSWORD -O qv NASIPADDRESS 1.3.6.1.2.1.25.2.3.1.5.31
snmpget -v 2c -c PASSWORD -O qv NASIPADDRESS 1.3.6.1.2.1.25.2.3.1.5.38
snmpget -v 2c -c PASSWORD -O qv NASIPADDRESS 1.3.6.1.2.1.25.2.3.1.5.41
then modify OID_HDUnit, OID_HDTotal, OID_HDUsed variables (.38 on DSM 5.1, .41 on DSM 6.0+ or .31 on my new DS218)
if you have à DS2XX model, uncomment -- local OID_HDtemp2='1.3.6.1.4.1.6574.2.1.1.6.1' to show the hdd2 temperature
Then create:
1 device Switch
1 temperature device
3 percent devices
1 meter device
--]]
--------------------------------------------
-------------Fonctions----------------------
--------------------------------------------
function format(str)
if (str) then
str = string.gsub (str, " Bytes", "")
str = string.gsub (str, " kB", "")
end
return str
end
-------------------------------------------
-------------Fin Fonctions-----------------
-------------------------------------------
local NasIp = "192.168.1.5" -- NAS IP Address
local CommunityPassword = "password" -- SNMP Password
local NAS = "Synology" -- NAS Switch
local NAS_HD1_TEMP = "Synology HDD1" -- NAS HD1 Temp
local NAS_CPU = "Synology Utilisation CPU" -- NAS CPU
local NAS_MEM = "Synology Utilisation RAM" -- NAS MEM
local NAS_HD_SPACE_PERC = "Synology Occupation Disque" -- NAS HD Space in %
local NAS_HD_SPACE = "Synology Espace Disponible" -- NAS HD Space in Go
local NAS_HD2_TEMP = "Synology HDD2" -- NAS HD2 Temp
local NAS_TEMP_SYSTEM = "Synology Systeme" -- NAS Temp System
local OID_HDtemp1 = '1.3.6.1.4.1.6574.2.1.1.6.0' -- Temperature HD1
local OID_HDUnit = '1.3.6.1.2.1.25.2.3.1.4.31' -- OID HD Unit Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .31 on my new DS218
local OID_HDTotal = '1.3.6.1.2.1.25.2.3.1.5.31' -- OID Total space volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .31 on my new DS218
local OID_HDUsed = '1.3.6.1.2.1.25.2.3.1.6.31' -- OID Space used volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+or .31 on my new DS218
local OID_CpuUser = '1.3.6.1.4.1.2021.11.9.0' -- OID CPU user
local OID_CpuSystem = '1.3.6.1.4.1.2021.11.10.0' -- OID CPU System
local OID_MemAvailable = '1.3.6.1.4.1.2021.4.13.0' -- OID Free Memory Available
local OID_HDtemp2= '1.3.6.1.4.1.6574.2.1.1.6.1' -- OID Temperature HD2
local OID_Temp_system= '1.3.6.1.4.1.6574.1.2.0' -- Temperature System
return {
active = true,
on = {
timer = {'every minute'}
},
-- on = { devices = { "your trigger device" }},
logging = { -- level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR, -- Only one level can be active; comment others
level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = "Synology Monitor v1.04 " },
execute = function(dz)
local i = 0
local results = {}
local command = 'snmpget -v 2c -c '..CommunityPassword..' -O qv '..NasIp..' '..OID_HDtemp1..' '..OID_HDUnit..' '..OID_HDTotal..' '..OID_HDUsed..' '..OID_CpuUser..' '..OID_CpuSystem..' '..OID_MemAvailable..' '..OID_HDtemp2..' '..OID_Temp_system
local handle = assert(io.popen(command))
for line in handle:lines() do
--for i, line in pairs(handle) do
--dz.log(format(line),dz.LOG_DEBUG)
results[i] = format(line)
i = i + 1
end
handle:close()
if results[0] then
dz.log("HDTemp1 : "..results[0],dz.LOG_DEBUG)
dz.devices(NAS_HD1_TEMP).update(0,results[0])
end
if results[1] then dz.log("HDUnit : "..results[1],dz.LOG_DEBUG) end
if results[2] then dz.log("HDTotal : "..results[2],dz.LOG_DEBUG) end
if results[3] then dz.log("HDUsed : "..results[3],dz.LOG_DEBUG) end
if results[4] then dz.log("CpuUser : "..results[4],dz.LOG_DEBUG) end
if results[5] then dz.log("CpuSystem : "..results[5],dz.LOG_DEBUG) end
if results[6] then dz.log("MemAvailable : "..results[6],dz.LOG_DEBUG) end
if results[7] then
dz.log("HDTemp2 : "..results[0],dz.LOG_DEBUG)
if NAS_HD2_TEMP then dz.devices(NAS_HD2_TEMP).update(0,results[0]) end
end
if results[8] then
dz.log("SYStemp : "..results[8],dz.LOG_DEBUG)
if NAS_TEMP_SYSTEM then dz.devices(NAS_TEMP_SYSTEM).update(0,results[0]) end
end
local HDFree = dz.utils.round(((results[2] - results[3]) * results[1] / 1024 / 1024 / 1024), 0)
if HDFree then
dz.log("HDFree : "..HDFree,dz.LOG_DEBUG)
dz.devices(NAS_HD_SPACE).update(0,HDFree)
end
local HDFreePerc = dz.utils.round(((results[3] * 100) / results[2]), 0)
if HDFreePerc then
dz.log("HDFreePercent : "..HDFreePerc,dz.LOG_DEBUG)
dz.devices(NAS_HD_SPACE_PERC).update(0,HDFreePerc)
end
local CpuUsed = (results[4] + results[5])
if CpuUsed then
dz.log("CpuUsed : "..CpuUsed,dz.LOG_DEBUG)
dz.devices(NAS_CPU).update(0,CpuUsed)
end
local MemUsedPerc = dz.utils.round((((results[6] / 1024) *100 / 1024)), 0)
if MemUsedPerc then
dz.log("MemUsedPercent : "..MemUsedPerc,dz.LOG_DEBUG)
dz.devices(NAS_MEM).update(0,MemUsedPerc)
end
if results[0] and results[5] and results[6] then
dz.log("Requete SNMP correcte ",dz.LOG_DEBUG)
dz.devices(NAS).switchOn().checkFirst()
else
dz.log("Requete SNMP incorrecte ",dz.LOG_DEBUG)
dz.devices(NAS).switchOff().checkFirst()
end
end
}2019-02-10 17:04:00.290 Status: dzVents: Info: Synology Monitor v1.04 : ------ Start external script: Synology.lua:, trigger: every minute
2019-02-10 17:04:00.351 Status: dzVents: Debug: Synology Monitor v1.04 : HDTemp1 : 38
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology HDD1: Temperature device adapter
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : HDUnit : 4096
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : HDTotal : 596382
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : HDUsed : 230597
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : CpuUser : 2
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : CpuSystem : 3
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : MemAvailable : 40892
2019-02-10 17:04:00.368 Status: dzVents: Debug: Synology Monitor v1.04 : HDTemp2 : 38
2019-02-10 17:04:00.369 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology HDD2: Temperature device adapter
2019-02-10 17:04:00.369 Status: dzVents: Debug: Synology Monitor v1.04 : SYStemp : 43
2019-02-10 17:04:00.370 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology Systeme: Temperature device adapter
2019-02-10 17:04:00.370 Status: dzVents: Debug: Synology Monitor v1.04 : HDFree : 1
2019-02-10 17:04:00.370 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology Espace Disponible: Counter device adapter
2019-02-10 17:04:00.371 Status: dzVents: Debug: Synology Monitor v1.04 : HDFreePercent : 39
2019-02-10 17:04:00.371 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology Occupation Disque: Percentage device adapter
2019-02-10 17:04:00.372 Status: dzVents: Debug: Synology Monitor v1.04 : CpuUsed : 5
2019-02-10 17:04:00.372 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology Utilisation CPU: Percentage device adapter
2019-02-10 17:04:00.372 Status: dzVents: Debug: Synology Monitor v1.04 : MemUsedPercent : 4
2019-02-10 17:04:00.373 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology Utilisation RAM: Percentage device adapter
2019-02-10 17:04:00.373 Status: dzVents: Debug: Synology Monitor v1.04 : Requete SNMP correcte
2019-02-10 17:04:00.374 Status: dzVents: Debug: Synology Monitor v1.04 : Processing device-adapter for Synology: Switch device adapter
2019-02-10 17:04:00.374 Status: dzVents: Debug: Synology Monitor v1.04 : Constructed timed-command: On
2019-02-10 17:04:00.374 Status: dzVents: Info: Synology Monitor v1.04 : ------ Finished Synology.lua
Re: DZVents : Supervision d'un nas Synology avec SNMP
en fait tu veux changer le script pour les synology 1 disque afin de l'utiliser sur les synology à plusieurs disques
pas besoin, le script existe deja
et l'oid que tu donne n'est pas la température du CPU mais du systeme, déjà implémenté dans la version à plusieurs disques
https://github.com/papo-o/domoticz_scri ... ology2.lua
pas besoin, le script existe deja
et l'oid que tu donne n'est pas la température du CPU mais du systeme, déjà implémenté dans la version à plusieurs disques
https://github.com/papo-o/domoticz_scri ... ology2.lua
Re: DZVents : Supervision d'un nas Synology avec SNMP
Ah merci à toi c'est beaucoup mieux.
Reste à savoir pourquoi Domoticz m'affiche 2x la température du HDD1 et si je teste les lignes avec l'OID j'ai bien 2 température différente.
Une autre question, dans espace dispo pourquoi il m'affiche 1To et pas la bonne valeur que j'ai en dessous (2.24To) ?

Merci
Reste à savoir pourquoi Domoticz m'affiche 2x la température du HDD1 et si je teste les lignes avec l'OID j'ai bien 2 température différente.
Code : Tout sélectionner
sebr@Serveur-debian:~$ snmpwalk -v 2c -c synology 192.168.1.5 1.3.6.1.4.1.6574.2.1.1.6.0
iso.3.6.1.4.1.6574.2.1.1.6.0 = INTEGER: 37
sebr@Serveur-debian:~$ snmpwalk -v 2c -c synology 192.168.1.5 1.3.6.1.4.1.6574.2.1.1.6.1
iso.3.6.1.4.1.6574.2.1.1.6.1 = INTEGER: 41

Merci