首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为数据源创建grafana configmap?

如何为数据源创建grafana configmap?
EN

Stack Overflow用户
提问于 2020-11-11 11:39:35
回答 2查看 4.7K关注 0票数 6

我正在尝试使用Kube-Prometheus-Stack helm图表https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack中的Grafana实例为Grafana数据源创建一个configmap

我知道对于仪表板,您可以使用以下答案中列出的命令从json文件创建配置映射:stable/prometheus-operator - adding persistent grafana dashboards

代码语言:javascript
复制
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
kubectl -n monitoring label cm grafana-mongodb-overview grafana_dashboard=mongodb-overview

对于grafana数据源,可以做类似的事情吗?我目前有一个datasource.yaml,它包含以下几行:

代码语言:javascript
复制
    data:
      datasource-PRF1-Prometheus.yaml: |-
        apiVersion: 1
        datasources:
          - name: Test-Prometheus
            type: prometheus
            url: https://prometheus.url.net/
            access: Server
            isDefault: true
            basicAuth: true
            basicAuthPassword: password
            basicAuthUser: admin

但是,我无法使用它导入数据源,即使它创建了一个configmap。

EN

回答 2

Stack Overflow用户

发布于 2021-02-04 13:01:36

要通过grafana服务器组件加载数据,需要在元数据字段grafana_datasource: "1"中进行设置。

对于configmap:

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: example-grafana-datasource
  labels:
     grafana_datasource: "1"
     namespace: monitoring
data:
  datasource.yaml: |-
    apiVersion: 1
    datasources:
    - access: proxy
      basicAuth: false
      editable: false
      isDefault: false
      jsonData:
        authType: credentials
        defaultRegion: us-west-2
      name: CloudWatch
      type: cloudwatch

获取具有相同标签的秘密

代码语言:javascript
复制
apiVersion: v1
kind: Secret
metadata:
  name: influx-grafana-datasource
  labels:
     grafana_datasource: "1"
     namespace: monitoring
type: Opaque
stringData:
  influxdatasource.yaml: |-
    # config file version
    apiVersion: 1
    datasources:
      - name: influxdb
        type: influxdb
        access: proxy
        database: metrics_db
        user: metrics_read_user
        url: http://influx.example.com:8086/
        jsonData:
          timeInterval: "15s"
        secureJsonData:
          password: yourinfluxpassword
票数 8
EN

Stack Overflow用户

发布于 2020-11-11 15:15:10

我有一个抓取Flink任务管理器的prometheus数据源的grafana的ConfigMap。文件(https://github.com/felipegutierrez/explore-flink/blob/master/k8s/grafana-configuration-configmap.yaml)太大,不能粘贴到这里,但主要部分在下面。

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: grafana-config
  namespace: kafka
  labels:
    app: flink
data:
  grafana.ini: |+ ...
  dashboards.yml: |+
    apiVersion: 1
 database
    deleteDatasources:
      - name: Prometheus
        orgId: 1
    datasources:
      - name: Prometheus
        type: prometheus
        access: proxy
        orgId: 1
        url: http://prometheus-service:9090
        password:
        user:
        database:
        basicAuth: false
        basicAuthUser:
        basicAuthPassword:
        withCredentials:
        isDefault: true
        jsonData:
          graphiteVersion: "1.1"
          tlsAuth: false
          tlsAuthWithCACert: false
        secureJsonData:
          tlsCACert: "..."
          tlsClientCert: "..."
          tlsClientKey: "..."
        version: 1
        editable: true
  dashboard.json: |+
    {...}

设置ConfigMap后,在grafana pod中调用它,如下所示:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana-deployment
  namespace: kafka
spec:
  replicas: 1
  selector:
    matchLabels:
      app: flink
      component: grafana
  template:
    metadata:
      labels:
        app: flink
        component: grafana
    spec:
      volumes:
      - name: grafana-config-volume
        configMap:
          name: grafana-config
          items:
          - key: grafana.ini
            path: grafana.ini
          - key: datasource.yml
            path: provisioning/datasources/datasource.yml
          - key: dashboards.yml
            path: provisioning/dashboards/dashboards.yml
          - key: dashboard.json
            path: dashboard.json
      containers:
      - name: grafana
        image: grafana/grafana
        imagePullPolicy: IfNotPresent # Always
        ports:
        - containerPort: 3000
          name: http
        volumeMounts:
          - name: grafana-config-volume
            mountPath: /etc/grafana/

完整的工作示例如下:https://github.com/felipegutierrez/explore-flink/blob/master/k8s/grafana-deployment.yaml

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64780159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档