Grafana-openGemini 介绍
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
插件使用
-
点击左侧菜单Connections
-
选择 openGemini
-
点击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 社区,共建、共治、共享未来!