Skip to content

openshift/osd-metrics-exporter

Repository files navigation

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

Running Tests Locally

Note that the tests expect that two environment variables are set for the tests to be able to run. The suite will quickly fail if these are unset:

  • OCM_TOKEN
  • OCM_CLUSTER_ID

Here is an example of running the tests in a local environment:

$ cd <PROJECT_ROOT>/test/e2e/
$ export OCM_TOKEN=$(ocm token)
$ export OCM_CLUSTER_ID=<YOUR-CLUSTER-ID>
$ DISABLE_JUNIT_REPORT=true ginkgo run --tags=osde2e,e2e --procs 4 --flake-attempts 3 --trace -vv .

About

Metrics exporter for Openshift Dedicated clusters

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 36