I knew I had seen this before:

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

Is there anything in the web UI of the device that would indicate what a
third column would be?

Also, if you could pastebin a raw snmpwalk of the upper level battery packs
OID: 1.3.6.1.4.1.318.1.1.1.2.3.10

That might give me a clue as to what the index should be.

Otherwise, the only thing I can figure is the device output is broken in a
weird way.

On Mon, Nov 27, 2023 at 7:08 PM Neil Stottler <stott...@merl.com> wrote:

> So the walk for the working one, Smart-UPS 2200, with that same OID does
> not return anything. That might be why that one is working. So now the
> question on the newer models is how to get it so they can be working?
> Remove that OID?
>
> root@server# snmpwalk -v1 -c public <ip>
> 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8
> root@server:#
> On Monday, November 27, 2023 at 10:34:38 AM UTC-5 Ben Kochie wrote:
>
>> Do you have a walk for the working one as well?
>>
>> It looks like the device is returning more indexes than are valid for the
>> MIB. The MIB declares two index values, but the snmpwalk is returning three.
>>
>> Compare the OIDs:
>>
>> 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8
>> 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.1.1.1
>>
>> You can see there are three index values before the string.
>>
>> Confirming with the MIB, there are only two entries in the INDEX.
>>
>>    upsHighPrecBatteryPackEntry OBJECT-TYPE
>>        SYNTAX     UPSHighPrecBatteryPackEntry
>>        ACCESS     not-accessible
>>        STATUS     mandatory
>>        DESCRIPTION^M
>>                "An entry containing information applicable to a
>>                particular battery pack."
>>        INDEX { upsHighPrecBatteryPackIndex,
>> upsHighPrecBatteryCartridgeIndex }
>>        ::= { upsHighPrecBatteryPackTable 1 }
>>
>> Sounds like you will need to complain to APC that their firmware is
>> buggy, or the MIB is invalid. They made a breaking change to the data
>> definition or data. Can't tell which without asking them.
>>
>> On Mon, Nov 27, 2023 at 2:56 PM Neil Stottler <stot...@merl.com> wrote:
>>
>>> According to the MIB in the snmp_exporter generator folder, 4.5.1.
>>>
>>> It's also worth noting, this isn't just
>>> upsHighPrecBatteryPackCartridgeReplaceDate, it's 106 others as well.
>>> I was cautious posting the whole thing here at once cause I didn't want
>>> to post a wall of text as my first post. Here's the pastebin
>>> https://pastebin.com/9trFyUG6
>>>
>>> Here's the pastebin for the entire generated snmp.yml
>>> https://pastebin.com/grCs0Kgx
>>>
>>> Here's the manual walk:
>>> root@server:# snmpwalk -v1 -c public <IP>
>>> 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.1.1.1 = STRING:
>>> "11/05/2025"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.1.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.2.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.2.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.3.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.3.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.4.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.4.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.5.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.5.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.6.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.6.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.7.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.7.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.8.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.8.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.9.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.9.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.10.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.10.1.2 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.11.1.1 = STRING:
>>> "01/01/2000"
>>> SNMPv2-SMI::enterprises.318.1.1.1.2.3.10.2.1.8.11.1.2 = STRING:
>>> "01/01/2000"
>>>
>>> thanks for the help so far.
>>>
>>> On Wednesday, November 22, 2023 at 5:15:34 PM UTC-5 Ben Kochie wrote:
>>>
>>>> Can you find upsHighPrecBatteryPackCartridgeReplaceDate in your
>>>> snmp.yml? What version of PowerNet-MIB do you have?
>>>>
>>>> This is what I get when I generate your config:
>>>>     - name: upsHighPrecBatteryPackCartridgeReplaceDate
>>>>       oid: 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8
>>>>       type: DisplayString
>>>>       help: The battery cartridge estimated battery replace date. -
>>>> 1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8
>>>>       indexes:
>>>>       - labelname: upsHighPrecBatteryPackIndex
>>>>         type: gauge
>>>>       - labelname: upsHighPrecBatteryCartridgeIndex
>>>>         type: gauge
>>>>
>>>> Can you provide a manual snmpwalk output of that OID
>>>> (1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8`)?
>>>>
>>>> Since you're not dropping the source index on this, that should not
>>>> produce duplicates.
>>>>
>>>> On Wed, Nov 22, 2023 at 11:06 PM Neil Stottler <stot...@merl.com>
>>>> wrote:
>>>>
>>>>> Hello! I am trying to scrap multiple APC UPS's on my network via
>>>>> snmpv1, one works great, one does not work at all with this error.
>>>>> 107 error(s) occurred: * collected metric
>>>>> "upsHighPrecBatteryPackCartridgeReplaceDate" {
>>>>> label:{name:"upsHighPrecBatteryCartridgeIndex" value:"1"}
>>>>> label:{name:"upsHighPrecBatteryPackCartridgeReplaceDate"
>>>>> value:"01/01/2000"} label:{name:"upsHighPrecBatteryPackIndex" value:"9"}
>>>>> gauge:{value:1}} was collected before with the same name and label values
>>>>>
>>>>> here is my generator.yml config
>>>>> ---
>>>>> auths:
>>>>>   public_v1:
>>>>>     version: 1
>>>>>   public_v2:
>>>>>     version: 2
>>>>>
>>>>> modules:
>>>>>   # Default IF-MIB interfaces table with ifIndex.
>>>>>   if_mib:
>>>>>     walk: [sysUpTime, interfaces, ifXTable]
>>>>>     lookups:
>>>>>       - source_indexes: [ifIndex]
>>>>>         lookup: ifAlias
>>>>>       - source_indexes: [ifIndex]
>>>>>         # Uis OID to avoid conflict with PaloAlto PAN-COMMON-MIB.
>>>>>         lookup: 1.3.6.1.2.1.2.2.1.2 # ifDescr
>>>>>       - source_indexes: [ifIndex]
>>>>>         # Use OID to avoid conflict with Netscaler NS-ROOT-MIB.
>>>>>         lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName
>>>>>     overrides:
>>>>>       ifAlias:
>>>>>         ignore: true # Lookup metric
>>>>>       ifDescr:
>>>>>         ignore: true # Lookup metric
>>>>>       ifName:
>>>>>         ignore: true # Lookup metric
>>>>>       ifType:
>>>>>         type: EnumAsInfo
>>>>>   # Default IP-MIB with ipv4InterfaceTable for example.
>>>>>   ip_mib:
>>>>>     walk: [ipv4InterfaceTable]
>>>>>
>>>>>   #snmpv2 mib
>>>>>   #hostresoruces mib
>>>>>
>>>>> # APC/Schneider UPS Network Management Cards
>>>>> #
>>>>> # Note: older management cards only support SNMP v1 (AP9606 and
>>>>> # AP9607, possibly others). Older versions of the firmware may only
>>>>> # support v1 as well. If you only have newer cards you can switch to
>>>>> # version v2c or v3.
>>>>> #
>>>>> # The management cards have relatively slow processors so don't poll
>>>>> # very often and give a generous timeout to prevent spurious
>>>>> # errors. Alternatively you can eliminate the interface polling (OIDs
>>>>> # beginning with 1.3.6.1.2.1) to reduce the time taken for polling.
>>>>> #
>>>>> # MIB:
>>>>> https://download.schneider-electric.com/files?p_File_Name=powernet426.mib
>>>>> # Guide:
>>>>> http://www.apc.com/salestools/ASTE-6Z5QEY/ASTE-6Z5QEY_R0_EN.pdf
>>>>> # Download site: http://www.apc.com/us/en/tools/download/index.cfm
>>>>>   apcups:
>>>>>     walk:
>>>>>       - 1.3.6.1.4.1.318.1.1.1.2       # upsBattery
>>>>>       - 1.3.6.1.4.1.318.1.1.1.3       # upsInput
>>>>>       - 1.3.6.1.4.1.318.1.1.1.4       # upsOutput
>>>>>       - 1.3.6.1.4.1.318.1.1.1.7.2     # upsAdvTest
>>>>>       - 1.3.6.1.4.1.318.1.1.1.8.1     # upsCommStatus
>>>>>       - 1.3.6.1.4.1.318.1.1.1.12      # upsOutletGroups
>>>>>       - 1.3.6.1.4.1.318.1.1.10.2.3.2  # iemStatusProbesTable
>>>>>       - 1.3.6.1.4.1.318.1.1.26.4.3    # rPDU2DeviceStatusTable
>>>>>       - 1.3.6.1.4.1.318.1.1.26.6.3    # rPDU2PhaseStatusTable
>>>>>       - 1.3.6.1.4.1.318.1.1.26.8.3    # rPDU2BankStatusTable
>>>>>       - 1.3.6.1.4.1.318.1.1.26.10.2.2 #
>>>>> rPDU2SensorTempHumidityStatusTable
>>>>>     lookups:
>>>>>       - source_indexes: [upsOutletGroupStatusIndex]
>>>>>         lookup: upsOutletGroupStatusName
>>>>>         drop_source_indexes: true
>>>>>       - source_indexes: [iemStatusProbeIndex]
>>>>>         lookup: iemStatusProbeName
>>>>>         drop_source_indexes: true
>>>>>     overrides:
>>>>>       rPDU2BankStatusLoadState:
>>>>>         type: EnumAsStateSet
>>>>>       upsAdvBatteryCondition:
>>>>>         type: EnumAsStateSet
>>>>>       upsAdvBatteryChargingCurrentRestricted:
>>>>>         type: EnumAsStateSet
>>>>>       upsAdvBatteryChargerStatus:
>>>>>         type: EnumAsStateSet
>>>>>
>>>>> my snmp.yml is rather long so I can post that later on if someone has
>>>>> an idea.
>>>>>
>>>>> --
>>>>> 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 prometheus-use...@googlegroups.com.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/prometheus-users/1cd90fac-c4c2-413b-9509-278385346f51n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/prometheus-users/1cd90fac-c4c2-413b-9509-278385346f51n%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 prometheus-use...@googlegroups.com.
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/prometheus-users/c4c0a9b7-bc88-4495-b409-e4ef5710a067n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/prometheus-users/c4c0a9b7-bc88-4495-b409-e4ef5710a067n%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 prometheus-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/prometheus-users/f382c9be-7772-4d00-a0b0-0c0ce08e9cacn%40googlegroups.com
> <https://groups.google.com/d/msgid/prometheus-users/f382c9be-7772-4d00-a0b0-0c0ce08e9cacn%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 prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/CABbyFmqG1DzU-B2NEy0-9mXKE-tEzEaSSP3MmQ1iY%2B5vOmaRwQ%40mail.gmail.com.

Reply via email to