简介
-
influxdb 是一种时序数据库,常用来做监控储存时序数据。
- 提供简单高性能的写入与查询http api
- tag有索引查询速度快
- 自动过期策略,无需清理过期数据
- 使用方便,查询语句简单
-
grafana 是一个可视化的分析平台,常用来做服务的监控与告警。
- 数据可视化,有丰富的数据面板
- 支持多种数据库,如 Prometheus、InfluxDB
- 服务告警,当数据达到阈值时支持发送消息提醒
- 注释,鼠标悬停时会显示完整的事件元数据和标记
安装
为降低安装复杂度,本文使用docker来安装以上应用。
需要注意的是,两容器应用默认是无法通信的,因为所处的网络环境是相互隔离的,在此我们需要配置两容器使用同一network。
- 安装grafana
# 创建自定义network
docker network create my-net
# 搜索可用镜像
docker search granfan
# 运行容器
docker run -d -p 3000:3000 --name=grafana -v /d/docker/data/grafana:/var/lib/grafana --network my-net grafana/grafana
- 安装influxdb
# 搜索可用镜像
docker search influxdb
# 运行容器
docker run -d -p 8083:8083 -p 8086:8086 --name influxdb influxdb
# 进入容器
docker exec -it influxdb bash
# 查看ip
ip addr
配置
# influxdb 添加数据
1, 创建 bucket, bucket 可以指定数据过期方式,如48小时或永久等
2,添加 data,eg: myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000
3, 配置 apiToken,grafana 通过token访问influxdb数据库
# grafana 配置influxdb数据源
1,HTTP url 要填influxdb容器内网ip,否则grafana会找不到主机地址
2,对于 infludb 2.x Query Language要使用 Flux,并使用Token方式进行认证
对于 1.x Query Language使用 influxQL
# grafana 配置dashboard
1,添加视图面板
2, 编辑 SQL语句,如下所示
from(bucket:"bucket")
|> range(start: -3h)
|> filter(fn: (r) => r._measurement == "add_test")
# 配置grafana嵌入页面
1,打开grafana配置文件
2, 修改如下配置项
allow_embedding=true
[auth.anonymous]
enabled=true
3,点击视图面板title,在share panel中配置嵌入网页样式,在Embed选项中获取嵌人html