Back to Pyroscope

pyroscope-monitoring

operations/monitoring/helm/pyroscope-monitoring/README.md

2.1.03.7 KB
Original Source

pyroscope-monitoring

A Helm chart for monitoring Grafana Pyroscope. This helm chart uses otel-lgtm to monitor the health of the Grafana Pyroscope backend.

⚠️ Note: This monitoring setup is not production grade and is intended for development and testing purposes only.

Dashboards

This chart provisions the following Grafana dashboards under the "Pyroscope" folder:

  • operational - General operational metrics dashboard
  • v2-metastore - Metastore-related metrics dashboard (only relevant with v2 storage layer)
  • v2-read-path - Read path performance dashboard (focusing on v2 storage layer)
  • v2-write-path - Write path performance dashboard (focusing on v2 storage layer)

Native vs classic histograms

Set dashboards.nativeHistograms (default: true) to control which PromQL query style is used:

  • true — native histogram functions (histogram_sum, histogram_count, histogram_quantile, histogram_avg). Requires scrape_native_histograms: true in the Prometheus scrape config for Pyroscope.
  • false — classic suffix queries (_bucket, _sum, _count).

The committed JSON files under operations/monitoring/dashboards/ (native) and operations/monitoring/dashboards-classic-histogram/ (classic) are generated by make helm/check and should not be edited directly.

Requirements

RepositoryNameVersion
https://grafana.github.io/helm-chartsmonitoring(k8s-monitoring)3.8.8

Values

KeyTypeDefaultDescription
affinityobject{}
dashboards.cadvisorSelectorstring"job=~\"(.*/)?cadvisor\""
dashboards.cloudBackendGatewayboolfalse
dashboards.cloudBackendGatewaySelectorstring"container=~\"cortex-gw(-internal)?\""
dashboards.clusterstring"pyroscope-dev"
dashboards.ingestNamespaceSelectorstring"namespace=~\"$namespace\""
dashboards.ingestSelectorstring`"container=~"pyroscopedistributor
dashboards.kubeStateMetricsSelectorstring"job=~\"(.*/)?kube-state-metrics\""
dashboards.namespacestring"default"
dashboards.namespaceRegexstring".*"
dashboards.namespaceRegexPerDashboardobject{}
dashboards.nativeHistogramsbooltrue
dashboards.tenantQuerystring"sum by (tenant, slug, org_name, environment) (\n {{- if .Values.dashboards.nativeHistograms }}\n histogram_sum(rate(pyroscope_distributor_received_decompressed_bytes{cluster=~\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]))\n {{- else }}\n rate(pyroscope_distributor_received_decompressed_bytes_sum{cluster=~\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n {{- end }}\n)\n"
fullnameOverridestring""
image.pullPolicystring"IfNotPresent"
image.repositorystring"grafana/otel-lgtm"
image.tagstring"0.11.10"
imagePullSecretslist[]
nameOverridestring""
nodeSelectorobject{}
podAnnotationsobject{}
podLabelsobject{}
podSecurityContextobject{}
replicaCountint1
resourcesobject{}
securityContextobject{}
service.deployStaticNamebooltrue
service.typestring"ClusterIP"
tolerationslist[]