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%2BvKfBie%2BwfP0kieH2Y%3Dw_a8Jd4dPzB7UE3Kysa8rxNSFH1GA%40mail.gmail.com.

Reply via email to