博客/工程

使用Telegraf插件,通过Grafana云托管Prometheus服务可视化工业物联网数据

2021年4月5日4分钟

对复杂软件系统进行数据可视化的最大挑战之一是快速访问底层数据并将其连接到某种形式的云托管解决方案。传统上,它需要相当多的中间件和附加工具的前期设置。但是随着Grafana云以及更广泛的开源工具基础设施,如Telegraf,从复杂和高度专门化的系统中提取数据,并将其转换为久经考验的开源度量和可视化工具,如Prometheus和Grafana,要容易得多。此外,还有低成本、灵活的长期数据存储的额外好处。

在这里,我们将重点介绍一个基于modbus的PLC系统的工业物联网领域的应用,利用Telegraf插件和Grafana云堆栈!

开始

网络通讯协议是一种数据通信协议,最初由Modicon(现在的施耐德电气)在20世纪70年代末发布,用于plc。网络通讯协议已经成为事实上的标准通信协议之一,现在是连接工业电子设备的常用手段。

Grafana云是一个可组合的可观测平台,集成了Grafana的度量、日志和跟踪。它帮助用户利用最好的开源可观察性软件——包括普罗米修斯Grafana洛基,Grafana节奏-无需安装、维护和扩展它们的开销。

为了为这个演示生成一些真实的数据流,我们创建了一个简单的实时PLC模拟器Codesys控制软plc系统

我们采用了演示冰箱控制器项目来支持一个简单的Modbus客户端设备,所有相关的程序输入和输出映射到各自的内存结构,由协议支持。让我们来看看那是什么样子的。

仿真系统是用计算机编程实现的行业标准IEC 61131-3编程语言和数据类型。

模拟的冰箱可以在浏览器界面上使用,这样用户就可以与它进行如下交互:

为了监控与冰箱控制器相关的重要参数(即温度和状态指示器),我们利用Grafana Cloud Hosted Prometheus服务将数据流推送到云端,以便在Grafana中可视化,也作为可观测堆栈的一部分托管在云端!

我们使用开源Modbus Telegraf输入插件要按设定的间隔从模拟中提取所需的数据,请使用插件的标准设置。为了将这些数据输出到托管的Prometheus服务,我们使用了HTTP Telegraf输出插件.以下是所需的最小输出配置:

#一个可以通过HTTP[[输出]传输度量的插件。http]] ## URL是发送度量的地址URL = <您的Grafana Prometheus远程写入端点URL> ## http基本认证证书username = <您的Grafana Cloud Prometheus用户名>密码= <您的Grafana.com API密钥> ##输出的数据格式。data_format = "prometheusremotewrite"headers] Content-Type = "application/x-protobuf" Content-Encoding = "snappy" X-Prometheus-Remote-Write-Version = "0.1.0"

注意:您可以在您的Grafana.com帐户门户网站下获得您的Grafana Cloud Hosted Prometheus服务实例的必要配置参数。

接下来,是时候像往常一样使用托管的Grafana实例来可视化指标了。所有导出的度量都由Grafana中的Prometheus数据源提供。这是我们想出的一个简单的仪表盘。大作。

结论

这个简单的演示展示了使用Telegraf插件向Grafana Cloud基础设施发送度量是多么容易,而无需为Prometheus、Loki和Tempo设置自己的实例。这些工具已经是Grafana Cloud提供的完整可观测性堆栈的一部分,成本非常合理。我们还推出了一个很棒的免费层,其中包括用于Prometheus或Graphite指标的10K系列和50GB日志-非常适合在现有应用程序上进行任何实验。你可以在这里创建一个免费帐户