AI摘要

本文介绍了Grafana这一数据可视化工具,它能够连接多种数据源并生成动态看板。文章详细讲解了如何配置MySQL数据源,包括安全警告、添加数据源的步骤、配置选项等。同时,提供了一个MySQL披露明细面板配置的示例,包括创建测试数据表、导入Grafana面板配置等。通过这些步骤,用户可以快速构建BI报表和监控仪表板,实现数据的直观展示和分析。

Grafana-可视化看板

在如今数据驱动的年代,快速查看数据趋势、分析业务表现是企业和团队的刚需。不管是BI报表、MySQL数据统计,还是Prometheus的监控数据,都需要一个直观、好用的工具来把复杂数据变成清晰的图表。Grafana 就是这样的神器!它开源免费,能无缝连接MySQL、Prometheus等数据源,通过简单的SQL或查询就能生成动态看板。比如,电商可以用它看销售趋势、库存变化;运维团队能实时监控服务器性能。Grafana 操作简单,实时刷新数据,还支持团队分享,特别适合快速构建BI报表和监控仪表板,

MYSQL数据源实现数据分析

1、mysql数据源配置

MySQL 数据配置过程

配置 MySQL 数据源

本文档提供配置 MySQL 数据源的说明,并解释可用的配置选项。有关管理数据源的常规信息,请参阅 数据源管理.

开始之前

  • 您需要 Organization Administrator 角色才能配置 MySQL 数据源。
  • 管理员也可通过 YAML 文件配置数据源。
  • 注意:Grafana 默认内置 MySQL 数据源,无需额外安装。

安全警告

添加数据源时,确保数据库用户仅具有 SELECT 权限,限制对相关数据库和表的访问。Grafana 不会验证查询安全性,可能执行有害 SQL 语句(如 USE otherdb;DROP TABLE user;)。建议创建一个权限受限的专用 MySQL 用户。

示例:

CREATE USER 'grafanaReader' IDENTIFIED BY 'password';
GRANT SELECT ON mydatabase.mytable TO 'grafanaReader';

使用通配符(*)可授予对更多数据库或表的访问权限。

添加 MySQL 数据源

  1. 单击左侧菜单中的 Connections
  2. 在搜索栏输入 MySQL,选择 MySQL 数据源
  3. 单击右上角的 Add new data source
  4. 进入 Settings 选项卡,配置数据源。

MySQL 配置选项

基本设置

  • 名称:设置数据源名称,用于面板和查询引用,例如 mysql-assets-1mysqldb1
  • 默认:切换以将此数据源设为面板和可视化的默认选项。

连接

  • 主机 URL:输入 MySQL 实例的 IP 地址/主机名和端口(默认 3306,如 localhost:3306)。
  • 数据库:输入 MySQL 数据库名称。

验证

  • 用户名:输入连接 MySQL 的用户名。
  • 密码:输入对应的密码。
  • 使用 TLS 客户端身份验证:启用 TLS 认证,需提供客户端证书和密钥。
  • 使用 CA 证书:用于验证自签名 TLS 证书,需提供根证书。
  • 跳过 TLS 验证:跳过证书链和主机名验证(不推荐)。
  • 允许明文密码:允许特定账户(如使用 PAM 插件)以明文传输密码(注意安全风险)。

MySQL 选项

  • 会话时区:设置数据库会话时区(如 Europe/Berlin+02:00)。若数据库非 UTC 时区,建议设为 +00:00 以确保时间处理正确。
  • 最小时间间隔:定义 $\_\_interval$\_\_interval\_ms 的下限,建议与数据写入频率一致(如 1m 表示每分钟写入)。

连接限制

  • 最大打开数:最大打开连接数,默认 100。
  • 最大空闲:空闲连接池最大连接数,默认 100。
  • 自动(最大空闲连接数):自动将最大空闲连接数设为最大打开连接数,默认启用。
  • 最大生命周期:连接可重用最长时间(秒),需小于 MySQL 的 wait\_timeout,默认 14400(4小时)。

私有数据源连接(仅 Grafana Cloud)

  • 私有数据源连接 (PDC):为 Grafana Cloud 用户提供私有网络内安全连接。选择 PDC 的 URL,详情见 私有数据源连接.

保存和测试

配置完成后,单击 Save & Test 测试并保存数据源连接。

2、Mysql测试数据准备

CREATE TABLE disclosure_detail (
  id INT AUTO_INCREMENT PRIMARY KEY,
  stat_date DATE COMMENT '统计日期',
  company_type VARCHAR(50) COMMENT '企业类型',
  company_name VARCHAR(100) COMMENT '企业名称',
  disclosure_item VARCHAR(100) COMMENT '披露指标',
  disclosure_status VARCHAR(20) COMMENT '披露状态',
  update_time DATETIME COMMENT '更新时间'
);

INSERT INTO disclosure_detail (stat_date, company_type, company_name, disclosure_item, disclosure_status, update_time) VALUES
('2025-10-10', '发电企业', '国华电力公司', '发电量', '已披露', '2025-10-10 10:00:00'),
('2025-10-10', '售电公司', '冀北售电有限公司', '售电合同', '未披露', '2025-10-10 09:30:00'),
('2025-10-11', '发电企业', '华能唐山热电厂', '环保数据', '已披露', '2025-10-11 08:45:00');

3、grafana导入模版json

MySQL 披露明细面板配置

MySQL 披露明细面板配置

以下是一个用于展示披露明细的 Grafana 面板配置示例,基于 MySQL 数据源,展示如何通过 SQL 查询生成表格形式的 BI 报表。

{
  "id": 1,
  "type": "table",
  "title": "披露明细",
  "gridPos": {
    "x": 0,
    "y": 0,
    "h": 20,
    "w": 24
  },
  "fieldConfig": {
    "defaults": {
      "custom": {
        "align": "auto",
        "footer": {
          "reducers": []
        },
        "cellOptions": {
          "type": "auto"
        },
        "inspect": false
      },
      "mappings": [],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "value": null,
            "color": "green"
          },
          {
            "value": 80,
            "color": "red"
          }
        ]
      }
    },
    "overrides": []
  },
  "pluginVersion": "12.2.0",
  "targets": [
    {
      "format": "table",
      "rawSql": "SELECT \n    DATE_FORMAT(stat_date, '%Y-%m-%d') AS '统计日期',\n    company_type AS '企业类型',\n    company_name AS '企业名称',\n    disclosure_item AS '披露指标',\n    disclosure_status AS '披露状态',\n    update_time AS '更新时间'\nFROM disclosure_detail\nORDER BY update_time DESC;\n",
      "refId": "A",
      "editorMode": "code",
      "sql": {
        "columns": [
          {
            "type": "function",
            "parameters": []
          }
        ],
        "groupBy": [
          {
            "type": "groupBy",
            "property": {
              "type": "string"
            }
          }
        ],
        "limit": 50
      },
      "rawQuery": true
    }
  ],
  "datasource": {
    "uid": "af0qhvh5wcg00a",
    "type": "mysql"
  },
  "options": {
    "showHeader": true,
    "cellHeight": "sm"
  }
}

配置说明

  • 面板类型:表格(table),适合展示结构化数据,如披露明细。
  • SQL 查询:从 disclosure\_detail 表查询统计日期、企业类型、企业名称、披露指标、披露状态和更新时间,按更新时间降序排列。
  • 布局:占用整个仪表板宽度(w: 24),高度为 20 格。
  • 格式化DATE\_FORMAT 将日期格式化为 YYYY-MM-DD,便于阅读。
  • 阈值:默认绿色,值超过 80 时变红色(可根据需求调整)。
  • 数据源:连接到指定的 MySQL 数据源(UID: af0qhvh5wcg00a)。

此配置可直接导入 Grafana 的仪表板,生成一个展示披露明细的 BI 报表表格,适合快速分析企业披露状态。

4、数据展示

image.png

正文到此结束
最后修改:2025 年 10 月 12 日
如果觉得我的文章对你有用,请随意赞赏