最近在研究监控系统和可视化面板的制作,我用的是InfluxDB时序数据库,时序数据库数据可以通过多种工具进行可视化,整理如下:
-
Grafana: 是最流行的InfluxDB数据可视化工具之一。它是一个开源平台,用于监控和观测计量数据,支持多种数据源,包括InfluxDB。Grafana提供了丰富的图表类型、仪表盘和警报功能,可以高度自定义和扩展,非常适合于复杂的数据可视化需求。
-
Chronograf: 是InfluxData官方提供的开源Web应用程序,作为InfluxDB的一部分。它提供了构建和分享数据可视化、管理InfluxDB实例、处理数据和警报的功能。Chronograf旨在与InfluxDB紧密集成,提供简单易用的界面。
-
InfluxDB 2.0 UI: InfluxDB 2.0及更高版本自带了一个用户界面,通过这个界面,用户可以查询、探索、可视化时间序列数据,以及管理数据库的任务、警报等。这个内置的UI提供了一个无需任何额外安装即可使用的可视化工具。
-
Redash: 是一个开源的数据可视化工具,支持连接到InfluxDB。它允许用户创建和分享仪表板和图表,是一个适合做数据探索和共享见解的工具。
-
Tableau: 虽然主要用于商业智能,Tableau也支持连接到InfluxDB(通过InfluxDB的SQL接口或其他方法)。Tableau提供了强大的数据可视化和分析功能,适用于需要高级分析和美观报表的场景。
最后我选择了Grafana作为InfluxDB数据可视化工具。为了了解数据库、可视化工具和云三者之间的关系,我找到了如下视频:
11_监控报警_手动创建仪表盘_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1HT4y1Z7vR/?p=11&spm_id_from=333.880.my_history.page.click&vd_source=2619f8f2b1a681baf38b633acca071ac Grafana和InfluxDB的安装我都使用了Docker Desktop,Docker Desktop安装过程不再赘述,下面放上链接:
运行 Grafana Docker 镜像 |Grafana 文档
https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/ InfluxDB安装官方文档:
influxdb - 官方图片 |Docker 中心
https://hub.docker.com/_/influxdb/ 或者也不用像官方文档中用命令行操作安装,直接在Docker Desktop的界面也可以直接操作,在上面搜索栏直接搜索Grafana和InfluxDB,然后PULL或者RUN,记得配置一下各容器的端口即可。
问题
在Grafana安装并且进入可视化界面以后,需要配置数据源,在这里开始出现问题。下面的链接讲述了如何配置数据源:
10_监控报警_Grafana安装以及配置Prometheus作为数据源_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1HT4y1Z7vR?p=10&vd_source=2619f8f2b1a681baf38b633acca071ac 首先找到Data sources,

接下来Add data source,选择自己想要的数据源,

然后便在配置数据源的时候出现了问题,

最开始发现端口号有问题,所以说改了一下URL,但是没有用,然后在以下链接看到了一种方法,
Connection refused error reading buckets - Grafana / Configuration - Grafana Labs Community Forums
https://community.grafana.com/t/connection-refused-error-reading-buckets/71749 有个人说把URL从http://localhost:8086改成http://influxdb:8086 就配置成功了,但是我试了一下,唯一的变化是报错之前出现了一段时间的加载时间,

还有另外一个人评论我研究了很久,与我的情况相同,Docker容器中同时运行InfluxDB和Grafana,所以说需要一个Docker网络来允许两个容器相互通信。这个人使用了一个类似docker-compose文件来建立一个网络,

不过依旧不行,找了很久,终于在 Github里面找到了一个人的评论,链接如下:
尝试使用 Flux 查询语言添加 InfluxDB 2.0 数据源时出现“读取 InfluxDB 时出错” ·期号 #32252 ·格拉法纳/格拉法纳 (github.com)
https://github.com/grafana/grafana/issues/32252 按照这个人的方法更改以后,就可以成功运行了!!!Grafana是在Docker中运行的,而数据源在Docker容器之外,只需更改URLhttp://localhost:8086→http://host.docker.internal:8086即可。

根据这条评论,我的数据是由Python脚本产生的,并发送到了InfluxDB,因此URL改成http://host.docker.internal:8086/就行了。

配置成功以后,就可以使用Grafana做可视化面板了。

本文讲述了作者在使用InfluxDB作为时序数据库并配合Grafana进行数据可视化过程中遇到的问题,涉及数据源配置、网络通信和跨Docker容器连接。通过解决连接问题和调整URL,最终实现Grafana与InfluxDB的顺畅协作。
1901






