简介

  • 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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐