一、nlbwmon的安装与简介

使用Openwrt后,我们自然希望它拥有更多的高级功能,这其中就包括对于数据流量的统计。

我们知道Openwrt基于Linux系统,而Linux系统自带了简易的带宽及流量统计功能,但该功能十分“简陋”,保存的数据在系统重启之后便丢失了,并且也没有针对设备、日期、类型的归类统计功能,为此,我们需要使用第三方的工具——nlbwmon。

上图为“网络-接口”选项卡的粗略统计

本文章针对编译时已经安装了nlbwmon的斐讯K3路由器,其它设备可通过opkg自行安装尝试。

如图所示为Luci下的nlbwmon统计展示页面

nlbwmon实质上应当是监控从CPU软转发的NAT数据包,如果传输发生在局域网之中,就无法检测到相关数据了。

因此,无法统计具备硬件NAT模块的路由器上的硬NAT流量。

如图所示为nlbwmon的配置界面

默认状态下,数据库目录为/tmp/lib/nlbwmon文件夹,该文件夹在每次系统重启之后均会被自动清空,而有时路由器不可避免的需要进行重启,这会导致流量统计数据丢失,不利于我们掌握流量使用情况,因此,我们将数据库目录更改为具备持久性存储功能的区域并勾选压缩,在图中,将/tmp路径删除,数据库保存在/lib/nlbwmon文件夹。

如图所示为保存的数据库文件,以.db.gz格式保存压缩后的数据库

接下来我们可以更改提交到数据库的时间以减少数据丢失的可能性。

如图所示可以设置为2h提交一次

由于K3路由器使用的是128MB的SLC闪存,寿命极长,写入寿命可达万次以上,因此可以适当减少数据提交的间隔。

二、解决图表加载缓慢的问题

使用nlbwmon的Luci界面时,相信大家可能会发现即使在内网打开,统计界面的图形和数据加载都十分缓慢,有时甚至会加载失败,为了探究原因,我们使用chrome浏览器的开发者工具看看瓶颈究竟在哪里。

如上图所示,有一个大文件oui.json的加载引起了我们的注意。

可以看出,该文件请求了GitHub上的项目文件,而国内对于GitHub的访问速度向来存在着较大的问题,因此导致加载缓慢

为此,我们试试能否通过修改nlbwmon的配置文件来重定向该文件。

首先,打开https://raw.githubusercontent.com/jow-/oui-database/master/oui.json或https://lanzous.com/ich705g下载oui.json文件,可以看到,该文件中记录了大量的设备厂商信息,因此体积十分庞大。

oui.json文件的内容

下载完成之后,我们可以使用SSH或WinScp登录到路由器,将文件传输至内存中。

为了能使浏览器正确加载,将其放置于/www目录下的luci-static文件夹中,如下图所示。

oui.json文件已上传至/www/luci-static目录下

由于在Luci中找不到关于此项的配置,那么接下来我们打开nlbwmon的配置文件看看。

配置文件中依旧找不到于此有关的设置项

寻找了启动脚本、软件包配置后依旧找不到相关的设置项,那么,设置项目究竟在哪里呢?

打开网页,我们可以看到下面的地址:

看来,这个页面与“display”有关,

接下来,我们使用WinScp搜索整个文件系统下名为display的文件。

可以看到,这两个文件与网页的路径十分吻合,应当是我们要寻找的文件,事实上,这两个文件指向的都是同一个“display.htm”文件,修改其中任意一个即可。

打开/usr/lib/lua/luci/view/nlbw/display.htm文件并在其中查找字符串“raw”

可以看到,完整的文件路径就保存在该htm文件中

接下来我们对其进行修改,如果要求在公网访问时依然能够正常加载,那么此处的地址需要替换为http(s)://yourdomain/luci-static/oui.json,如果只是在内网访问,直接更改为内网IP地址即可,保存文件后我们清空浏览器缓存再次打开页面

可以看到加载速度有了极大的提升,200ms左右即加载完成

修改到此结束,其它功能等待之后继续更新......

Openwrt——带宽统计助手nlbwmon相关推荐

  1. Fisher精确检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    Fisher精确检验是一种在统计分析中经常使用的方法,旨在评估两个分类变量之间是否存在显著关系.这种方法由罗纳德·A·费舍尔(Ronald A. Fisher)于20世纪20年代提出,并被广泛应用于小 ...

  2. 秩和检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    秩和检验是一种常用的非参数假设检验方法,用于比较两个或多个独立或配对样本的中位数是否相等.在医学研究中,秩和检验常用于比较不同治疗方案或条件的效果差异,特别是在数据不满足正态分布假设的情况下. 一.配 ...

  3. 四格表卡方检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    四格表卡方检验是医学统计学中常用的一种方法,用于确定两个分类变量之间是否存在关联.在医学研究中,四格表卡方检验被广泛应用于研究疾病和治疗方法之间的关联,以及预测疾病发展的风险因素. 四格表卡方检验基于 ...

  4. t检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    t检验是医学统计学中常用的一种假设检验方法,用于比较两个样本均值是否有显著差异.它可以帮助医学研究者确定一个治疗方法或药物是否显著地改善了患者的症状或生理指标. 在医学研究中,t检验常被用来: 比较两 ...

  5. 卡方检验计算公式-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    卡方检验应用于两个率或两个构成比比较:多个率或多个构成比比较以及分类资料的相关分析等. 分类为独立样本卡方检验和配对样本卡方检验,独立样本卡方检验包括四格表卡方检验和行乘列卡方检验, 配对样本卡方检验 ...

  6. t检验与Z检验的区别★医学统计助手

    在统计学中,假设检验是评估某种特定情况下观察到的数据是否符合假设的一种方法.t检验和Z检验是两种常用的假设检验方法,分别用于比较均值差异以及比例差异.在医学统计中,t检验和Z检验经常被用于研究和比较不 ...

  7. 游程检验.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    游程检验是一种统计方法,用于检测数据序列中的随机性.在许多领域,如金融.气象学.生物学和社会科学等,都需要评估观测数据是否具有随机性.随机性是许多领域研究的基础.对数据序列的随机性进行检验有助于判断数 ...

  8. 卡方检验结果怎么看-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    卡方检验(chi-squared test)是用于比较观察数据和期望数据之间的差异是否显著的一种统计方法.在进行卡方检验时,需要计算卡方统计量和p值,并将这些结果与显著性水平进行比较,来判断差异是否具 ...

  9. 相关分析.医学统计实例详解-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析

    在医学统计中,相关分析是一种常用的方法,用于研究两个或多个变量之间的关系.使用相关分析可发现变量之间的线性或非线性关系,为后续的实验设计.临床研究和治疗策略提供依据. 常用相关分析方法有: 1.皮尔逊 ...

最新文章

  1. 网络上可供测试的Web Service
  2. python编程爱心-使用Python画出小人发射爱心的代码
  3. 百度 UNIT 技术负责人揭秘:如何让你的对话系统更智能
  4. 2019牛客提前批一血:猝不及防的java实习面经
  5. Centos-Glassfish安装
  6. JavaEE PO VO BO DTO POJO DAO 整理总结
  7. kompozer如何启动_使用KompoZer创建网站
  8. 微信新的用户信息接口wx.getUserProfile,返回信息解密失败
  9. android与web服务器建立连接失败,Android websocket连接失败
  10. eclipse 中的注释 快捷键
  11. Cocos2D-X笔记(1)制作一个动态的精灵
  12. Python_提取图片像素值
  13. [渝粤教育] 信阳师范学院 奥尔夫音乐教育 参考 资料
  14. Python画图实战之画沪深300的收益率
  15. 纪录片:互联网之子 亚伦·斯沃茨的故事
  16. 4、Hangfire在AspNetCore中的使用(一)
  17. 《部落冲突:皇室战争》——一款不能错过的游戏!
  18. Win10系统下安装Linux Ubuntu16.04双系统
  19. 如何评价深度学习相关顶级期刊论文难复现的问题?
  20. 父亲母亲-儿时的快乐

热门文章

  1. 新安一高2021高考成绩查询,百师联盟2021届高三联考全国1、2卷分数线出炉
  2. 《Arduino开发实战指南:LabVIEW卷》6.3 基于Arduino的简易示波器
  3. 打破壁垒,国产毫米波雷达技术热度持续攀升
  4. 【农历九月十六日】:民族英雄 - 王二小80周年祭日
  5. C++`中的原子操作和原子类型
  6. 学习c语言好书推荐——学习c语言的7本书
  7. Events(事件)
  8. 一文详解TVS二极管的主要原理与特性
  9. win7 Synergy 安装失败
  10. Python实现京东价格监控