「GRAFANA」- 数据源 | Data Source

认识

文档 | Data sources | Grafana documentation | https://grafana.com/docs/grafana/latest/datasources/

数据源列表

参考 Built-in core data sources 文档,以了解 Grafana 支持的内置数据源类型。

参考 Built-in core data sources 文档,以了解其他数据源插件。

参考 Create a data source plugin 文档,以了解创建数据源插件的方法。

WIP ! Grafana 展示 Zabbix 监控数据;
How to Monitor MySQL with Grafana | Grafana Labs

删除 Datasource 配置

Example data source configuration file
https://grafana.com/docs/grafana/latest/administration/provisioning/

针对 Helm 部署:
[provisionning] deleteDatasources nned to have at least one datasource to works

deleteDatasources:
- name: test4

根据 Chart 定义,需要开启部分配置:

  • grafana.enabled
  • grafana.sidecar.datasources.enabled

Alertmanager

功能:Once you add it as a data source, you can use the Grafana Alerting UI to manage silences, contact points, and notification policies.

使用:
1)Configure the data source
2)To switch between Grafana and any configured Alertmanager data sources, you can select your preference from a drop-down option in those databases’ data source settings pages.

InfluxDB

通过 Dashboard 配置(GUI)

Grafana documentation/InfluxDB data source

Data Sources / InfluxDB

Query Language: Flux(InfluxDB 2.4.0 使用 Flux 为其查询语言)

HTTP
URL: http://172.31.253.41:8086
Access: Server (default)

InfluxDB Details
Organization: k4nz.com
Token: xxxxxxxxxxxxxxxxxxxx
Default Bucket: pve

通过 YAML 配置

Grafana documentation/Provision InfluxDB

apiVersion: 1

datasources:
- name: InfluxDB_v2_Flux
  type: influxdb
  access: proxy
  url: http://localhost:8086
  secureJsonData:
    token: api-token
  jsonData:
    version: Flux
    organization: organization
    defaultBucket: bucket
    tlsSkipVerify: true

通过 Provisioning 配置

Data source management | Grafana documentation
Grafana documentation/Data sources/Loki

问题描述

当更新 Grafana 配置后,需要重启服务以加载配置,但是,如果数据没有持久化,则会导致数据丢失;

解决方案

虽然能够通过内置数据库(sqlite)来持久化存储,但是我们通过配置的方式(Provisioning)来进行数据源的配置。

不同 Datasource 的配置方法不同,参考特定 Datasource 的官方文档,以获取其配置方法;

Loki

以 Loki 为例:

apiVersion: 1

datasources:
  - name: Loki
    type: loki
    access: proxy
    url: http://localhost:3100
    basicAuth: true
    basicAuthUser: my_user
    secureJsonData:
      basicAuthPassword: test_password

… no org id …

server returned HTTP status 401 Unauthorized (401): no org id · Issue #7081 · grafana/loki

Custom HTTP Headers
Header: X-Scope-OrgID
Value: tenant-3