dwl*_*ian 5 grafana kubernetes prometheus prometheus-operator
我正在尝试使用 Kube-Prometheus-Stack helm chart https://github.com/prometheus-community/helm-charts/tree/main/charts/kube- 中的 Grafana 实例为 Grafana 数据源创建一个配置映射普罗米修斯堆栈
我知道仪表板,您可以使用此答案中列出的命令从 json 文件创建配置映射:stable/prometheus-operator - 添加持久性 grafana 仪表板
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
Run Code Online (Sandbox Code Playgroud)
可以为 grafana 数据源做类似的事情吗?我目前有一个 datasource.yaml,其中包含以下几行:
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
Run Code Online (Sandbox Code Playgroud)
但是,我无法使用它导入数据源,即使它创建了一个配置映射。
小智 7
要通过 grafana 服务器组件加载数据,您需要在元数据字段中进行设置grafana_datasource: "1"。
对于配置映射:
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
Run Code Online (Sandbox Code Playgroud)
对于具有相同标签的秘密
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
Run Code Online (Sandbox Code Playgroud)
我有一个ConfigMapfor grafana withe prometheus 数据源,可以抓取 Flink 任务管理器。该文件(https://github.com/felipegutierrez/explore-flink/blob/master/k8s/grafana-configuration-configmap.yaml)太大,无法粘贴到此处,但主要部分如下。
apiVersion: v1\nkind: ConfigMap\nmetadata:\n\xc2\xa0 name: grafana-config\n\xc2\xa0 namespace: kafka\n\xc2\xa0 labels:\n\xc2\xa0\xc2\xa0\xc2\xa0 app: flink\ndata:\n\xc2\xa0 grafana.ini: |+ ...\n\xc2\xa0 dashboards.yml: |+\n apiVersion: 1\n database\n deleteDatasources:\n - name: Prometheus\n orgId: 1\n datasources:\n - name: Prometheus\n type: prometheus\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 access: proxy\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 orgId: 1\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 url: http://prometheus-service:9090\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 password:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 user:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 database:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 basicAuth: false\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 basicAuthUser:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 basicAuthPassword:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 withCredentials:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 isDefault: true\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 jsonData:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 graphiteVersion: "1.1"\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 tlsAuth: false\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 tlsAuthWithCACert: false\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 secureJsonData:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 tlsCACert: "..."\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 tlsClientCert: "..."\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 tlsClientKey: "..."\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 version: 1\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 editable: true\n\xc2\xa0 dashboard.json: |+\n\xc2\xa0\xc2\xa0\xc2\xa0 {...}\nRun Code Online (Sandbox Code Playgroud)\n完成ConfigMap设置后,您可以在 grafana pod 中调用它,如下所示:
apiVersion: apps/v1\nkind: Deployment\nmetadata:\n\xc2\xa0 name: grafana-deployment\n\xc2\xa0 namespace: kafka\nspec:\n\xc2\xa0 replicas: 1\n\xc2\xa0 selector:\n\xc2\xa0\xc2\xa0\xc2\xa0 matchLabels:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 app: flink\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 component: grafana\n\xc2\xa0 template:\n\xc2\xa0\xc2\xa0\xc2\xa0 metadata:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 labels:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 app: flink\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 component: grafana\n\xc2\xa0\xc2\xa0\xc2\xa0 spec:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 volumes:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - name: grafana-config-volume\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 configMap:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 name: grafana-config\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 items:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - key: grafana.ini\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 path: grafana.ini\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - key: datasource.yml\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 path: provisioning/datasources/datasource.yml\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - key: dashboards.yml\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 path: provisioning/dashboards/dashboards.yml\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - key: dashboard.json\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 path: dashboard.json\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 containers:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - name: grafana\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 image: grafana/grafana\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 imagePullPolicy: IfNotPresent # Always\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 ports:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - containerPort: 3000\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 name: http\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 volumeMounts:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - name: grafana-config-volume\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 mountPath: /etc/grafana/\nRun Code Online (Sandbox Code Playgroud)\n完整的示例工作在这里:https://github.com/felipegutierrez/explore-flink/blob/master/k8s/grafana-deployment.yaml
\n| 归档时间: |
|
| 查看次数: |
3426 次 |
| 最近记录: |