jalapeno-api-gateway / jagw

Microservices for the gateway
MIT License
2 stars 2 forks source link

Bug: Telemetry data and ArangoDB contain wrong entries. #4

Open severindellsperger opened 2 years ago

severindellsperger commented 2 years ago

Hi folks,

We've detected an error that the JAGW returns the wrong telemetry data. The following is short documentation to explain the problem adequately.

In our network, we only stream information to Jalapeno from the XR-4. On all the other routers, the specific telemetry model-driven configuration was removed. So, on XR-4, we have the following (correct) configuration:

telemetry model-driven
 destination-group jalapeno
  address-family ipv4 xxx.xxx.xxx.xxx port xxxxx
   encoding self-describing-gpb
   protocol grpc no-tls
  !
 !
 sensor-group cisco_models
  sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters
 !
 sensor-group openconfig_interfaces
  sensor-path openconfig-interfaces:interfaces
  sensor-path openconfig-interfaces:interfaces/interface
 !
 subscription base_metrics
  sensor-group-id cisco_models sample-interval 10000
  destination-id jalapeno
 !

So, now we can observe that streaming telemetry data is sent to the Jalapeno application with the JAGW explorer. However, the model contains the wrong information. So, for example, the result contains the router name XR-1 instead XR-4: image

We don't get any new results as soon as the telemetry configuration is removed from XR-4: image image

Also after reconfiguration the data are still wrong: image image

So this leads us that the bug has to be in Jalapeno itself, which I don't think is the case or the bug lies in the JAGW or the JAGW explorer. Because the JAGW explorer only retrieves the data and does not change any information there. Consequently, I think the bug has to do with the cache problem of the JAGW application. However, we have to investigate this problem asap.

If there is any unclear point, don't hesitate to ask me.

Cheers, Severin

severindellsperger commented 2 years ago

In addition: if we take a closer look at the timestamp, we can observe that it is updated correctly. So, we have to find out why the wrong string (source: XR-1) is within the JSON result data.