diff --git a/stable/prometheus-cloudwatch-exporter/Chart.yaml b/stable/prometheus-cloudwatch-exporter/Chart.yaml index 325705ec92..9a78571bd2 100644 --- a/stable/prometheus-cloudwatch-exporter/Chart.yaml +++ b/stable/prometheus-cloudwatch-exporter/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "0.5.0" description: A Helm chart for prometheus cloudwatch-exporter name: prometheus-cloudwatch-exporter -version: 0.4.2 +version: 0.4.3 home: https://github.com/prometheus/cloudwatch_exporter sources: - https://github.com/prometheus/cloudwatch_exporter diff --git a/stable/prometheus-cloudwatch-exporter/README.md b/stable/prometheus-cloudwatch-exporter/README.md index 61234a17c4..8215a0e93b 100644 --- a/stable/prometheus-cloudwatch-exporter/README.md +++ b/stable/prometheus-cloudwatch-exporter/README.md @@ -73,6 +73,11 @@ The following table lists the configurable parameters of the Cloudwatch Exporter | `affinity` | node/pod affinities | `{}` | | `livenessProbe` | Liveness probe settings | | | `readinessProbe` | Readiness probe settings | | +| `servicemonitor.enabled` | Use servicemonitor from prometheus operator | `false` | +| `servicemonitor.namespace` | Namespace thes Servicemonitor is installed in | | +| `servicemonitor.interval` | How frequently Prometheus should scrape | | +| `servicemonitor.telemetryPath` | path to cloudwatch-exporter telemtery-path | | +| `servicemonitor.labels` | labels for the ServiceMonitor passed to Prometheus Operator | `{}` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/stable/prometheus-cloudwatch-exporter/templates/servicemonitor.yaml b/stable/prometheus-cloudwatch-exporter/templates/servicemonitor.yaml new file mode 100644 index 0000000000..0fbba6cfce --- /dev/null +++ b/stable/prometheus-cloudwatch-exporter/templates/servicemonitor.yaml @@ -0,0 +1,30 @@ +{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.serviceMonitor.enabled ) }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: +{{- if .Values.serviceMonitor.labels }} + labels: +{{ toYaml .Values.serviceMonitor.labels | indent 4}} +{{- end }} + name: {{ template "prometheus-cloudwatch-exporter.fullname" . }} +{{- if .Values.serviceMonitor.namespace }} + namespace: {{ .Values.serviceMonitor.namespace }} +{{- end }} +spec: + endpoints: + - targetPort: {{ .Values.service.port }} +{{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} +{{- end }} +{{- if .Values.serviceMonitor.telemetryPath }} + path: {{ .Values.serviceMonitor.telemetryPath }} +{{- end }} + jobLabel: {{ template "prometheus-cloudwatch-exporter.fullname" . }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + app: {{ template "prometheus-cloudwatch-exporter.name" . }} + release: {{ .Release.Name }} +{{- end }} diff --git a/stable/prometheus-cloudwatch-exporter/values.yaml b/stable/prometheus-cloudwatch-exporter/values.yaml index 0f1c8be269..eeccd3f207 100644 --- a/stable/prometheus-cloudwatch-exporter/values.yaml +++ b/stable/prometheus-cloudwatch-exporter/values.yaml @@ -106,3 +106,15 @@ readinessProbe: timeoutSeconds: 5 successThreshold: 1 failureThreshold: 3 + +serviceMonitor: + # When set true then use a ServiceMonitor to configure scraping + enabled: false + # Set the namespace the ServiceMonitor should be deployed + # namespace: monitoring + # Set how frequently Prometheus should scrape + # interval: 30s + # Set path to cloudwatch-exporter telemtery-path + # telemetryPath: /metrics + # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator + # labels: