Grafana 是一款流行的开源数据可视化和监控分析平台,可以通过灵活的配置查询采集到的数据并进行可视化展示。它可以快速灵活的创建客户端图表,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式。支持 InfluxDB,OpenTSDB,Prometheus,ElasticSerach,MySQL 等数据源,还可以创建自定义告警规则并通知到其他消息处理服务或组件中。
openGemini 由于兼容 InfluxDB 接口,自开源以来一直推荐使用 InfluxDB 数据源连接 openGemini,直到今天,社区终于开发了自己的数据源插件,填补了空白。本文主要介绍该插件的功能和使用方法(需注意,插件依赖Grafana版本:v9.5.3+)。
插件已在社区开源,若有功能不满足需求,可进行二次开发。
https://github.com/openGemini/grafana-opengemini-datasource
插件功能特性
支持将源数据格式化为 time series,table,log 三种类型的数据。
支持日志数据的展示。结合 openGemini 数据库自身的日志检索相关语法和 openGemini 数据源插件的关键词高亮功能,实现对日志的查询,展示及检索等操作。
别名支持。别名模式支持对表名、列名或 tag 名称进行名称替换,用于区分复杂数据。
插件支持$timeFilter, $__interval 等变量出现在查询语句中,查询过程中会将变量替换为对应值。
插件安装
你可以选择如下任何一种方式使用 Grafana-openGemini 插件:
(一)源码编译
编译环境信息
Node.js:version v16+
yarn,可通过如下命令安装
> npm install yarn
复制
下载源码
> git clone https://github.com/openGemini/grafana-opengemini-datasource.git
复制
进入主目录
> cd grafana-opengemini-datasource
复制
编译
> yarn install
> yarn run build复制
编译好的插件存放在 dist 文件夹下
(二)下载 release 版本
下载最新版本 release ,下载链接:
https://github.com/openGemini/grafana-opengemini-datasource/releases/
配置 Grafana
修改 Grafana 配置文件custom.ini:
[paths]
...
//配置下载的源码路径
plugins = /path/to/[plugin-path]
...
[plugins]
...
//配置插件名称为opengemini-opengemini-datasource (不可修改)
allow_loading_unsigned_plugins = opengemini-opengemini-datasource
复制
如果没有 custom.ini 文件,可以拷贝 sample.ini 文件,并重命名为 custom.ini
配置修改成功后,重新启动 grafana-server。
插件使用
1.点击左侧菜单Connections
2.选择 openGemini
3.点击Add new data source
数据源配置
配置链接 openGemini 的各项参数,比如 HTTP URL,用户名密码,数据库等相关信息
配置项说明
Name,设置该数据源的名称
Default,打开默认可以在新 panel 中默认选择该数据源
URL,openGemini 服务的地址,openGemini 服务默认端口号为 8086
Allowed cookies ,默认情况下 grafana 代理会删除转发的 cookie。该项按照名称指定应转发到数据源的 cookie
Timeout,设置请求的超时时间
Database,设置 openGemini 的默认 database
HTTP Method,设置openGemini的请求方法
Min time interval,设置自动分组的最小时间间隔
查询
查询语法: 详见 openGemini 文档
https://docs.opengemini.org/zh/
Format as:选择将数据格式化为 time series,table,log 等类型
Alias by:支持对表名、列名或 tag 名称进行名称替换
$measurement 替换 measurement 名称
$col 替换列名
$tag_exampletag 替换 exampletag tag 的值
举个例子,查询每个节点的 CPU 利用率,查询语句
SELECT mean("CpuUsage") FROM $database.."system" WHERE $timeFilter GROUP BY time($__interval), "host" fill(null)
复制
Alias by 中填入$tag_host,表示使用 host 值替换默认表名的展示
分别使用 time series 和 table 格式展示效果如下图所示:
time series
table
再举个例子,查询日志,查询语句如下:
select * from mst181998 limit 100
复制
效果如下图所示:
总结
openGemini再添一员“猛将“,有了专属自己的数据源插件—openGemini-Grafana!本文从安装—使用—数据源配置三个步骤细致地描述了如何在openGemini轻松接入Grafana,欢迎大家下载安装体验。
openGemini官网:http://www.openGemini.org
openGemini开源地址:https://github.com/openGemini
openGemini公众号:
欢迎关注~ 诚邀你加入 openGemini 社区,共建、共治、共享未来!