Hi, To inform about Synology support case opened and MIB status. They are now aware of some issues in MIB definitions. I did mention a patch to fix one of those MIB files, but, frankly, I didn't get the impression that will be a drive for them to get more involved into the matter.
>From their response: *"I've already forwarded the issue to our developer and they acknowledge that there're some problem related to the Couter64 in Synology RAID MIB file.* *Most of the 64bit unit is only supported SNMPv2 but not v1 which causing this issue.They had already made a record on this issue and review Synology's MIBs and fix the MIB files if necessary.However, they confirm currently, the problem won't affect the MIB files to work normally through SNMP."* And, of course, the fact that this MIB file can cause a snmp generator to produce an unusable yml file for prometheus snmp has been ignored. Best regards, Mario. man. 24. aug. 2020 kl. 12:23 skrev Mario Pranjic <[email protected]>: > Hi Ben, > > I will gladly help. Just let me know how to approach the matter. > Initially I opened a request on Synology asking if they support Prometheus > node exporter, since it is debian-based Linux on DSM. > I could attempt to install it on my own, but then Synology support is off > and they don't guarantee anything (understandable, but not optimal). > > So they mentioned snmp instead. And there we are, now. :) > > > man. 24. aug. 2020 kl. 11:47 skrev Ben Kochie <[email protected]>: > >> If we're going to talk to Synology, maybe we can get them to support >> Prometheus directly. I'd sell my QNAP if they did that. ;-) >> >> For example, here's a patch to the MIB file that helps with the types: >> >> https://gitlab.com/superq/mibs/-/commit/40ddc8af074961abfa89d2d94da9fd290e8e3f71 >> >> On Mon, Aug 24, 2020 at 11:22 AM Mario Pranjic <[email protected]> >> wrote: >> >>> Hi, >>> >>> A small update: indeed there are errors in provided MIB files by >>> Synology. I ran some of them into >>> http://www.muonics.com/Tools/smicheck.php and reported some examples to >>> Synology. >>> A case is opened on the Synology side and they will send it to their dev >>> team. We will see if/when they come up with something useful. >>> >>> Best regards, >>> >>> Mario. >>> >>> lør. 22. aug. 2020 kl. 20:38 skrev Mario Pranjic < >>> [email protected]>: >>> >>>> Hi Ben, >>>> >>>> Thank you very much for your time and effort. >>>> Indeed, I am not an expert in snmp (that was always somehow left on >>>> TODO list). Maybe this is a good opportunity to fill in the gaps in >>>> knowledge. :) >>>> >>>> The thing is... With snmp.yml which comes as a result of that >>>> snmp_exporter role, I do get some communication with Synology from >>>> Prometheus, but the list is pretty awkward. >>>> By pointing browser to: >>>> http://127.0.0.1:9116/snmp?target=192.168.10.187 >>>> i get output as noted in list.txt file. >>>> >>>> I see no info about disks and raid. >>>> >>>> However, if I run snmpget from Prometheus/snmp_exporter node against >>>> Synology, I can read values documented by Synology. >>>> >>>> For example, disk temperature (disk0 and disk1): >>>> root@monnew:/# snmpget -c public -v 2c -O qv 192.168.10.187 >>>> 1.3.6.1.4.1.6574.2.1.1.6.0 >>>> 29 >>>> root@monnew:/# snmpget -c public -v 2c -O qv 192.168.10.187 >>>> 1.3.6.1.4.1.6574.2.1.1.6.1 >>>> 31 >>>> >>>> Or some info: >>>> root@monnew:/# snmpget -c public -v 2c -O qv 192.168.10.187 >>>> 1.3.6.1.4.1.6574.1.5.1.0 >>>> "DS216j" >>>> >>>> I tried to use snmp.yml you provided in example or building one based >>>> on your example generator.yml, but in both cases >>>> http://127.0.0.1:9116/snmp?target=192.168.10.187 will return error: >>>> Unkown_module 'if_mib' >>>> >>>> The question why snmp_exporter is returning only a small portion of >>>> values data from Synology is, I presume, related to the snmp.yml file. >>>> How to generate the right one is an enigma. :/ >>>> >>>> Attaching snmp.yml provisioned by snmp_exporter role for the reference. >>>> >>>> Best regards, >>>> >>>> Mario. >>>> >>>> >>>> >>>> >>>> lør. 22. aug. 2020 kl. 09:42 skrev Ben Kochie <[email protected]>: >>>> >>>>> You will probably need to have a good understanding of SNMP and MIBs >>>>> in order create new generator configs. Unfortunately, the Synology MIBs >>>>> have a large number of mistakes, making it even harder to work with. >>>>> >>>>> I created a simple example of how to use the generator based on what I >>>>> found in the SYNOLOGY-RAID-MIB. >>>>> >>>>> https://github.com/SuperQ/tools/tree/master/snmp_exporter/Synology >>>>> >>>>> I corrected as many of the errors as I could, but Synology didn't >>>>> format the raidStatus as an ENUM. >>>>> >>>>> On Fri, Aug 21, 2020 at 3:46 PM Mario Pranjic <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Ben, >>>>>> >>>>>> Community string was wrong. I fixed that. Now I can tell >>>>>> snmp_exporter can communicate properly. >>>>>> >>>>>> I can get in Prometheus: >>>>>> sysUpTime{instance="192.168.10.187",job="snmp"} >>>>>> And value is read from the device (incrementing on refresh too). >>>>>> >>>>>> But as for mibs, I still can't use mibs as described in the Synology >>>>>> snmp guide. >>>>>> >>>>>> https://global.download.synology.com/download/Document/Software/DeveloperGuide/Firmware/DSM/All/enu/Synology_DiskStation_MIB_Guide.pdf >>>>>> >>>>>> There is still a step missing in the snmp_exporter role in regards to >>>>>> mibs and/or proper snmp.yml generation. >>>>>> >>>>>> Best regards, >>>>>> >>>>>> Mario. >>>>>> >>>>>> fre. 21. aug. 2020 kl. 15:28 skrev Ben Kochie <[email protected]>: >>>>>> >>>>>>> The SNMP exporter uses UDP for transport, so telnet to 161 isn't >>>>>>> going to help much. I've seen very few devices implement RFC 3430. >>>>>>> >>>>>>> There are usually two problems people run into. >>>>>>> * The community string is wrong (defaults to "public") >>>>>>> * The device has a management IP control and won't allow traffic. >>>>>>> >>>>>>> SNMP implementations generally don't reject incorrect >>>>>>> authentication, rather they simply drop the packets. So it can be hard >>>>>>> to >>>>>>> diagnose. >>>>>>> >>>>>>> On Fri, Aug 21, 2020 at 2:52 PM Mario Pranjic < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Ben, >>>>>>>> >>>>>>>> I ran another VM and used roles: >>>>>>>> - https://github.com/cloudalchemy/ansible-snmp-exporter >>>>>>>> - https://github.com/cloudalchemy/ansible-prometheus >>>>>>>> >>>>>>>> along with Grafana. Prometheus, node.exporter and Grafana work as >>>>>>>> intended (as before). >>>>>>>> >>>>>>>> However, when I try to enable snmp_exporter: >>>>>>>> - job_name: snmp >>>>>>>> metrics_path: /snmp >>>>>>>> params: >>>>>>>> module: >>>>>>>> - if_mib >>>>>>>> relabel_configs: >>>>>>>> - source_labels: >>>>>>>> - __address__ >>>>>>>> target_label: __param_target >>>>>>>> - source_labels: >>>>>>>> - __param_target >>>>>>>> target_label: instance >>>>>>>> - replacement: 127.0.0.1:9116 >>>>>>>> target_label: __address__ >>>>>>>> static_configs: >>>>>>>> - targets: >>>>>>>> - 192.168.10.187 >>>>>>>> >>>>>>>> I get error in syslog: >>>>>>>> Aug 21 14:43:23 monnew snmp_exporter[363]: level=info >>>>>>>> ts=2020-08-21T12:43:23.189Z caller=collector.go:224 module=if_mib >>>>>>>> target=192.168.10.187 msg="Error scraping target" err="scrape canceled >>>>>>>> (possible timeout) getting target 192.168.10.187" >>>>>>>> >>>>>>>> snmp is enabled on device on 192.168.10.187. I tried snmp version >>>>>>>> 2c and 3 but the error message is the same. I can connect on that >>>>>>>> IP:port >>>>>>>> from prometheus/snmp_exporter node: >>>>>>>> root@monnew:~# telnet 192.168.10.187 161 >>>>>>>> Trying 192.168.10.187... >>>>>>>> Connected to 192.168.10.187. >>>>>>>> Escape character is '^]'. >>>>>>>> >>>>>>>> >>>>>>>> Port 9116 is opened on localhost on prometheus/snmp_exporter node: >>>>>>>> root@monnew:/etc/snmp_exporter# netstat -na|grep 9116 >>>>>>>> tcp 0 0 127.0.0.1:35274 127.0.0.1:9116 >>>>>>>> ESTABLISHED >>>>>>>> tcp6 0 0 :::9116 :::* >>>>>>>> LISTEN >>>>>>>> tcp6 0 0 127.0.0.1:9116 127.0.0.1:35274 >>>>>>>> ESTABLISHED >>>>>>>> root@monnew:/etc/snmp_exporter# telnet 127.0.0.1 9116 >>>>>>>> Trying 127.0.0.1... >>>>>>>> Connected to 127.0.0.1. >>>>>>>> Escape character is '^]'. >>>>>>>> >>>>>>>> What I am missing here is that generator thing. I didn't install >>>>>>>> any mibs in this case, and, from what I see in Ansible role, no mibs >>>>>>>> or >>>>>>>> generator has been set/run. >>>>>>>> >>>>>>>> Instead, snmp.yml file is being pulled from remote location: >>>>>>>> "https://raw.githubusercontent.com/prometheus/snmp_exporter/v{{ >>>>>>>> snmp_exporter_version }}/snmp.yml" >>>>>>>> >>>>>>>> Could you shed some light here, because I am obviously missing some >>>>>>>> step along the way. >>>>>>>> >>>>>>>> Thanks in advance! >>>>>>>> >>>>>>>> Best regards, >>>>>>>> >>>>>>>> Mario. >>>>>>>> >>>>>>>> >>>>>>>> fre. 21. aug. 2020 kl. 11:05 skrev Mario Pranjic < >>>>>>>> [email protected]>: >>>>>>>> >>>>>>>>> Hm. >>>>>>>>> >>>>>>>>> I wrote the roles myself for Prometheus and Grafana but I used >>>>>>>>> debian packages for Prometheus and external repository for Grafana. >>>>>>>>> >>>>>>>>> I am fully aware Debian often has older versions of packages >>>>>>>>> (sometimes pretty old). To be able to use prometheus repository (as >>>>>>>>> Grafana >>>>>>>>> provides one), would make our lives a lot easier. :) >>>>>>>>> >>>>>>>>> I will look into these and see if things are better with newer >>>>>>>>> versions. >>>>>>>>> >>>>>>>>> Thanks for the tip! >>>>>>>>> >>>>>>>>> Best regards, >>>>>>>>> >>>>>>>>> Mario. >>>>>>>>> >>>>>>>>> fre. 21. aug. 2020 kl. 10:42 skrev Ben Kochie <[email protected]>: >>>>>>>>> >>>>>>>>>> I highly recommend against using the Debian packages, as they are >>>>>>>>>> extremely out of date. >>>>>>>>>> >>>>>>>>>> If you're using Ansible, you can use these high quality roles. >>>>>>>>>> >>>>>>>>>> https://github.com/cloudalchemy >>>>>>>>>> >>>>>>>>>> For example, https://github.com/cloudalchemy/ansible-prometheus >>>>>>>>>> >>>>>>>>>> We are planning an official Deb repo, but it's not ready yet. >>>>>>>>>> >>>>>>>>>> For the generator, it's going to be one thing you do need to >>>>>>>>>> build, because it needs to be compiled with a distro specific >>>>>>>>>> net-snmp dev >>>>>>>>>> package. >>>>>>>>>> >>>>>>>>>> On Fri, Aug 21, 2020, 10:37 Mario Pranjic < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Ben, >>>>>>>>>>> I use versions available in Debian repository: >>>>>>>>>>> ii prometheus 2.7.1+ds-3+b11 >>>>>>>>>>> amd64 Monitoring system and time series database >>>>>>>>>>> ii prometheus-alertmanager 0.15.3+ds-3+b1 >>>>>>>>>>> amd64 Handle and deliver alerts created by >>>>>>>>>>> Prometheus >>>>>>>>>>> ii prometheus-node-exporter 0.17.0+ds-3+b11 >>>>>>>>>>> amd64 Prometheus exporter for machine metrics >>>>>>>>>>> ii prometheus-snmp-exporter 0.14.0+ds-1+b10 >>>>>>>>>>> amd64 Prometheus exporter for SNMP-enabled devices >>>>>>>>>>> >>>>>>>>>>> I try building as little as possible since all provisioning is >>>>>>>>>>> handled by Ansible at the end. >>>>>>>>>>> >>>>>>>>>>> If there is prometheus external repository for Debian, that >>>>>>>>>>> could be worth checking, but I didn't find one. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> fre. 21. aug. 2020 kl. 10:25 skrev Ben Kochie <[email protected] >>>>>>>>>>> >: >>>>>>>>>>> >>>>>>>>>>>> What version is this, it's likely out of date. I would >>>>>>>>>>>> recommend building from source. >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Aug 20, 2020, 21:11 Mario Polario < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> I am trying to set-up prometheus-snmp-exporter to collect data >>>>>>>>>>>>> from my Synology NAS. >>>>>>>>>>>>> I downloaded mibs (Synology mibs included) >>>>>>>>>>>>> to /usr/share/snmp/mibs. >>>>>>>>>>>>> >>>>>>>>>>>>> When running prometheus-snmp-generator I get an error: >>>>>>>>>>>>> >>>>>>>>>>>>> root@monitoring:/etc/prometheus# prometheus-snmp-generator >>>>>>>>>>>>> generate >>>>>>>>>>>>> >>>>>>>>>>>>> INFO[0000] Loading MIBs from >>>>>>>>>>>>> $HOME/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>>>>>>>>>>>> source="net_snmp.go:136" >>>>>>>>>>>>> WARN[0000] NetSNMP reported 2 parse errors >>>>>>>>>>>>> source="main.go:103" >>>>>>>>>>>>> FATA[0000] Error parsing yml config: Invalid metric type >>>>>>>>>>>>> override 'EnumAsInfo' source="main.go:44" >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I tried removing all from generator.yml except Synology >>>>>>>>>>>>> module, but no change. >>>>>>>>>>>>> >>>>>>>>>>>>> I was following instructions noted >>>>>>>>>>>>> in /usr/share/doc/prometheus-snmp-exporter/README.Debian but I >>>>>>>>>>>>> can't seem >>>>>>>>>>>>> to generate snmp.yml file. >>>>>>>>>>>>> >>>>>>>>>>>>> Any help in understanding what I did wrong is more than >>>>>>>>>>>>> welcomed. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks in advance! >>>>>>>>>>>>> >>>>>>>>>>>>> Best regards, >>>>>>>>>>>>> >>>>>>>>>>>>> Mario. >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "Prometheus Users" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to >>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/prometheus-users/b8f2f195-efc1-4c48-b85b-88a8687964bfn%40googlegroups.com >>>>>>>>>>>>> <https://groups.google.com/d/msgid/prometheus-users/b8f2f195-efc1-4c48-b85b-88a8687964bfn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>> -- You received this message because you are subscribed to the Google Groups "Prometheus Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/CAE%2BvKfCJf5eparz7A%2B%2BuzBCx%2BiSrJbk0E5TDtV9wmg47ZH9BZg%40mail.gmail.com.

