cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Challenges in writing a Tracert OneAgent extension

gilgi
DynaMight Champion
DynaMight Champion

Hi All, 

we're thinking of trying to create an extension which will map the network devices involved in the communications between two hosts. Basically the general idea is to take from the host information the from Relationship information and than run a Tracert to each host, parse the results and parse them as network devices.

 

The results could be stored either as metrics for each device or even better as traces. Here come the questions we're now considering:

1. Is there an automatic way to gather the host id from the extension SDK to directly use it in the API calls?

2. Can you think of a way to create a service which is not directly linked to a process for the traces to be linked at? (this is specifically true for the originating and target hosts).

 

If you've done something similar - we'd be happy to hear about it.

Gil.

4 REPLIES 4

AntonioSousa
DynaMight Guru
DynaMight Guru

@gilgi,

I once thought about doing it in Dynatrace, but the associated problems seemed too big at the time. Some quick notes I can share about the subject:

  • Normal traceroutes only show you the path from origin to destination. Especially on the public internet, routes are typically asymmetric and highly variable.
  • Intermediate values are subject to mis-interpretation most of the times.
  • You might not want to use the normal traceroute, but something like hping3, which will bypass firewalls.

Your questions are really good 🙂 The idea behind a trace seems excellent! I once recall a tool that made multiple requests, and would place for each hop the latency variability to it, much like a Purepath!
I'll have to meditate better before replying.

Antonio Sousa

gilgi
DynaMight Champion
DynaMight Champion

Thanks @AntonioSousa ,

 

This should be used for internal hosts obviously (where the network devices can actually mean spomething to take a look at). The idea is to try and do one step further in pointing towards a specific network device that may be affecting problems. I believe Davis will not see anomalies as a possible root cause for other issues such as performance degredations but at least it will help seeing additional data without relying on other tools.

Additionaly feature wwe see as possible would be to decide on activating the generic network device extension for the discovered devices.

 

Who knows, maybe someone in Dynatrace will work with us to write and test this 🙂

AntonioSousa
DynaMight Guru
DynaMight Guru

@gilgi,

In the nineties, I did a lot of networking, and in the early days of the Internet, tracerouting was a thing.

Since I understood the flaws around tracerouting (especially with ICMP), I have almost abandoned it. But it does have its usecases.

So, I'll be glad ho help my little bit 🙂

Antonio Sousa

adam_gardner
Dynatrace Champion
Dynatrace Champion

Hi team, happy to assist where I can here.

A few thoughts:

1) You might want to look at using OpenTelemetry rather than the OneAgent SDK.
2) You can get the HOST-* ID using the oneagentctl utility which is predeployed with each agent.

3) Not a service but the custom topology might be the way forward. Effectively you define your own entity (not a SERVICE or HOST but an X). Metrics, logs and events can then be attached to each instance of X. If you want to experiment with this, I wrote a Python wrapper to make it easier: https://github.com/agardnerIT/entity-creator-assistant

Featured Posts