简介

grafana可以连接各种数据源, 并通过给定的SQL语句做数据的定时统计和web大屏展示,也可以对外提供API进行展示, 类似这样
image
image
内含多种不同类型图表, 可以涵盖很多种监控需求, 报表可视化需求.
image

安装:

在线安装(以centOS为例):

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.6-1.x86_64.rpm
sudo yum install grafana-enterprise-9.3.6-1.x86_64.rpm

离线安装

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.6.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-9.3.6.linux-amd64.tar.gz

配置grafana

grfana的默认配置文件在conf/defaults.ini
绿色版grafana,我们需要定制化配置文件,新建一个custome.ini路径放在

grafana/conf/custome.ini

在custome.ini中修改的配置会覆盖defaults.ini中的配置,所以不要修改默认的defaults.ini
grafana给我们提供了一个例子conf/sample.ini, 我们修改一下放到对应位置即可

sudo cp conf/sample.ini conf/custom.ini
sudo vi conf/custom.ini

grafana的配置项超级多,我们可以改一些主要的配置
image
image
image

启动grafana:

在grafana的bin目录下执行./grafana-server ../conf/custom.ini即可

配置mysql数据源:

添加mysql数据源

image

配置访问路径和密码

image

新建一个dashborad大屏

image

添加一个panel窗口

image

配置panel

image

举例, 比方我们要监控一个表每个小时产生的数据量

sql如下

SELECT from_unixtime(left(ts,10),'%Y-%m-%d %H') as  '时间',COUNT(0) as '数量'
FROM formation_stop_data
GROUP BY from_unixtime(left(ts,10),'%Y-%m-%d %H');

然后再选择合适的图表样式(有很多默认样式)
image
如果满意则点击save + apply提交
dashboard就添加了一个panel,可以添加多个panel,而且可以随意拖动改变大小.
image
右上角还能调节定时刷新数据的时间间隔和时间范围
image
image

配置TDengine

grafana集成tdengine需要安装插件:

离线安装

TDengine 的 Grafana 插件托管在 GitHub,可从 https://github.com/taosdata/grafanaplugin/releases/latest 下载
下载到本地并解压到 Grafana 插件目录。

GF_VERSION=3.1.3
sudo unzip tdengine-datasource-$GF_VERSION.zip -d /var/lib/grafana/plugins/

注意如果是绿色版则默认放在data/plugins ,如果没有这个文件夹则需要自己创建, 解压放好重启grafana就可以看到了

**注意**:如果没有安装unzip会报错, 下载unzip并安装:
安装步骤如下:
1、下载unzip 离线包 :
unzip-6.0-19.el7.x86_64.rpm 软件下载: https://pan.baidu.com/s/1wRCu8V3XaWJNCCj890kKkg    提取码:bn0o
2、安装
将离线包放到Linux任意目录,执行rpm -Uvh unzip-6.0-19.el7.x86_64.rpm命令安装.

Grafana 7.3+ / 8.x 版本会对插件进行签名检查,因此还需要在 grafana.ini 文件中增加如下行,才能正确使用插件:

[plugins]
allow_loading_unsigned_plugins = tdengine-datasource

在线安装

如果你的电脑可以联网就方便多了, 只需要在bin目录下执行以下指令即可安装
./grafana-cli plugins install tdengine-datasource

重启grafana

bin目录下./grafana-server ../conf/custom.ini
重启后在grafana的plugin这一栏就能看到tdengine的插件了
image

创建tdengine的链接

  • 先保证tdengine的taosadapter时启动状态
[pmish@localhost bin]$ systemctl status taosadapter
● taosadapter.service - adapter service
   Loaded: loaded (/etc/systemd/system/taosadapter.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2023-04-20 16:17:39 CST; 11min ago
 Main PID: 5109 (taosadapter)
   CGroup: /system.slice/taosadapter.service
           └─5109 /usr/bin/taosadapter
  • 开机自动启动
    systemctl enable taosadapter
  • 在grafana上选择add DataSource -> tdengine
    image
  • 新建一个dashboard->panel选择数据源为我们建立的这个tdengine
    image
    在下面的input sql处写你要做查询的sql语句,以td的语法, 然后点击Generate SQL确认SQL
    比如我这里查lbfs库的division表每分钟数据量:
select
  TIMETRUNCATE(ts,1m),
  count(ts)
from lbfs.division 
where
  ts >= $from and ts < $to 
group by 
  TIMETRUNCATE(ts,1m);

其中$from $to都是tdengine插件的内置函数,代表从grafana页面上获取的查询起始和结束时间.
效果如下:
image
grafana也有一些全局的内置参数, 比如$__from,$__to注意是双下划线.

  • Grafana内置参数(双下划线)
    $__dashboard
    当前dashboard的名称
    $__from $__to
    时间范围的毫秒值
    可自定义格式,比如:{$__from: date :YYYY-MM-DD HH:mm:ss} {$__from: date :seconds}
    $__interval
    查询的时间间隔,包含单位,比如:30s,2m
    $__interval_ms
    查询的时间间隔,毫秒值
    $__range
    查询的时间区间大小,包含单位,比如:2d
    $__range_s $__range_ms
    查询的时间区间大小,分别是秒数和毫秒数
    $__timeFilter
    返回当前选择的时间范围表达式,比如:time > now() -7d,常用于数据库作为datasource的时候。

grafana设置开启自启

# 1.创建文件 grafana.service
vim /lib/systemd/system/grafana.service

# 2.填入一些内容
[Unit]
Description=grafana service
After=network.target

[Service]
Type=simple
Restart=on-failure
ExecStart=/home/pmish/software/grafana-9.3.6/bin/grafana-server -homepath=/home/pmish/software/grafana-9.3.6/
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 3.保存并退出 :wq

# 4.刷新systemctl
systemctl daemon-reload

# 5. 设置开机启动,注意此处grafana等价于grafana.service
systemctl enable grafana

# 6.启动grafana,注意此处grafana等价于grafana.service
systemctl start grafana

# 查看grafana运行状态
systemctl status grafana

# 取消开机启动grafana
systemctl disable grafana

这里只是最最简单的使用, 更多的tdengine查询语法和grafana自定义dashboard还要看官方文档慢慢研究才行.

TD官方文档:https://docs.taosdata.com/taos-sql/function/
grafana官网:https://grafana.com/grafana/

posted on 2023-02-08 11:19  一贯可乐  阅读(1717)  评论(0编辑  收藏  举报



123