stable/prometheus-operator - 添加持久的 grafana 仪表板

The*_*665 10 grafana kubernetes-helm

我正在尝试向下面的掌舵图表添加一个新的仪表板

https://github.com/helm/charts/tree/master/stable/prometheus-operator

文档不是很清楚。

我已经向名称空间添加了一个配置映射,如下所示 -

apiVersion: v1
kind: ConfigMap
metadata:
  name: sample-grafana-dashboard
  namespace: monitoring
  labels:
     grafana_dashboard: "1"
data:
  etcd-dashboard.json: |-
{JSON}
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该只是“拾取”并添加,但不是。 https://github.com/helm/charts/tree/master/stable/grafana#configuration

我的 values.yaml 中的 sidecar 选项看起来像 -

grafana:
  enabled: true

  ## Deploy default dashboards.
  ##
  defaultDashboardsEnabled: true

  adminPassword: password

  ingress:
    ## If true, Grafana Ingress will be created
    ##
    enabled: false

    ## Annotations for Grafana Ingress
    ##
    annotations: {}
      # kubernetes.io/ingress.class: nginx
      # kubernetes.io/tls-acme: "true"

    ## Labels to be added to the Ingress
    ##
    labels: {}

    ## Hostnames.
    ## Must be provided if Ingress is enable.
    ##
    # hosts:
    #   - grafana.domain.com
    hosts: []

    ## Path for grafana ingress
    path: /

    ## TLS configuration for grafana Ingress
    ## Secret must be manually created in the namespace
    ##
    tls: []
    # - secretName: grafana-general-tls
    #   hosts:
    #   - grafana.example.com
  #dashboardsConfigMaps:
    #sidecarProvider: sample-grafana-dashboard
  sidecar:
    dashboards:
      enabled: true
      label: grafana_dashboard
Run Code Online (Sandbox Code Playgroud)

我也尝试将其添加到 value.yml

dashboardsConfigMaps:
   - sample-grafana-dashboard
Run Code Online (Sandbox Code Playgroud)

哪个,不起作用。

有没有人有将您自己的仪表板添加到此掌舵图表的经验,因为我真的不知所措。

FL3*_*3SH 25

总结: 因为sidecar您只需要设置一个选项true-grafana.sidecar.dashboards.enabled

  1. 安装 prometheus-operator 女巫边卡已启用:

helm install stable/prometheus-operator --name prometheus-operator --set grafana.sidecar.dashboards.enabled=true --namespace monitoring

  1. 添加新仪表板,例如 MongoDB_Overview
wget https://raw.githubusercontent.com/percona/grafana-dashboards/master/dashboards/MongoDB_Overview.json
kubectl -n monitoring create cm grafana-mongodb-overview --from-file=MongoDB_Overview.json
Run Code Online (Sandbox Code Playgroud)
  1. 现在是棘手的部分,您必须为您的 configmap 设置正确的标签,默认情况下grafana.sidecar.dashboards.label设置为grafana_dashboard,因此:
kubectl -n monitoring label cm grafana-mongodb-overview grafana_dashboard=mongodb-overview
Run Code Online (Sandbox Code Playgroud)

现在您应该在 grafana 中找到您新添加的仪表板,而且每个带有标签的 confimapgrafana_dashboard都将作为仪表板处理。

仪表板是持久且安全的,存储在 configmap 中。

更新:

2021 年 1 月

Prometheus operator chart 从稳定的 repo 迁移到Prometheus Community Kubernetes Helm Charts并发布了 helm v3,因此:

  1. 创建命名空间:
kubectl create namespace monitoring
Run Code Online (Sandbox Code Playgroud)
  1. 从 helm chart 安装 prometheus-operator:
helm install prometheus-operator prometheus-community/kube-prometheus-stack --namespace monitoring
Run Code Online (Sandbox Code Playgroud)
  1. 添加Mongodb仪表盘为例
wget https://raw.githubusercontent.com/percona/grafana-dashboards/master/dashboards/MongoDB_Overview.json
kubectl -n monitoring create cm grafana-mongodb-overview --from-file=MongoDB_Overview.json
Run Code Online (Sandbox Code Playgroud)
  1. 最后,标记仪表板:
kubectl -n monitoring label cm grafana-mongodb-overview grafana_dashboard=mongodb-overview
Run Code Online (Sandbox Code Playgroud)

  • 这应该是选定的答案^ (2认同)