This example shows how to expose custom metrics to Prometheus with a Golang service in Kyma. To do so, follow these steps:
- Expose a sample application serving metrics on the
8081
port. - Access the exposed metrics in Prometheus.
- Kyma as the target deployment environment.
- If sidecar injection is not enabled for the
default
Namespace, run the following command:kubectl label namespace default istio-injection=enabled
Deploy the application, service, and servicemonitor:
kubectl apply -f deployment -R
-
Run the
port-forward
command on thecore-prometheus
service:kubectl port-forward -n kyma-system svc/core-prometheus 9090:9090
All the sample-metrics endpoints appear as the Targets
list.
- Use either the
cpu_temperature_celsius
orhd_errors_total
in the expression field here. - Click the Execute button to check the values scrapped by Prometheus.
Run the following commands to completely remove the example and all its resources from the cluster:
- Remove the istio-injection label from the
default
Namespace.kubectl label namespace default istio-injection-
- Remove ServiceMonitor in the
kyma-system
Namespace.kubectl delete servicemonitor -l example=monitoring-custom-metrics -n kyma-system
- Remove the
sample-metrics
Deployments in thedefault
Namespace.kubectl delete all -l example=monitoring-custom-metrics