使用 Telegraf 监控 OpenWRT
作者:David G. Simmons / David G. Simmons / 开发者
2017年12月18日
导航至
世界上最流行的开源路由器软件是什么?当然是 OpenWRT!它是家庭和商业用途的众多路由器的首选固件替代品。所以,您当然需要监控它!现在,严格来说,路由器是一种物联网设备,但嘿,它是一个(相对)小型的、嵌入式设备,无处不在,并且确实值得关注。事实证明,使用 InfluxDB 监控您的 WRT 路由器非常简单,简直令人惊讶!
内置监控
OpenWRT 确实有一些您可以查看的基本内置监控,但它 **仅** 在路由器提供的网页上可用,据我所知,它无法跨多个设备聚合,而且正如我所说,它非常基础。
如果您使用过 Chronograf,您会认为这最多是非常简陋的。因此,让我们启用更详细的监控!
更详细的监控
首先,我碰巧没有旧的 Linksys 路由器,所以我是在 Raspberry Pi 上构建了这一切,但概念是相同的,您可以在任何 WRT 支持的路由器上做完全相同的事情,几乎没有任何困难。
实际上,您只需将 WRT 镜像刻录到 microSD 卡,将其插入您的 Raspberry Pi,然后打开电源!您的 Pi 现在就是一台路由器!下一步是在您的新路由器上安装 TICK Stack 的一部分(或全部,如果您有空间)。我的 Raspberry Pi 在 8GB microSD 上运行,因此我的设备上的空间非常有限。在这种情况下,我决定只安装 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 会有所不同,但您明白我的意思。然后,您需要加载路由器的管理页面并选择“系统”->“启动”页面
然后只需添加命令以启动 Telegraf
现在,每当您的路由器重置时,Telegraf 都会自动重启并继续将路由器的统计信息发送到 InfluxDB。
最后,我进入了我的本地 InfluxDB 实例并构建了一个仪表板来监控路由器
同样,如果我要部署多个 WRT 路由器——这在许多企业中很常见——我会将它们设置为全部报告到同一个 InfluxDB 实例,并构建一个仪表板,以便我可以从单一的管理界面监控我公司中的所有路由器。
更进一步
现在轮到您了!如果您有旧路由器闲置,为什么不构建自己的自监控路由器呢!如果您有空间,也可以在其上安装 InfluxDB 和 Kapacitor,并构建一些警报,以便在您的路由器出现问题时通知您。或者构建直接在路由器本身上运行的仪表板!