openshift / osd-metrics-exporter

Metrics exporter for Openshift Dedicated clusters

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Openshift Dedicated Metrics Exporter

A prometheus exporter to expose metrics about various features used in Openshift Dedicated Clusters.

Current Metrics

  1. Identity Provider
  2. Cluster Admin
  3. Limited Support
  4. Cluster Proxy
  5. Cluster Proxy CA Expiry Timestamp
  6. Cluster Proxy CA Valid
  7. Cluster ID
  8. ControlPlaneMachineSet State

Local development without OLM

  1. Create Namespace, Role and RoleBinding. Requires yq.
for k in "Namespace" "Role" "RoleBinding"; do;
  k=$k yq '.objects[].spec.resources[] | select(.kind==strenv(k))' \
    hack/olm-registry/olm-artifacts-template.yaml \
    | oc apply -f - ; 
done
  1. Create (Cluster-)Role, (Cluster-)RoleBinding and ServiceAccount.
oc apply -f ./deploy/10_osd-metrics-exporter.ClusterRole.yaml
oc apply -f ./deploy/10_osd-metrics-exporter_openshift-osd-metrics.Role.yaml
oc apply -f ./deploy/10_osd-metrics-exporter_openshift-osd-metrics.ServiceAccount.yaml
oc apply -f ./deploy/20_osd-metrics-exporter.ClusterRoleBinding.yaml
oc apply -f ./deploy/20_osd-metrics-exporter_openshift-osd-metrics.RoleBinding.yaml
oc apply -f ./resources/10_osd-metrics-exporter_openshift-config.Role.yaml
oc apply -f ./resources/10_osd-metrics-exporter_openshift-config.RoleBinding.yaml
  1. Optionally authenticate as the serviceaccount.
# local crc cluster
oc login "$(oc get infrastructures cluster -o json | jq -r '.status.apiServerURL')" --token "$(oc create token -n openshift-osd-metrics osd-metrics-exporter)"
# openshift cluster
oc login "$(oc get infrastructures cluster -o json | jq -r '.status.apiServerURL')" --token "$(oc create token -n openshift-osd-metrics osd-metrics-exporter --as backplane-cluster-admin)"
  1. Switch to project
oc project openshift-osd-metrics
  1. Build and run the operator
make go-build
./build/_output/bin/osd-metrics-exporter

About

Metrics exporter for Openshift Dedicated clusters

License:Apache License 2.0


Languages

Language:Go 43.1%Language:Shell 40.0%Language:Makefile 9.4%Language:Python 7.0%Language:Dockerfile 0.4%