smokeping数据导入influxdb并在grafana展示


smokeping的图形展示实在是太low,无法和公司监控的展示大屏融合,决定试着将smokeping的数据图形输出到grafana进行展示,了解了一下大概思路是smokeping将rrd数据文件转换成InfluxDB,然后用grafana对influxDB数据进行展示。

安装grafana

由于是测试环境,我是用windows docker desktop docker化部署grafana 6.5。
在这里插入图片描述
在这里插入图片描述
安装完grafana后暂时先不用着急配置,先安装smokeping docker版(注意需要使用此docker镜像,因为作者编译过,能将数据库写入influxdb)

安装smokeping

https://hub.docker.com/repository/docker/madady/smokeping-influx
链接为smokeping地址
下载docker镜像:

docker pull madady/smokeping-influx

使用docker启动smokeping

docker run -p 9500:80 -e TZ=Asia/Shanghai -it  madady/smokeping-influx:latest

启动docker后打开127.0.0.1:9500能打开smokeping页面
在这里插入图片描述
smokeping 安装完毕

安装influxdb数据库

一样docker安装

docker pull influxdb

启动docker

docker run --name=influxdb -d -p 8086:8086 influxdb
influx
create database smokeping

在这里插入图片描述

启动完成后,进入docker容器,peaceful_saha是docker ps看到的influxdb的名字
进入到容器后创建数据库

docker exec -it peaceful_saha sh

在这里插入图片描述

至此,influxdb数据库创建完毕。

配置应用(smokeping)

进入到smokeping的docker容器中,将/config/Database关联到influxdb,ip和端口填写自己的

*** InfluxDB ***

host = 192.168.2.175
database = smokeping
timeout = 10
port = 8086

在/config/Target文件中写自己要监控的地址,默认是有一些地址的
保存后重启smokeping服务和apache2服务

查看influxdb服务器数据

如果不改smokeping的step的话默认是300秒写入一次数据,他会分20次写入,将这20次数据生产一条数据库记录,等个十分钟看一下数据库中的数据
更改时间和ping的次数在config/Probes、config/Database、etc/smokeping/config,三个位置都有,最好都改。
跟配置数据库时相同,进入到数据库中

use smokeping
select * from FPing

这时应该能看到这种数据
在这里插入图片描述
如果能看到这个数据的话,说明已经没有问题了接下来只要配置grafana就好。

配置grafana

  1. 添加一个influxdb的数据源
    在这里插入图片描述
  2. 创建dashboard
    在这里插入图片描述
  3. 查询语句
SELECT mean("median") FROM FPing WHERE $timeFilter  GROUP BY time(1m),title

我这个也是试了半天才试出来的,time可以根据自己的时间写,默认5m,title是influxdb的tag,按title展示median(平均延迟)
在这里插入图片描述
至此已经出图了,具体图形的形状、样式和显示时间根据自己的需要调整就好。

参考链接:
https://github.com/oetiker/SmokePing/issues/201
https://adrianpopagh.blogspot.com/2020/06/smokeping-influxdb-export-docker-slaves.html

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页