These are the current features supported in this Helm chart:
- Cluster Metrics
- Cluster Events
- Application Observability
- Annotation Autodiscovery
- Prometheus Operator Objects
- Node Logs
- Pod Logs
- Service Integrations
- Profiling
- Frontend Observability
Collects metrics about the Kubernetes cluster.
Collects Kubernetes Cluster events.
Open receivers to collect telemetry data from instrumented applications.
Collects metrics from Pods and Services that use a specific annotation.
Collects metrics from Prometheus Operator objects, like PodMonitors and ServiceMonitors.
Collects logs from Kubernetes Cluster Nodes.
Collects logs from Kubernetes Pods.
Collects metrics and logs from a variety of popular services and integrations.
Collect profiles using Pyroscope.
Features are stored in their own Helm chart. That chart is not a standalone chart, but is included in the main k8s-monitoring Helm chart as a dependency. The parent chart interacts with the feature chart via template functions.
To add a new feature, create a new Helm chart in the charts
directory. The chart should have a feature-
prefix in
its name. The following files are required for a feature chart:
-
templates/_module.alloy.tpl
- This file should contain a template function namedfeature.<feature-slug>.module
which should create an Alloy module that wraps the configuration for your feature. It should expose any of these arguments as appropriate:metrics_destination
- An argument that defines where scrape metrics should be delivered.logs_destination
- An argument that defines where logs should be delivered.traces_destination
- An argument that defines where traces should be delivered.profiles_destination
- An argument that defines where profiles should be delivered.
-
templates/_notes.alloy.tpl
- This file should contain these template functions:feature.<feature-slug>.notes.deployments
- This function returns a list of workloads that will be deployed to the Kubernetes Cluster by the feature.feature.<feature-slug>.notes.task
- This function returns a 1-line summary of what this feature will do.feature.<feature-slug>.notes.actions
- This function returns any prompts for the user to take additional action after deployment.feature.<feature-slug>.summary
- This function a dictionary of settings, used for self-reporting metrics.