0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样绘制家庭路由器指标图

454398 来源:网络整理 作者:网络整理 2019-12-06 17:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

技术世界不是很棒吗?所有这些出色的服务和免费软件随处可见。我想分享我对Grafana和InfluxDB的初次经验,目的是制作路由器统计数据的持久,美观,灵活的图形。

问题:我的路由器指标旨在可以在Web-UI的各处找到。有些测量提供了最近几分钟的实时图形,有些则没有。重新启动后,所有统计信息都会重置。我想回到过去,查看吞吐量,温度等。

解决方案:InfluxDB用于持久存储,而Grafana用于可视化。

怎样绘制家庭路由器指标图

InfluxDB 是一个所谓的时间序列数据库(TSDB),专门用于存储数据历史记录,即标记值时间。

Grafana 是一个免费的自包含网站的InfluxDB(和其他TSDB)基于图形的工具。

这两种软件都很容易上手,但功能强大。顺便说一句,我与eiter项目无关。这个项目只是为了让您前进。一旦开始,您可能会发现自己在绘制各种事物。这非常适合物联网应用。例如我将与Openhab一起用于家庭自动化传感器指标(温度,湿度等)的相同设置。

在评论中请使用火焰和赞扬。并且让我知道是否有任何问题无法解决,所以我可以修复它!

步骤1:先决条件

路由器

要开始使用此项目,您需要具有以下功能的基于Linux的路由器:

命令行登录root访问(telnet或ssh)

Cron支持

内部JFFS或USB存储设备上的本地文件存储。这是用于存储脚本的。

上述功能通常没有库存固件,因此您可能必须使用DDWRT,Tomato或类似产品。就我而言,我使用ASUSWRT Merlin。华硕非常有意识地开放其库存固件,而Merlin版本则增加了最少但至关重要的功能。我为此项目使用了 ASUS RT-N66U 。

服务器

第二个前提条件是x86-基于Linux的服务器。它不必超级强大。在本项目中,我使用了带有Ubuntu Server 13.04 LTS和4GB RAM的HP微型服务器。从理论上讲,您可以在不同的处理器体系结构(例如ARM)上运行它,但是您将无法使用预构建的软件包。该服务器不必专门用于InfluxDB。

PC

您需要一台装有终端软件(例如Putty或MobaXterm)的PC或Mac。我更喜欢后者。)

一些知识

此Instructable适用于对命令行Linux有基本了解的人,

步骤2:准备路由器

这对ASUS RT-有效N66U ,我即如果您使用的是其他路由器,则不能按照字母上的说明进行操作。

免责声明! 请勿在路由器上加载自定义固件,除非您知道自己的路由器在做或至少接受一点点的风险,就是将路由器弄乱,直至无法返回(砖状)。我已经在路由器上加载了许多自定义固件,但从未遇到任何问题,但我知道可能会发生问题。但是,使用Merlin for Asus,由于它基于库存固件,因此风险较低。

在PC上,下载MerlinWRT

提取下载的zip 。 .trx文件包含固件。

浏览到路由器管理界面(通常可在http://192.168.1.1找到)

转到:管理-》固件升级。选择下载的.trx文件并上传。

路由器重启后,您将进入Merlin。重新登录。

转到:管理-》系统。启用所有JFFS-stuff。按应用。

重新启动路由器。

验证:

使用终端软件,登录到路由器使用与Web管理员相同的用户名和密码。

验证/jffs是否存在并且包含“ configs”和“ scripts”目录(请参见屏幕截图)。

现在路由器已准备好自定义脚本!

步骤3:准备服务器

如先决条件中所述,您需要一个小型x86于InfluxDB和Grafana的基于(英特尔AMD)的Linux服务器。以下说明可在Ubuntu上使用。请查看Grafana和InfluxDB文档以获取其他发行版的安装指南。

InfluxDB 0.8不是最新版本,但在撰写本文时提供了与应用程序的最佳兼容性。安装方法如下:

在服务器上的命令行登录

如果在64位操作系统上:

$ wget https://s3.amazonaws.com/influxdb/influxdb_0.8.8_amd64.deb

$ sudo dpkg -i influxdb_0.8.8_amd64.deb

如果在32位操作系统上:

$ wget https://s3.amazonaws.com/influxdb/influxdb_0.8.8_i686.deb

$ sudo dpkg -i influxdb_0.8.8_i686.deb

启动守护程序:

$ sudo/etc/init.d/influxdb start

重新启动:

$ sudo update-rc.d influxdb默认值

Grafana 2.1.1安装:

将Grafana安装为此处描述:http://docs.grafana.org/installation/debian/

验证:

通过以下方法验证influxdb浏览到influxdb管理员gui:http://yourserver:8083。以用户root和密码root登录

通过浏览到http://yourserver:3000/login验证grafana。以用户管理员身份登录,密码为admin

步骤4:InfluxDB准备

登录到influxdb http://yourserver:8083/

上的admin(root/root),使用默认设置创建指标数据库(mydb)。查看截图。您可以使用其他名称,但稍后将在说明中更改对mydb的引用。

步骤5:确定指标

现在是决定您要测量什么以及如何测量的好时机。我决定了以下内容(我将提供脚本示例)。对于路由器统计信息,我开始研究 wl 命令,并且我将继续这样做。它是巨大的。它似乎是路由器功能的主要命令行界面。实际上,我认为您可以做在Web UI中可以做的所有事情,甚至更多。我认为这是Broadcom专有的命令,因此如果您使用其他芯片组,则可能必须寻找替代方法。

CPU 使用。我的路由器上没有安装 vmstat 命令(我更喜欢使用),但 top 命令却安装了。可以从以下命令输出中提取CPU使用率:

$ top -bn1 |头-3

内存使用。也可以从 top 命令中提取可用内存和已用内存。请参阅CPU。

温度。每个wifi芯片都有温度读数,这些温度读数深深隐藏在wl命令中。但是,必须转换结果(请参见脚本)。例如:

$ wl -i eth1 phy_tempsense

Ping 。我决定对我的外部访问进行基准测试,以测量对两个已建立网站的ping访问。例如:

$ ping -c1 -W1 http://www.google.com

吞吐量。我认为没有计算就无法提供吞吐量。但是,可以在多个位置找到计数器。/proc/net/dev是一个很好的计数器源。示例:

$ cat/proc/net/dev | tail +3

无线客户端。通过wl命令每个接口/芯片(2.4GHz和5.0GHz)连接的无线设备数:

$ wl -i eth1 assoclist

我对其他测量有想法,但我认为这是一个很好的开始。要记住的一点是,小型家用路由器并不是功能强大的处理设备。太多,太频繁或太复杂的测量都会对路由器性能产生不利影响。

如果您提出了一个致命指标,请分享(评论)!

步骤6:路由器脚本

附加的zip归档文件包含:

router_assoclist.sh -报告已连接无线客户端数量的示例脚本

router_cpu.sh -CPU利用率脚本

router_mem.sh -内存利用率脚本

router_net.sh -网络统计信息脚本。使用流量计数器。

router_ping_ext.sh -用于一个或多个目标的ping往返

router_temp.sh -摄氏2.4GHz和5GHz芯片上的温度。如果您更喜欢华氏温度,请在此处进行数学计算。

routerstats.sh -触发其他脚本的主脚本

todb.sh -该脚本需要三个参数:系列名称,列和数据点。字符串数据会自动加引号,数据会被格式化并发送到目标数据库。

这是安装示例脚本的方式:

登录到路由器命令行

在持久性(jffs)文件系统上创建目录:

#mkdir/jffs/scripts/routerstats

提取zip存档并将文件移动到路由器上的新目录。有几种传输文件的方法,例如G。您可以在管理GUI中使用USB记忆棒或激活SSH(还可以激活SCP文件传输)。如果决定使用SSH/SCP,请使用Filezilla,modaXterm或类似工具将文件传输到路由器。

如果您不知道 vi 编辑器的工作方式,现在是查找它的好时机。它是路由器上唯一的文件编辑器。编辑 todb.sh中的设置: vi/jffs/scripts/routerstats/todb.sh。编辑以下几行以符合您的设置。您可能只需要更改dbhost行:

dbname =“ mydb”

dbhost =“ srv4:8086 ”

user =“ root”

passwd =“ root”

如果您不想学习vi,请先编辑文件,然后再将其移动到路由器。

使脚本每30秒运行一次。以下代码在 services-start 脚本中添加了两行,该脚本在启动时插入了两个cron调度程序条目。在常规的Linux发行版中,cron条目是持久的,您只需运行一次 cru -命令并使用它即可。 Cron仅以分钟间隔执行,因此要获得30s间隔就需要第二行。第二行与第一行同时触发,但在执行任何有用操作之前要等待30秒。

#echo‘cru a routerstats“ * * * * */jffs/scripts/routerstats/routerstats.sh”’》》/jffs/scripts/services-start

# echo‘cru a“ routerstats + 30”“ * * * * *(sleep 30;/jffs/scripts/routerstats/routerstats.sh)”’》 》/jffs/scripts/services-start

验证:

登录到InfluxDB管理员GUI(http://yourserver:8083)

单击mydb旁边的“浏览数据”

输入“列表系列”作为查询(请参见屏幕截图)

步骤7:Grafana可视化

Grafana可视化很有趣。我将为您提供一个示例仪表板,但我鼓励您试用并对其进行调整。可以在Grafana主页上找到优秀视频教程的链接。

创建数据源:

登录到grafana(http://yourserver:3000)

创建数据源mydb(请参见屏幕快照

导入示例仪表板:

下载附件的仪表板文件。该文件包含json的定义整个仪表板。如果需要,请检查出来。它是人类可读的并且可以编辑的。例如,如果您创建的数据源使用除 mydb 之外的任何其他名称,则可以在该文件中进行搜索替换或稍后在GUI中更改数据源。

导入仪表板(请参见屏幕截图)

现在,您应该拥有一个仪表板,它将逐渐填充数据!

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3892

    浏览量

    118890
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业路由器与家用路由器有什么区别

    ,强调稳定性、可靠性和长期运行能力。 使用场景 :工厂自动化、智能交通、能源监控、远程设备管理等工业场景,需在恶劣环境下持续工作。 家用路由器 设计目标 :满足家庭用户日常上网需求,注重易用性、成本和外观。 使用场景 :家
    的头像 发表于 10-23 14:07 450次阅读

    带光纤路由器与传统路由器的区别

    在数字经济高速发展的今天,网络基础设施的升级已成为企业与家庭智能化转型的核心驱动力。厦门才茂通信作为行业先行者,推出了国内首款带光纤接口的工业级路由器CM520-3XX-9系列,彻底打破了传统路由器
    的头像 发表于 09-28 09:52 623次阅读

    工业网关工业路由器环保站应用#工业路由器

    路由器
    jf_69620166
    发布于 :2025年08月26日 16:48:14

    如何将你手中的树莓派变身为强大路由器

    将树莓派用作路由器,是一种经济高效且可定制的解决方案,能满足从基础家庭网络到专业设置的各种网络需求。树莓派是一款小型单板计算机,配备必要的硬件和软件后即可作为路由器使用。DIY路由器
    的头像 发表于 07-07 16:30 2899次阅读
    如何将你手中的树莓派变身为强大<b class='flag-5'>路由器</b>?

    光纤如何连接路由器

    光纤连接路由器通常需要借助光猫(ONT/光网络终端)作为中间设备,因为光纤信号(光信号)无法直接被路由器识别,必须先转换为电信号(以太网信号)后才能传输至路由器。以下是详细步骤和注意事项: 一、光纤
    的头像 发表于 05-28 09:33 6026次阅读
    光纤如何连接<b class='flag-5'>路由器</b>

    家用路由器 vs 工业路由器:90%的人不知道的5大区别!工业级设备为何贵10倍?

    一、你的路由器“娇气”吗? “家里的Wi-Fi又断了!”——这是许多家庭的日常抱怨。但你知道吗?在工厂、电力、交通等关键领域,路由器哪怕宕机1分钟都可能造成百万损失! 工业路由器 和家
    的头像 发表于 04-08 11:39 2216次阅读
    家用<b class='flag-5'>路由器</b> vs 工业<b class='flag-5'>路由器</b>:90%的人不知道的5大区别!工业级设备为何贵10倍?

    怎样选择合适的工业路由器?

    在工业物联网快速发展的今天,工业路由器作为连接设备与网络的核心枢纽,其性能与可靠性直接影响着整个系统的运行效率。然而,面对市场上众多品牌和型号,如何选择一款真正适合自身需求的工业路由器?本文将从
    的头像 发表于 04-03 13:55 653次阅读

    工业路由器 VS 无线路由器:硬汉与暖男的 “职场生存法则”

    天差地别! 一句话总结: 无线路由器家庭 WiFi 的 “暖男管家”,负责让你追剧、打游戏不卡顿; 工业路由器:工业物联网的 “硬核战士”,能在高温、粉尘、强电磁干扰中 “扛把子”。 二、从 “出身” 看本质:天生我材必有用
    的头像 发表于 04-03 10:05 658次阅读
    工业<b class='flag-5'>路由器</b> VS 无线<b class='flag-5'>路由器</b>:硬汉与暖男的 “职场生存法则”

    工业路由器和家用路由器,区别竟然这么大,你被误导了吗?

    你有没有被误导。 应用场景大不同 家用路由器主要应用于家庭环境,满足一家人日常上网的基本需求,比如看看新闻资讯、追追剧、打打休闲游戏等。在家庭中,网络设备数量相对有限,使用场景也较为简单。而工业
    的头像 发表于 03-28 13:06 1416次阅读
    工业<b class='flag-5'>路由器</b>和家用<b class='flag-5'>路由器</b>,区别竟然这么大,你被误导了吗?

    工业路由器和家用路由器区别

    在当今万物互联的时代,路由器作为网络连接的核心设备,已渗透到生产生活的各个角落。但工业场景与家庭环境对网络设备的要求存在本质差异,由此催生出工业路由器和家用路由器两大品类。本文将深入解
    的头像 发表于 03-27 16:20 778次阅读

    工业路由器家庭能用吗?这个答案可能会颠覆你的认知!

    在网络设备的世界里,工业路由器一直以 “专业、可靠” 的形象活跃在工业领域,为工厂自动化、智能电网等复杂场景提供稳定的网络连接。但你有没有想过,这样的专业设备能否走进普通家庭呢?今天,就让我们一起
    的头像 发表于 03-25 22:51 499次阅读

    路由器经常断网怎么回事

    路由器经常断网可能有多种原因,以下是一些可能的原因及其解决方案: 一、路由器自身问题 1. 缓存过多:    - 路由器中的缓存过多会降低网络速度,甚至导致设备断线。此时可以尝试重启路由器
    的头像 发表于 02-20 11:23 5502次阅读
    <b class='flag-5'>路由器</b>经常断网怎么回事

    一文解析路由器的奥秘

    在当今数字化时代,互联网已经成为我们生活中不可或缺的一部分。在这个庞大的网络世界中,路由器作为连接不同网络的关键设备,扮演着至关重要的角色。文档君将为大家解析路由器的奥秘,让您更好地理解这个网络世界
    的头像 发表于 01-09 15:37 1270次阅读
    一文解析<b class='flag-5'>路由器</b>的奥秘

    5G/4G工业路由器和普通路由器的区别

    在现代网络设备中,路由器是不可或缺的组成部分。无论是在家庭网络中,还是在企业或工业环境中,路由器都发挥着至关重要的角色。然而,市场上的路由器种类繁多,尤其是“工业
    的头像 发表于 12-26 14:23 1806次阅读
    5G/4G工业<b class='flag-5'>路由器</b>和普通<b class='flag-5'>路由器</b>的区别

    如何远程登录路由器

    路由器放置在机房、弱电箱等不方便直接操作的位置,或当网络出现故障或者需要远程协助时远程登录路由器可以极大的解决问,本期重点说明远程登录路由器的方法,供各位参考使用: 首先 ,需要确保家里的
    的头像 发表于 12-18 12:01 1570次阅读
    如何远程登录<b class='flag-5'>路由器</b>