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_updaterScaleOps Prometheus Services Metrics
scaleops_health_check_prometheus_server
scaleops_health_check_kube_state_metricsExporting 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.
- 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:
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: prometheusAlternativly you can use a helm value as following:
--set federationServiceMonitor.enabled=true