backstage / community-plugins

Community plugins for Backstage
Apache License 2.0
142 stars 144 forks source link

🔌 Plugin: Instana Plugin #228

Closed vincent-pli closed 2 weeks ago

vincent-pli commented 1 year ago

🔖 Summary

A plugin that will show information from Instana in the catalog view for a component, treat software in catalog as a application in instana, then will show the service list of the application and the count of calls, error calls also can display the request latency.

🌐 Project website (if applicable)

No response

✌️ Context

Many organizations use Instana as their observability platform - surfacing some of the information mentioned above would be a helpful feature.

Some requirements for this plugin will include:

an API key for dynatrace (would need to be in the app-config.yaml / the environment)
adopt name of catalog software as the `application` name in instana

I am interested in working on this item, so I would like to assign myself.

👀 Have you spent some time to check if this plugin request has been raised before?

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

None

jhaals commented 1 year ago

Sounds good, perhaps you or someone in the community using the product could build such a plugin 👍

vincent-pli commented 1 year ago

/assign @vincent-pli

cmdkeen commented 1 year ago

Evening - I'm interested in working on this. @vincent-pli have you made any progress? Any additional thoughts beyond what you have in the context?

benjdlambert commented 1 year ago

@cmdkeen happy to assign you too if you don't get a response 👍

cmdkeen commented 1 year ago

Thanks Ben, sounds good. Having a quick look at the Instana docs there is a REST API designed for integration, handily even having an OpenAPI spec.

The token auth stuff looks like it works the same way regardless of which approach is used.

Do you have thoughts on whether a backend plugin might be needed, or just using the proxy?

benjdlambert commented 1 year ago

@cmdkeen I'd prefer backend plugins over the proxy, ideally everything should be a backend plugin and we can remove the proxy plugin entirely hopefully one day. It's much more flexible, and you can shape the data however you need to meet the requirements of the frontend much easier, and it's much more secure from an auth point of view too.

cmdkeen commented 1 year ago

Quick update - have made a start on this, frontend and backend plugins and going to focus on loading some basic stats for both backend monitoring and website monitoring.

cmdkeen commented 1 year ago

Have managed to get a backend plugin working that has endpoints for fetching metrics for applications, services and websites. The Instana API only brings back up to 5 different metrics per call, so for a first pass I've hard coded a few and stuck with a single request - if people are interested it could evolve to be more configurable in time.

@benjdlambert are you interested in having a look at the backend separately or just wait til I have time to pull together a basic frontend plugin too? Happy to create a draft PR with what I have.

github-actions[bot] commented 3 weeks ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.