Did you use or recompile the generator to make sure it matches the version with the exporter?
On Fri, Jan 19, 2024 at 5:47 PM Nicholas Smith < [email protected]> wrote: > Yep i reviewed the documentation and tried the following changes to the > generator.yml > > auths: > prod_v3: > version: 3 > security_level: authPriv > username: "${snmp_user}" > auth_protocol: SHA > password: ${snmp_password}" > priv_protocol: AES > priv_password: "${snmp_privpass}" > community: "${snmp_community}" > > modules: > # Dell Idrac > idrac: > version: 3 > timeout: 20s > retries: 10 > max_repetitions: 10 > walk: > - statusGroup > - chassisInformationTable > - systemBIOSTable > - firmwareTableEntry > - intrusionTableEntry > - physicalDiskTable > - batteryTable > - controllerTable > - virtualDiskTable > - systemStateTable > - powerSupplyTable > - powerUsageTable > - powerSupplyTable > - voltageProbeTable > - amperageProbeTable > - systemBatteryTable > - networkDeviceTable > - thermalGroup > - interfaces > - systemInfoGroup > - 1.3.6.1.2.1.1 > - eventLogTable > overrides: > systemModelName: > type: DisplayString > systemServiceTag: > type: DisplayString > systemOSVersion: > type: DisplayString > systemOSName: > type: DisplayString > systemBIOSVersionName: > type: DisplayString > firmwareVersionName: > type: DisplayString > eventLogRecord: > type: DisplayString > eventLogDateName: > type: DisplayString > networkDeviceProductName: > type: DisplayString > networkDeviceVendorName: > type: DisplayString > networkDeviceFQDD: > type: DisplayString > networkDeviceCurrentMACAddress: > type: PhysAddress48 > > fortigate: > version: 3 > timeout: 20s > retries: 10 > max_repetitions: 10 > walk: > - system > - interfaces > - ip > - ifXTable > - fgModel > - fgVirtualDomain > - fgSystem > - fgFirewall > - fgMgmt > - fgIntf > - fgAntivirus > - fgApplications > - fgVpn > - fgIps > - fnCoreMib > > I dont think it is correct as I'm still getting the following errors > > msg="Error parsing config file" err="yaml: unmarshal errors:\n line 2: > field fortigate not found in type config.Config\n line 6410: field idrac > not found in type config.Config" > msg="Possible old config file, see > https://github.com/prometheus/snmp_exporter/blob/main/auth-split-migration.md > " > > > On Friday 19 January 2024 at 5:12:23 pm UTC+1 Ben Kochie wrote: > > Did you read the migration doc? > > > https://github.com/prometheus/snmp_exporter/blob/main/auth-split-migration.md > > On Fri, Jan 19, 2024 at 5:10 PM Nicholas Smith wrote: > > Actually struggling with this myself since the change to auth split > migration in v0.23.0 > > I cant seem to work out how to format my generator.yml file that is > currently work for v0.22.0 to work in v0.23.0 and above > > This is my current generator.yml > > modules: # Dell Idrac idrac: version: 3 timeout: 20s retries: 10 > max_repetitions: 10 auth: username: "${snmp_user}" password: > "${snmp_password}" auth_protocol: SHA priv_protocol: AES security_level: > authPriv priv_password: "${snmp_privpass}" community: "${snmp_community}" > walk: - statusGroup - chassisInformationTable - systemBIOSTable - > firmwareTableEntry - intrusionTableEntry - physicalDiskTable - batteryTable > - controllerTable - virtualDiskTable - systemStateTable - powerSupplyTable > - powerUsageTable - powerSupplyTable - voltageProbeTable - > amperageProbeTable - systemBatteryTable - networkDeviceTable - thermalGroup > - interfaces - systemInfoGroup - 1.3.6.1.2.1.1 - eventLogTable overrides: > systemModelName: type: DisplayString systemServiceTag: type: DisplayString > systemOSVersion: type: DisplayString systemOSName: type: DisplayString > systemBIOSVersionName: type: DisplayString firmwareVersionName: type: > DisplayString eventLogRecord: type: DisplayString eventLogDateName: type: > DisplayString networkDeviceProductName: type: DisplayString > networkDeviceVendorName: type: DisplayString networkDeviceFQDD: type: > DisplayString networkDeviceCurrentMACAddress: type: PhysAddress48 > fortigate: version: 3 timeout: 20s retries: 10 max_repetitions: 10 auth: > username: "${snmp_user}" password: "${snmp_password}" auth_protocol: SHA > priv_protocol: AES security_level: authPriv priv_password: > "${snmp_privpass}" community: "${snmp_community}" walk: - system - > interfaces - ip - ifXTable - fgModel - fgVirtualDomain - fgSystem - > fgFirewall - fgMgmt - fgIntf - fgAntivirus - fgApplications - fgVpn - fgIps > - fnCoreMib > > > > On Wednesday 10 January 2024 at 12:55:45 pm UTC+1 Brian Candler wrote: > > That's interesting, thanks! AES192C and AES256C are clearly present in the > code > <https://github.com/prometheus/snmp_exporter/blob/v0.25.0/config/config.go#L152-L165>, > but the documentation in generator/README.md omits to mention them. > > From gosnmp's source (v3_usm.go): > > // Changed: AES192, AES256, AES192C, AES256C added > const ( > NoPriv SnmpV3PrivProtocol = 1 > DES SnmpV3PrivProtocol = 2 > AES SnmpV3PrivProtocol = 3 > AES192 SnmpV3PrivProtocol = 4 // Blumenthal-AES192 > AES256 SnmpV3PrivProtocol = 5 // Blumenthal-AES256 > AES192C SnmpV3PrivProtocol = 6 // Reeder-AES192 > AES256C SnmpV3PrivProtocol = 7 // Reeder-AES256 > ) > > Some background here: > > https://community.cisco.com/t5/network-management/snmpv3-aes192-256-key-localization-not-done-via-aes-draft/td-p/2954763 > > https://github.com/markabrahams/node-net-snmp/issues/154#issuecomment-757456861 > > Personally, I'd suggest using the more standard AES(128) instead. I note > that in its implementation of TLS versions <1.3, Go prefers AES over > AES256 > <https://github.com/golang/go/blob/go1.21.6/src/crypto/tls/cipher_suites.go#L260-L265> > when > negotiating ciphers: > > // - AES-128 comes before AES-256 > // > // The only potential advantages of AES-256 are better multi-target > // margins, and hypothetical post-quantum properties. Neither apply to > // TLS, and AES-256 is slower due to its four extra rounds (which don't > // contribute to the advantages above). > > On Wednesday 10 January 2024 at 11:40:57 UTC Alexander Wilke wrote: > > If you use Cisco devices then you have to use a "C" at the end of the > privacy protocol because it seems Cisco has specific impelementation. > > I use > > *priv_protocol: AES256C* > > for Cisco IOS and IOS XE devices running 17.x.y version. > > > Brian Candler schrieb am Mittwoch, 10. Januar 2024 um 12:32:08 UTC+1: > > > Please list the SNMP V3 instance configuration in generator.yml. I want > to know where the configuration error is! > > It's in the documentation: > > https://github.com/prometheus/snmp_exporter/blob/main/generator/README.md#file-format > > However, you don't need to compile anything to get started. Just use the > supplied snmp.yml, and edit the section under "auths" so it looks like this: > > auths: > public_v1: > community: public > security_level: noAuthNoPriv > auth_protocol: MD5 > priv_protocol: DES > version: 1 > public_v2: > community: public > security_level: noAuthNoPriv > auth_protocol: MD5 > priv_protocol: DES > version: 2 > > > > > > > > * prod_v3: version: 3 security_level: authPriv username: admin > auth_protocol: SHA password: XXXXXXX priv_protocol: AES > priv_password: YYYYYYY* > > And you're done. > > The next simplest option is to load multiple config files. This means you > can use the existing snmp.yml completely unchanged, and a separate yml file > that has just your auth(s) in it. I use the following: > > *snmp_exporter --config.file=/etc/prometheus/snmp.d/*.yml* > > Then I have /etc/prometheus/snmp.d/auth.yml (which is mine) > and /etc/prometheus/snmp.d/snmp.yml (which is the standard one). > > You only need to use the generator if you want to scrape MIBs other than > the supplied example ones. You can do this by starting with the supplied > generator.yml > <https://github.com/prometheus/snmp_exporter/blob/main/generator/generator.yml> > and modifying it. But if all you want to do is change the auths, I wouldn't > bother, since the generator essentially just copies the auths from its > input to its output. > > On Wednesday 10 January 2024 at 10:36:09 UTC Awemnhd wrote: > > I tried using snmp_exporter-0.25.0, using SNMP v3 mode, SHA and AES still > not successful, and I have to recompile the generator.yml file, otherwise > using the default snmp.yml file will have no effect! > > Please list the SNMP V3 instance configuration in generator.yml. I want to > know where the configuration error is! > > 在2024年1月9日星期二 UTC+8 22:54:36<Brian Candler> 写道: > > > Why is SNMP v3 so difficult to implement? > > It's not. It's dead easy. Do you have a working snmpwalk command line > which talks to your device? Then you just transfer the settings to your > snmp_exporter configuration. > > This has been made easier since snmp_exporter v0.23.0 > <https://github.com/prometheus/snmp_exporter/releases/tag/v0.23.0>, > because the "modules" which define the OID walking and the "auths" which > provide the credentials have been made orthogonal. You can add new auths, > without touching modules. You can also put them in separate files. > > So you end up with e.g. > > auths: > prod_v3: > version: 3 > security_level: authPriv > username: admin > auth_protocol: SHA > password: XXXXXXX > priv_protocol: AES > priv_password: YYYYYYY > > then you call /snmp?target=x.x.x.x&module=if_mib&auth=prod_v3 > > The default is indeed still public_v2. The only other option would be to > have no default, i.e. snmp_exporter would fail unless you provide an > explicit set of credentials. > > Hence I'd definitely recommend moving to snmp_exporter 0.25.0. If you > can't do that, then there is a YAML trick you can do to make adding new > auths easier: > > modules: > if_mib: *&if_mib* > .... etc > > # Append to end of file > > *if_mib_prod_v3: <<: *if_mib* > version: 3 > timeout: 3s > retries: 3 > auth: > security_level: authPriv > username: admin > auth_protocol: SHA > password: XXXXXXXX > ... etc > > This effectively "clones" the if_mib module under a new module > "if_mib_prod_v3", and then overrides parts of it. > > On Tuesday 9 January 2024 at 10:04:57 UTC Awemnhd wrote: > > see > https://github.com/prometheus/snmp_exporter/tree/main/generator#file-format > > Tried various ways to achieve some parameter passing > username: > security_level: > password: SHA > auth_protocol: AES > priv_protocol: > priv_password: > > As a result, when the service is started, the default access method is > community: public_v2! > > Why is SNMP v3 so difficult to implement? Why are they all in SNMP V2 > mode? Why? > > -- > 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/b986f278-12ca-4b10-98e7-56ccd7805dc3n%40googlegroups.com > <https://groups.google.com/d/msgid/prometheus-users/b986f278-12ca-4b10-98e7-56ccd7805dc3n%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/6684812b-1b89-481e-b6dc-6615dfa34162n%40googlegroups.com > <https://groups.google.com/d/msgid/prometheus-users/6684812b-1b89-481e-b6dc-6615dfa34162n%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/CABbyFmppWmQ1PNt%2Bp%2BaFbr4C4i8Z9WxPC_ZykX4%3DX3VqFHrMqA%40mail.gmail.com.

