使用 Telegraf 监控 OpenWRT

导航至

世界上最受欢迎的开源路由软件是什么?当然是 OpenWRT!它是用于家用和商用路由器的首选固件替代品,适用于大量的路由器。因此,当然需要对其进行监控!严格来说,路由器是一个物联网设备,但是,嘿,它是一个(相对较小)的嵌入式设备,无处不在,确实值得关注。事实证明,使用 InfluxDB 监控您的 WRT 启用路由器非常简单,令人惊讶!

内置监控

OpenWRT 确实有一些基本的内置监控,您可以查看,但它们只存在于由路由器提供的网页上,据我所知,它们不能跨多个设备汇总,而且,正如我所说,非常基础。

SafariScreenSnapz021

如果您玩过 Chronograf,您会认为这最多是非常原始的。所以,让我们启用一些更详细的监控!

更详细的监控

首先,我恰好没有闲置的旧 Linksys 路由器,所以我在一个 Raspberry Pi 上构建了这个(但概念是一样的),您可以在任何支持 WRT 的路由器上轻松完成相同的事情。

实际上,您需要做的就是将 WRT 映像 烧录到 microSD 卡中,将其插入 Raspberry Pi,然后打开它!您的 Pi 现在就是一个路由器!下一步是在您的新路由器上安装部分(或全部,如果您有空间的话)TICK 栈。我在一个 8GB microSD 上运行我的 Raspberry Pi,所以我的设备空间非常有限。因此,我决定只安装 Telegraf,并将其所有数据发送到另一个地方的 InfluxDB 服务器。因此,前往 下载页面 并获取 Telegraf 的 ARM 版本。它是一个 gzip 压缩的 tar 文件,这在当前情况下实际上很好。一旦您将其放在本地机器上,您就需要使用 scp 将其复制到您的路由器

davidgs$ scp telegraf-1.5.0_linux_armhf.tar.gz [email protected]:telegraf-1.5.0_linux_armhf.tar.gz

完成上述操作后,通过 ssh 登录到您的路由器并解包/安装 Telegraf

root@OpenWrt:~# tar xzvf telegraf-1.5.0_linux_armhf.tar.gz
root@OpenWrt:~# mv telegraf/usr//bin/telegraf /usr/bin
root@OpenWrt:~# mv telegraf/usr/lib/telegraf /usr/lib
root@OpenWrt:~# mv telegraf/var//log/* /var/log
root@OpenWrt:~# mv telegraf/etc/* /etc

然后,您只需通过编辑 telegraf.conf 文件将 Telegraf 指向您的 InfluxDB 实例即可

[[outputs.influxdb]]
 ## The full HTTP or UDP URL for your InfluxDB instance.
 ##
 ## Multiple urls can be specified as part of the same cluster,
 ## this means that only ONE of the urls will be written to each interval.
 # urls = ["udp://127.0.0.1:8089"] # UDP endpoint example
 urls = ["http://192.168.2.1:8086"] # required

当然,您的URL会有所不同,但您应该明白了。然后,您需要从您的路由器加载管理员页面,并选择系统 -> 启动页面

 

StartupConf

然后只需添加启动Telegraf的命令即可

 

现在,无论何时您的路由器被重置,Telegraf都会自动重启并继续将路由器的统计数据发送到InfluxDB。

最后,我进入了我的本地InfluxDB实例,并构建了一个仪表板来监控路由器

SafariScreenSnapz022

再次强调,如果我要部署多个WRT路由器——这在许多企业中很常见——我会将它们配置为向同一个InfluxDB实例报告,并构建一个仪表板,以便我可以从单个面板中监控公司内的所有路由器。

更进一步

现在轮到你了!如果你手头有一个旧路由器,为什么不自己构建一个自监控路由器呢!如果你有空间,还可以在上面安装InfluxDB和Kapacitor,并构建一些警报,以便在路由器出现问题时通知你。或者构建在路由器本身上运行的仪表板!