Install extension
Follow the steps to install the OpenShift control plane extension.
1. Enable Prometheus monitoring in Dynatrace
In your Dynatrace environment, go to Kubernetes, edit your Kubernetes cluster settings, and turn on Enable monitoring and Monitor annotated Prometheus exporters. For more information see our official documentation.
2. Start ingesting control plane metrics
To ingest metrics exposed by the OpenShift control plane, the related services need to be annotated with specific Dynatrace annotations. Based on the used OpenShift version, the YAML files referenced in the commands below define a default set of annotations, enabling the ingestion of all metrics used by the OpenShift control plane extension. Before executing any of the instructions below, ensure your kubectl is configured to use the Kubernetes cluster you want to monitor. If the default set of annotations fits your needs, use the corresponding instructions below. Otherwise, download the files first and adapt them accordingly.
OpenShift 4
kubectl apply -f https://raw.githubusercontent.com/dynatrace-extensions/kubernetes-control-plane/main/scripts/control-plane-monitoring-annotations-ocp4.yaml
OpenShift 3
kubectl apply -f https://raw.githubusercontent.com/dynatrace-extensions/kubernetes-control-plane/main/scripts/control-plane-monitoring-annotations-ocp3.yaml
Verification and troubleshooting
After some minutes, you can verify if everything works as expected by finding control plane related metrics using Dynatrace metrics browser. kube_pod_status_ready
is one of the metrics to search for.
For troubleshooting and further annotation methods, see Monitor Prometheus metrics in Dynatrace documentation.
3. Add extension to environment
To add this extension to your environment click Add to environment on the page of this extension in the Dynatrace Hub. After activating the extension, select Dashboards in Dynatrace. You should now find an out-of-the-box OpenShift control plane dashboard.
4. Activate metric events for alerting
Additionally, the extension comes with multiple pre-configured metric events for alerting. To activate them:
-
From the Dynatrace navigation menu, select Settings > Anomaly detection > Metric events.
-
Find the following events
- OpenShift control plane: cluster not ready: notifies you if the cluster is not ready (based on the readyz API health endpoint).
- OpenShift control plane: etcd pod not ready: notifies you if any etcd pod is not ready.
- OpenShift control plane: API server pod not ready: notifies you if any API server pod is not ready.
- OpenShift 4 specific events:
- OpenShift control plane: low number of master nodes: notifies you if the number of master nodes is below a specified threshold.
- OpenShift control plane: DNS pod not ready: notifies you if any DNS pod is not ready.
- OpenShift control plane: scheduler pod not ready: notifies you if any scheduler pod is not ready.
- OpenShift control plane: controller manager pod not ready: notifies you if any controller manager pod is not ready.
- OpenShift 3 specific events:
- OpenShift control plane: low number of master nodes: notifies you if the number of master nodes is below a specified threshold.
- OpenShift control plane: controller pod not ready: notifies you if any controller pod is not ready.
-
If necessary, select the Edit button to customize the event conditions.
-
Move the switch next an event to the On position to activate it.
Uninstall the extension
1. Stop metric ingest
As metric ingest is subject to DDU consumption, it is important to stop it by removing the annotations from the related services. If you followed the instructions described in the "Start ingesting control plane metrics" section, you can use kubectl to remove the annotations, by referencing the previously applied file in a kubectl delete -f
command, as shown below for the default YAML files. Before executing any of the instructions below, ensure your kubectl is configured to use the right Kubernetes cluster.
OpenShift 4
kubectl delete -f https://raw.githubusercontent.com/dynatrace-extensions/kubernetes-control-plane/main/scripts/control-plane-monitoring-annotations-ocp4.yaml
OpenShift 3
kubectl delete -f https://raw.githubusercontent.com/dynatrace-extensions/kubernetes-control-plane/main/scripts/control-plane-monitoring-annotations-ocp3.yaml
2. Deactivate the extension
To remove the out-of-the-box dashboard and alerts, deactivate the extension via the Dynatrace Hub.