telenornms / skogul

Generic go-based data/metric-collector-framework for Gondul and more
GNU Lesser General Public License v2.1
28 stars 14 forks source link

Juniper Telemetry parse failed #295

Open haihh05 opened 1 year ago

haihh05 commented 1 year ago

I have this error on using protobuf parse:

ERRO[0201] Unable to handle UDP message                  category=receiver error="parsing failed: unable to extract data from protobuf packet. SystemID: SPINE SensorName: interfaces_2_1:/interfaces:/interfaces:chassisd: found no valid extensions" receiver=udp

My device info:

Model: qfx5120-48y-8c
Junos: 20.4R3.8

My skogul config:

{
  "receivers": {
      "udp": {
        "type": "udp",
        "address": ":3300",
        "handler": "protobuf"
      }
  },
  "handlers": {
    "protobuf": {
      "parser": "protobuf",
      "transformers": [],
      "sender": "print"
    }
  },
  "senders": {
    "print": {
        "type": "debug"
    }
  }
}

v0.23.0

sklirg commented 1 year ago

Hi @haihh05,

Sorry about that!

Do you know if this worked in v0.22.0? I can see that v0.23.0 upgraded the Juniper Telemetry definitions to Junos 23.2. So, if you could test it using v0.22.0 instead and provide feedback if that works, we have something to go off of 😊

Do you get this working for other Juniper devices?

haihh05 commented 12 months ago

Hi @sklirg , I appreciate your response. Unfortunately, I've tested the issue with v0.22.0, but it still doesn't work. As for other Juniper devices, I only have access to the one I mentioned earlier. If you need further assistance or have any other questions, feel free to ask 😊

sklirg commented 12 months ago

Are you able to test this on Junos 21? I don't have a qfx myself, but I know someone using Skogul on a qfx on Junos 21.

Junos telemetry is ever-changing, and not always backwards-compatible.

Or, if you could provide either a pcap or similar with the raw protobuf (note that this may contain data you don't want to share publicly, all depending on circumstances), I could look into seeing what it doesn't like.

haihh05 commented 12 months ago

Sorry, but I cannot upgrade Junos to 21. This is the raw protobuf decoded that I think it like "SensorName: interfaces_2_1:/interfaces:/interfaces:chassisd:"

1: "SPINE"
2: XXXXXXXXX
4: "interfaces_2_1:/:/:chassisd"
5: XXXXXXXXX
6: XXXXXXXXX
7: XXXXXXXXX
8: XXXXXXXXX
101 {
  2636 {
    109 {
      151 {             
        51: "Chassis" 
        152 {
          51: "Chassis"
          52: "CHASSIS"
          53: "XXXXXXXXX"
          54: "Chassis"
          55: "JNP48Y8C-CHAS"
          57: "0000-00-00"
          61: "XXXXXXXXX"
          63: 0
          64: "INACTIVE"
          65: 0
          160 {
            81: XXXXXXXXX
            81: XXXXXXXXX
          }
          170 {
            91: 0
            92: 0
          }
          67: 0
        }
      }
...