Skip to Content
MonitoringHealth Metrics

Health Metrics

ScaleOps system is healthy if the following metrics have value of one.

ScaleOps Internal Components Health Metrics

scaleops_health_check_admissions scaleops_health_check_agent scaleops_health_check_dashboards scaleops_health_check_recommender scaleops_health_check_updater

ScaleOps Prometheus Services Metrics

scaleops_health_check_prometheus_server scaleops_health_check_kube_state_metrics

Exporting Metrics

Using Prometheus federation API, you can export all metrics into your own Prometheus instance. Add the following configuration to the scrape_configs section in your Prometheus config file.

(federate-prometheus.yaml)

- job_name: "scaleops" honor_labels: true metrics_path: "/federate" kubernetes_sd_configs: - role: endpoints namespaces: names: ["scaleops-system"] relabel_configs: - source_labels: - __meta_kubernetes_endpoints_name action: keep regex: scaleops-prometheus-server metric_relabel_configs: - action: labeldrop regex: scaleops_id|token|version|clusterId|token_status|customerName params: "match[]": - '{__name__="scaleops_health_check_admissions"}' - '{__name__="scaleops_health_check_agent"}' - '{__name__="scaleops_health_check_dashboards"}' - '{__name__="scaleops_health_check_kube_state_metrics"}' - '{__name__="scaleops_health_check_prometheus_server"}' - '{__name__="scaleops_health_check_recommender"}' - '{__name__="scaleops_health_check_updater"}'

If you are using the Prometheus Operator, use the following configuration instead:

(service-monitor.yaml)

apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: scaleops-federation namespace: scaleops-system spec: endpoints: - honorLabels: true interval: 30s metricRelabelings: - action: labeldrop regex: scaleops_id|token|version|clusterId|token_status|customerName params: match[]: - '{__name__="scaleops_health_check_admissions"}' - '{__name__="scaleops_health_check_agent"}' - '{__name__="scaleops_health_check_dashboards"}' - '{__name__="scaleops_health_check_kube_state_metrics"}' - '{__name__="scaleops_health_check_prometheus_server"}' - '{__name__="scaleops_health_check_recommender"}' - '{__name__="scaleops_health_check_updater"}' path: /federate scrapeTimeout: 30s targetPort: 9090 namespaceSelector: matchNames: - scaleops-system selector: matchLabels: app: prometheus

Alternativly you can use a helm value as following:

--set federationServiceMonitor.enabled=true