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

    文章

    3495

    浏览量

    111331
收藏 人收藏

    评论

    相关推荐

    家用路由器如何选择?

    家用路由器已成为家庭网络的重要组成部分。选择一款合适的家用路由器对于家庭网络的安全、稳定性和性能至关重要。本文将介绍如何选择一款适合您家庭
    的头像 发表于 04-15 17:49 588次阅读

    4G路由器的应用场景有哪些

    在过去的几年里,4G路由器已成为许多家庭和企业的首选网络设备。作为一种能够将移动网络转化为家庭或企业网络的主要设备,4G路由器在许多应用场景中发挥着关键作用。本文将详细介绍4G
    的头像 发表于 04-02 11:25 148次阅读

    路由器如何解决家庭网络设备卡顿问题

    路由器通过优化网络信号传输、负载均衡、智能流量管理以及无线信号增强等手段,可以有效地解决家庭网络设备卡顿问题。
    的头像 发表于 03-16 11:19 231次阅读

    路由器桥接路由器怎样桥接 路由器桥接好还是中继好

    路由器桥接和中继是常用的网络扩展方式,用于扩大网络覆盖范围,提供更好的网络连接。这两种方式在不同的场景下有着各自的优势,下面将详细介绍如何桥接路由器,以及桥接和中继的优缺点。 一、什么是路由器
    的头像 发表于 02-20 14:26 677次阅读

    为什么要桥接无线路由器?如何通过网线将两个路由器进行桥接?

    为什么要桥接无线路由器?如何通过网线将两个路由器进行桥接?两台路由器有线桥接的两种方法  为什么要桥接无线路由器? 无线路由器是目前
    的头像 发表于 02-04 14:07 598次阅读

    路由器是干什么用的 路由器怎样桥接另一个路由器

    路由器是一个网络设备,用于将数据包从一个网络传输到另一个网络。它通过控制数据包的路径来实现互联网上多个网络之间的通信。路由器家庭、办公室和企业网络中被广泛使用,以便用户能够访问 Internet
    的头像 发表于 01-19 17:12 419次阅读

    高端路由器和低端路由器有哪些区别呢?

    高端路由器和低端路由器有哪些区别呢? 高端路由器和低端路由器是网络设备市场上常见的两种类型,它们在性能、功能、安全以及价格等方面存在着明显的差异。本文将详细介绍高端
    的头像 发表于 12-27 16:27 348次阅读

    两个无线路由器怎样桥接?

    两个无线路由器怎样桥接? 桥接是一种将两个无线路由器连接在一起并合并它们的网络的方式,以实现更大的无线覆盖范围和更好的网络性能。 首先,让我们明确一下什么是桥接。桥接是指将两个无线路由器
    的头像 发表于 12-11 11:11 897次阅读

    插卡路由器设置教程,让家庭网络更稳定高速!

    插卡路由器设置,让家庭网络更稳定高速!
    的头像 发表于 11-29 17:17 979次阅读

    插卡路由器设置教程,打造稳定高效的家庭网络

    插卡路由器设置教程,打造稳定高效的家庭网络
    的头像 发表于 11-29 17:08 1598次阅读

    4G路由器-为你的家庭网络提供稳定连接

    4G路由器-为你的家庭网络提供稳定连接
    的头像 发表于 11-17 11:37 197次阅读

    核心路由器的十项性能指标

    电子发烧友网站提供《核心路由器的十项性能指标.doc》资料免费下载
    发表于 11-10 16:28 0次下载
    核心<b class='flag-5'>路由器</b>的十项性能<b class='flag-5'>指标</b>

    如何选择路由器路由器是如何工作的?

    路由查询的行为是逐跳的,到目标网络沿途的每个路由器都必须有关于该目标网段的路由信息。简单来说,数据包每经过一个路由器路由器就会告诉它下一跳
    发表于 10-15 10:46 307次阅读
    如何选择<b class='flag-5'>路由器</b>?<b class='flag-5'>路由器</b>是如何工作的?

    非公网IP用户如何直接穿透家庭路由器

    今天将向大家介绍当前唤醒最优方案:非公网IP用户如何直接穿透家庭路由器,一键唤醒内网计算机,实现远程开机。
    的头像 发表于 08-28 09:57 1392次阅读
    非公网IP用户如何直接穿透<b class='flag-5'>家庭</b><b class='flag-5'>路由器</b>

    如果给路由器天线换成5G信号塔天线会怎么样?

    如图所示,如果把路由器天线切换成5G信号塔天线会怎样?技术上可行吗?信号和支持范围会不会增强? 我想自己做一款路由器,功能类似于5G工业级路由器(参考),支持网线及SIM卡接入,网线
    发表于 06-19 09:44