NovatecConsulting / novatec-service-dependency-graph-panel

A Grafana panel for visualizing a Service Dependency Graph.
Apache License 2.0
191 stars 64 forks source link

[Question] - How to send URL variables in backend URL ? #46

Closed vmanju123 closed 3 years ago

vmanju123 commented 3 years ago

I am trying to use the backend URL in service dependency panel and would like to pass the node name context in the URL as a variable, in screenshot below would like to pass the context of the node IP address in the URL as a variable

image

MariusBrill commented 3 years ago

Hi @vmanju123 , i'm not quite sure if i get your question correctly. Can you maybe try to rephrase it or be more specific?

I think my problem is that i don't really get what you mean by "passing the node name context in the URL as variable" and "pass the context of node IP adress in the URL as a variable". Could you elaborate these parts more precisely?

Cheers Marius

vmanju123 commented 3 years ago

as you can see from the screenshot we have several service nodes in service dependency Each Node has a Name/IP as you can see in high lighted RED in screenshot when user clicks on the URL next to it we would like to send the name/IP of that node as a variable to the URL

Eg : http://xyx.com/monitor1/var-serverIp=$node name/IP

Grafana has built in URL variables https://grafana.com/docs/grafana/latest/linking/data-link-variables/ we tried passing http://xyx.com/monitor1/var-serverIp=${__field.name} it didnot work we also tried passing http://xyx.com/monitor1/var-serverIp=${__value.raw} that did not work as well

We cant have a static URL for all nodes, we need to pick node name/IP and pass the value into URL as a variable to provide next level drilldown to another workflow from service dependency panel

btw - we love your plugin, its just what we needed, thank you

mariomann commented 3 years ago

Hi @vmanju123

thx to provide us with more details about your question. I believe I know what you mean. You want to claim a Tracing Drilldown Backend URL, right?

What you need to do is, to specify your URL pattern in the option field Tracing Drilldown and for your "IP" address or service you just need to specify an open curly braces followed by a closed one: {} e.g.: http://{}/my/awesome/path --> http://10.23.90.10/my/awesome/path

I created two screenshots, hopefully this will help you to understand my explanation.

api_service

customers_service

We will use this ticket to update our Readme file with this information.

btw - we love your plugin, its just what we needed, thank you

Thx! Nice to read this :)

vmanju123 commented 3 years ago

thank you, it works now

MariusBrill commented 3 years ago

closed.

vmanju123 commented 3 years ago

Just a follow up question : is there a way to add more additional context to URL for example in above example the value is a client IP, however in the table there is a server IP associated with this clientIP as a well, is it possible to pass serverip and clientip into the backend URL ?