From a759b9cb50c2a8593a70d9ec527c224b0f11a2ba Mon Sep 17 00:00:00 2001 From: Ewout Prangsma Date: Thu, 5 Apr 2018 14:54:55 +0200 Subject: [PATCH] Added examples for exposing metrics to Prometheus --- docs/Manual/Deployment/Kubernetes/Metrics.md | 9 ++++- .../deployment-operator-servicemonitor.yaml | 34 +++++++++++++++++++ .../templates/deployment/deployment.yaml | 1 + manifests/templates/storage/deployment.yaml | 1 + 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 examples/metrics/deployment-operator-servicemonitor.yaml diff --git a/docs/Manual/Deployment/Kubernetes/Metrics.md b/docs/Manual/Deployment/Kubernetes/Metrics.md index bab3d3ec5..aad3b5400 100644 --- a/docs/Manual/Deployment/Kubernetes/Metrics.md +++ b/docs/Manual/Deployment/Kubernetes/Metrics.md @@ -1,3 +1,10 @@ # Metrics -TBD +The ArangoDB Kubernetes Operator (`kube-arangodb`) exposes metrics of +its operations in a format that is compatible with [Prometheus](https://prometheus.io). + +The metrics are exposed through HTTPS on port `8528` under path `/metrics`. + +Look at [examples/metrics](https://github.com/arangodb/kube-arangodb/tree/master/examples/metrics) +for examples of `Services` and `ServiceMonitors` you can use to integrate +with Prometheus through the [Prometheus-Operator by CoreOS](https://github.com/coreos/prometheus-operator). diff --git a/examples/metrics/deployment-operator-servicemonitor.yaml b/examples/metrics/deployment-operator-servicemonitor.yaml new file mode 100644 index 000000000..128bc3f35 --- /dev/null +++ b/examples/metrics/deployment-operator-servicemonitor.yaml @@ -0,0 +1,34 @@ +# This example shows how to integrate with the Prometheus Operator +# to bring metrics from kube-arangodb to Prometheus. + +apiVersion: v1 +kind: Service +metadata: + name: arango-deployment-operator + labels: + app: arango-deployment-operator +spec: + selector: + app: arango-deployment-operator + ports: + - name: metrics + port: 8528 + +--- + +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: arango-deployment-operator + labels: + team: frontend +spec: + selector: + matchLabels: + app: arango-deployment-operator + endpoints: + - port: metrics + scheme: https + tlsConfig: + insecureSkipVerify: true + diff --git a/manifests/templates/deployment/deployment.yaml b/manifests/templates/deployment/deployment.yaml index 08391f888..c74fb69d0 100644 --- a/manifests/templates/deployment/deployment.yaml +++ b/manifests/templates/deployment/deployment.yaml @@ -12,6 +12,7 @@ spec: metadata: labels: name: {{ .Deployment.OperatorDeploymentName }} + app: arango-deployment-operator spec: containers: - name: operator diff --git a/manifests/templates/storage/deployment.yaml b/manifests/templates/storage/deployment.yaml index a41083eaa..1a1e16715 100644 --- a/manifests/templates/storage/deployment.yaml +++ b/manifests/templates/storage/deployment.yaml @@ -20,6 +20,7 @@ spec: metadata: labels: name: {{ .Storage.OperatorDeploymentName }} + app: arango-storage-operator spec: serviceAccountName: {{ .Storage.Operator.ServiceAccountName }} containers: