-
Couldn't load subscription status.
- Fork 700
feat: Add pyroscope-monitoring helm chart #4525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
4a35473 to
95c5cb3
Compare
8329593 to
7227037
Compare
|
@manab-pr please have a look, this PR also adds the dashboards/rules used into a subfolder: https://github.com/grafana/pyroscope/tree/7227037426b3f6bc4acf77df7c287e8026ce96ed/operations/monitoring |
7f36b85 to
f67192c
Compare
This contains a fully fledged observability deployment for Pyroscope OSS monitoring Over time I would like to consolidate our internal dashboards and alerts into this helm chart. This also allows us to test/debug Pyroscope OSS in a local kind deployment.
f67192c to
7fb4c40
Compare
|
Thanks for the context, @simonswine! I've reviewed #4525 and understand the approach now. The pyroscope-monitoring Helm chart is great for Kubernetes users who want a complete monitoring stack. However, I want to make sure we're still addressing
For non-helm users: Will there be a way to extract/download the dashboard JSON files from the helm chart for manual import into Grafana? Or would it make sense to keep a small set of pre-compiled dashboards specifically for users who need standalone files, while the helm chart serves K8s users? |
|
@manab-pr Yes if you look here, you will find the rules and dashboards: https://github.com/grafana/pyroscope/tree/20251015_helm-chart-monitoring/operations/monitoring CI will make sure that those files are in sync, when someone changes the helm chart. Obviously when you just use dashboards/rules, no one guarantees that you run kube-state-metrics/cadvisor/node-exporter. Like we do through the helm chart. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I gave it a try locally as well, with success. I just added one question about the deployment in the new chart.
| replicaCount: 1 | ||
|
|
||
| image: | ||
| repository: grafana/otel-lgtm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This embeds and runs Prometheus, Loki, Tempo and Pyroscope binaries. Do we want a way to configure and prevent this, or are we ok with running Pyroscope and other applications inside the deployment for monitoring Pyroscope? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is exactly why I have chosen it, I don't want to maintain that gang of 4. I don't expect anyone to really do that to a production grade with this, will mention all of that in the README
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! needed to clean my laptop memory, but run like a charm 😁
| | service.deployStaticName | bool | `true` | | | ||
| | service.type | string | `"ClusterIP"` | | | ||
| | tolerations | list | `[]` | | | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Is it worth adding a section listing the dashboards that will be created automatically? Maybe even integrate it with helm docs by adding it as an annotation in values.yaml ?
This contains a fully fledged observability deployment for Pyroscope OSS monitoring
Over time I would like to consolidate our internal dashboards and alerts into this helm chart. This also allows us to test/debug Pyroscope OSS in a local kind deployment.
In order to test this setup in your local kind: