Grafana helm 通知配置



我正在尝试安装带有 opsgenie 通知的 grafana helm 图表,如下所示

helm install stable/grafana -n grafana --namespace monitoring --set-string notifiers."notifiers.yaml"="notifiers:
- name: opsgenie-notifier
type: opsgenie
uid: notifier-1
settings:
apiKey: some-key
apiUrl: https://some-server/alerts"

当我检查配置映射时,我看到该值在开头设置了一个额外的管道 -->|-

apiVersion: v1
data:
notifiers.yaml: |
|-
notifiers:
- name: opsgenie-notifier
type: opsgenie
uid: notifier-1
settings:
apiKey: some-key
apiUrl: https://some-server/alerts
kind: ConfigMap
metadata:
creationTimestamp: "2019-08-27T00:32:40Z"
labels:
app: grafana
chart: grafana-3.5.10
heritage: Tiller
release: grafana
name: grafana
namespace: monitoring

检查源代码 - https://github.com/helm/charts/blob/master/stable/grafana/templates/configmap.yaml,我不知道为什么。下面的源代码应该逐字打印值,但它增加了一个额外的行 --> |-,导致 grafana 服务器崩溃,因为它无法读取配置。

{{- if .Values.notifiers }}
{{- range $key, $value := .Values.notifiers }}
{{ $key }}: |
{{ toYaml $value | indent 4 }}
{{- end -}}
{{- end -}}

我已经尝试过使用--set,--set-file和--set-string。它同样的行为。

实现此目的的简单方法是使用 values.yaml 文件,如下所示

notifiers:
notifiers.yaml:
notifiers:
- name: opsgenie-notifier
type: opsgenie
uid: notifier-1
settings:
apiKey: some-key
apiUrl: https://some-server/alerts

并通过安装为

helm install stable/grafana -n grafana --namespace monitoring --values values.yaml

您可以通过 --set/--set-string 标志进行操作,如下所示

helm install stable/grafana -n grafana --namespace monitoring 
--set notifiers."notifiers.yaml".notifiers[0].name="opsgenie-notifier" 
--set notifiers."notifiers.yaml".notifiers[0].type="opsgenie" 
--set notifiers."notifiers.yaml".notifiers[0].uid="notifier-1" 
--set notifiers."notifiers.yaml".notifiers[0].settings.apiKey="some-key" 
--set notifiers."notifiers.yaml".notifiers[0].settings.apiUrl="https://some-server/alerts"

最新更新