https://github.com/prometheus/snmp_exporter/issues/1456

On Saturday, 28 June 2025 at 09:46:48 UTC+1 Brian Candler wrote:

> As a guess, the failure to detect missing config is due to glob expansion 
> - e.g. expand glob pattern "snmp.yml" and it returns an empty list.
>
> Maybe it would be reasonable to give an error if the glob expansion 
> matches no files - or at least a warning.
>
> On Friday, 27 June 2025 at 08:54:16 UTC+1 Ben Kochie wrote:
>
>> Hmm, maybe we should add an empty config check (no modules, no auths) to 
>> the startup.
>>
>> On Fri, Jun 27, 2025 at 9:20 AM 'Brian Candler' via Prometheus Users <
>> [email protected]> wrote:
>>
>>> You're not passing --config.file to snmp_exporter.
>>>
>>> Therefore it will only attempt to pick up a file called "snmp.yml" from 
>>> the working directory where it was started, and you can check that 
>>> directory using:
>>> ls -l /proc/784/cwd
>>>
>>> But if that file doesn't exist, it will silently ignore the problem and 
>>> run with *no* configuration at all (which is pretty useless). That seems to 
>>> be the most likely thing that's happened here.
>>>
>>> On Thursday, 26 June 2025 at 17:49:48 UTC+1 Joel Djojotaroeno wrote:
>>>
>>>> rpbgintern2@rpbgintern:~$ ps auxwww | grep prometheus
>>>> prometh+    1823  0.2  0.8 1744528 105088 ?      Ssl  14:31   0:21 
>>>> /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml 
>>>> --storage.tsdb.path=/var/lib/prometheus/
>>>> rpbgint+    1942  0.0  0.0   6612  2396 pts/0    S+   16:47   0:00 grep 
>>>> --color=auto prometheus
>>>>
>>>> rpbgintern2@rpbgintern:~$ ps auxwww | grep snmp_exporter
>>>> rpbgint+     787  0.0  0.1 1239076 12976 ?       Ssl  11:24   0:04 
>>>> /home/rpbgintern2/snmp_exporter-0.26.0.linux-amd64/snmp_exporter 
>>>> --web.listen-address=172.27.136.2:9116
>>>> rpbgint+    1944  0.0  0.0   6612  2388 pts/0    S+   16:48   0:00 grep 
>>>> --color=auto snmp_exporter
>>>>
>>>> I must specify that i'm only using snmp v1.
>>>>
>>>> On Thursday, June 26, 2025 at 12:43:04 PM UTC-3 Brian Candler wrote:
>>>>
>>>>> On Thursday, 26 June 2025 at 15:42:36 UTC+1 Joel Djojotaroeno wrote:
>>>>>
>>>>> I have two prometheus.yml files:
>>>>> /home/rpbgintern2/prometheus.yml
>>>>> /etc/prometheus/prometheus.yml
>>>>>
>>>>> And two snmp.yml files:
>>>>> /home/rpbgintern2/snmp_exporter-0.26.0.linux-amd64/snmp.yml
>>>>> /home/rpbgintern2/snmp/snmp.yml
>>>>>
>>>>> I don't know if multiple yml files are causing this error. 
>>>>>
>>>>>
>>>>> No. But you do need to work out which is being used.
>>>>>
>>>>> This depends on how you are starting the services. Are you using 
>>>>> systemd services perhaps?
>>>>>
>>>>> If you're not sure, then use
>>>>> ps auxwww | grep prometheus
>>>>> ps auxwww | grep snmp_exporter
>>>>> to see what flags you're running them with.
>>>>>
>>>>> For prometheus, the config file is specified by the --config.file 
>>>>> argument. If you don't specify it, it will read "prometheus.yml" in 
>>>>> whatever the current working directory is when prometheus is started.
>>>>>
>>>>> snmp_exporter also has a --config.file argument; I believe it defaults 
>>>>> to "snmp.yml" in the current working directory.  It can be used with a 
>>>>> wildcard, e.g. '--config.file=/etc/prometheus/snmp.d/*.yml'.  
>>>>> This is very useful because you can provide multiple files: the 
>>>>> supplied snmp.yml, and then a separate file (say "auth.yml") with just 
>>>>> your 
>>>>> site-specific authentication parameters. For example:
>>>>>
>>>>> auths:
>>>>>   test_v2:
>>>>>     version: 2
>>>>>     community: Testing123
>>>>>
>>>>>   test_v3:
>>>>>     version: 3
>>>>>     security_level: authNoPriv
>>>>>     username: admin
>>>>>     auth_protocol: SHA
>>>>>     password: Testing123
>>>>>
>>>>>   test_v3_priv:
>>>>>     version: 3
>>>>>     security_level: authPriv
>>>>>     username: admin
>>>>>     auth_protocol: SHA
>>>>>     password: Testing123
>>>>>     priv_protocol: AES
>>>>>     priv_password: VerySecret
>>>>>
>>>>> If you're polling snmp_exporter with parameter public_v1, then this 
>>>>> auth needs to be defined. The supplied snmp.yml does define this, so 
>>>>> perhaps your snmp_exporter is not picking up *any* configuration files? 
>>>>> That will be down to the --config.file parameter you may or may not be 
>>>>> passing.
>>>>>  
>>>>> Either that, or there's a typo somewhere. I note that your error 
>>>>> message complains about "public_v1_'' with a trailing underscore.
>>>>>
>>>> -- 
>>>
>> 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 visit 
>>> https://groups.google.com/d/msgid/prometheus-users/9421905d-63ab-4413-adca-5f781b62d1bdn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/prometheus-users/9421905d-63ab-4413-adca-5f781b62d1bdn%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 visit 
https://groups.google.com/d/msgid/prometheus-users/38a1d281-453a-4e7f-94a9-9effa75137dan%40googlegroups.com.

Reply via email to