This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.5. Setting up metrics collection
To use the metrics exposed by your service, you must configure OpenShift Monitoring to scrape metrics from the /metrics endpoint. You can do this by using a ServiceMonitor custom resource definition (CRD) that specifies how to monitor a service or a PodMonitor CRD that specifies how to monitor a pod. The former requires a Service object, while the latter does not, which allows Prometheus to directly scrape metrics from the metrics endpoint exposed by a pod.
This procedure shows how to create a ServiceMonitor resource for the service.
Prerequisites
-
Log in as a cluster administrator or a user with the
monitoring-editrole.
Procedure
-
Create a YAML file for the
ServiceMonitorresource configuration. In this example, the file is calledexample-app-service-monitor.yaml. Fill the file with the configuration for creating the
ServiceMonitorresource:Copy to Clipboard Copied! Toggle word wrap Toggle overflow This configuration makes OpenShift Monitoring scrape the metrics exposed by the sample service deployed in "Deploying a sample service", which includes the single
versionmetric.Apply the configuration file to the cluster:
oc apply -f example-app-service-monitor.yaml
$ oc apply -f example-app-service-monitor.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow It will take some time to deploy the
ServiceMonitorresource.You can check that the
ServiceMonitorresource is running:oc -n ns1 get servicemonitor
$ oc -n ns1 get servicemonitorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
NAME AGE prometheus-example-monitor 81m
NAME AGE prometheus-example-monitor 81mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Additional resources
See the Prometheus Operator API documentation for more information on ServiceMonitor and PodMonitor resources.