kedacore / keda

KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
https://keda.sh
Apache License 2.0
8.27k stars 1.05k forks source link

Provide scaler for Dynatrace metrics #2411

Closed davidlm228 closed 1 month ago

davidlm228 commented 2 years ago

Proposal

Provide k8s autoscaling based on Dynatrace Metrics

Scaler Source

Pods

Scaling Mechanics

https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/get-all-metrics

Authentication Source

https://www.dynatrace.com/support/help/dynatrace-api/basics/dynatrace-api-authentication

Anything else?

No response

tomkerkhove commented 2 years ago

Thanks! Are you willing to contribute this?

davidlm228 commented 2 years ago

Yes

tomkerkhove commented 2 years ago

Awesome, thank you @davidlm228!

stale[bot] commented 2 years ago

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

stale[bot] commented 2 years ago

This issue has been automatically closed due to inactivity.

cyrilico commented 5 months ago

@tomkerkhove do you know if there is anyone actively looking at this? might have a go at it if not

JorTurFer commented 5 months ago

There isn't anyone working on this, and we can request a dynatrace account for e2e tests, so there isn't any blocker if you are willing to work on this 😄

cyrilico commented 5 months ago

@JorTurFer sounds interesting, I'm willing to give it a shot 🙏

JorTurFer commented 5 months ago

so, the stage is yours xD

cyrilico commented 4 months ago

@JorTurFer I believe I have a proposal nearly ready, how to proceed with regards to that account configuration for e2e tests?

JorTurFer commented 4 months ago

We have the account ready, I just need to know which secrets you need and on which envs vars. For example, you can see how Datadog e2e test work: https://github.com/kedacore/keda/blob/main/tests/scalers/datadog/datadog_test.go#L252-L254 Once I know the envs that you need, I'll generate the secrets and you can just read them from env vars (they are automatically loaded during CI)

cyrilico commented 4 months ago

Thanks @JorTurFer 🙏 I know I need these:

If you prefer to merge both scopes into one token (DYNATRACE_METRICS_TOKEN), that should work fine as well. I believe this is all, but if there's anything missing I'll let you know eventually

JorTurFer commented 4 months ago

I've created them:

Let me know if you need something else from my side 😄

cyrilico commented 4 months ago

Thanks @JorTurFer ; I believe to use the API the host must be in the format https://<IDENTIFIER>.live.dynatrace.com (at least that's what I need to use with another installation I have access to), if you could make that small change 🙏

JorTurFer commented 4 months ago

Thanks @JorTurFer ; I believe to use the API the host must be in the format https://<IDENTIFIER>.live.dynatrace.com (at least that's what I need to use with another installation I have access to), if you could make that small change 🙏

Do you mean without the ending slash? np, let me remove it xD

cyrilico commented 4 months ago

Thanks @JorTurFer ; I believe to use the API the host must be in the format https://<IDENTIFIER>.live.dynatrace.com (at least that's what I need to use with another installation I have access to), if you could make that small change 🙏

Do you mean without the ending slash? np, let me remove it xD

No, I mean the subdomain .live instead of .apps in the API URL

JorTurFer commented 4 months ago

That url redirects to the https://identifier.apps.dynatrace.com/ one, maybe both are supported 🤷 Let's add the e2e tests and when we trigger it in the testing infra we will discover it xD