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.
-
Export your Namespace as a variable. Replace the
{namespace}
placeholder in the following command and run it:export KYMA_EXAMPLE_NS="{namespace}"
-
Deploy the service:
kubectl apply -f deployment/deployment.yaml -n $KYMA_EXAMPLE_NS
-
Deploy the ServiceMonitor:
kubectl apply -f deployment/service-monitor.yaml
-
Run the
port-forward
command on themonitoring-prometheus
service:kubectl port-forward -n kyma-system svc/monitoring-prometheus 9090:9090
All the sample-metrics endpoints appear as the Targets
list.
- Use either
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 ServiceMonitor in the
kyma-system
Namespace.kubectl delete servicemonitor -l example=monitoring-custom-metrics -n kyma-system
- Run the following command to completely remove the example service and all its resources from the cluster:
kubectl delete all -l example=monitoring-custom-metrics -n $KYMA_EXAMPLE_NS