家庭网络实验室怎么搭?(监控篇)

2023-03-29 14:51:45 25点赞 131收藏 9评论

iN回归了,最近手头的活都忙的差不多了,又可以给大家写文章输出“不良”意识了。

前几次一直在和大家讨论家庭网络实验室的搭建,今天咱们开第五篇。

如果大家按照前四篇的思路搭建起来一个网络实验室的硬件部分,那么就应该可以使用得很舒服了。

只不过网络系统的硬件只是基础架构。真正玩起来,软件的运用才是王道。

先别高兴,还没到给大家介绍家里网络实验室中要装什么软件的环节。如果一个平台不稳定或者你不知道自己所构建的平台稳定不稳定其实都不建议大家把重要的东西放在上面的。

这里面就牵扯到了系统监控的层面。和商业IT系统不同的是往往我们并没有专人对家里的系统进行定期的监控和系统故障、隐患的排查。这也就是为什么iN一开始就说在家里弄NAS等设备最终一定会丢数据的原因。

那么在家里构建一个监控系统需要注意什么问题呢?首先就是“可见性”。

相信大家是没有时间和没有精力去不停的点检自己的系统的。同时很多人也基本上看不懂服务器上的各种专业的指示灯数据。


家庭网络实验室怎么搭?(监控篇)


因此家里的系统健康性基本上可以用稀碎来形容了。

给大家一个例子,看iN是怎么监控家里的系统的。

首先,先得说明一下,这些方法门槛有那么一丢丢高。

在iN这边最不缺的就是电脑,因此家里也就闲置了大量的电脑。找出一台小主机安装一套Linux系统。

这里选择的是比较轻量化的elementary OS。


家庭网络实验室怎么搭?(监控篇)


elementary OS是一款基于Ubuntu换了外皮的衍生系统,好处就是轻量化且系统界面清爽。就比较适合作为监控系统的基本素材。

今天给大家说的是思路,因此也就不过于强调个人的选择。

对网络环境的监控实际上是取决于自己所选择的设备的。关键点就是你得有一个设备可以让你所需要的数据进行实时显示。而且要放在相对显而易见的位置上。

今天的例子,iN就把显示器放在了书桌的边上,在干活的时候只要转下头,这台显示器上所显示的信息就一览无遗了。

其次,就是你对家里的数据的选择性。哪些数据是你要第一时间看到的。

以自己家里的网络来说,iN的工作第一位的要求就是专线线路的质量,因此家里的网络对于关键节点的ping值就是尤为重要的参数了。

这里就可以写一个程序对关键的IP地址全天24小时不停的ping过去。收集ping值来反映家里的网络状况 。

当然了,你如果直接开个窗口来ping,这件事也无可厚非。


家庭网络实验室怎么搭?(监控篇)


但是,总弄一个这样的窗口来显示在屏幕上也会让人觉得不太体面。

我们就可以来写程序完成这个需求了。


家庭网络实验室怎么搭?(监控篇)


实际上就是让程序来替代命令行ping目标IP地址,同时记录下ping发起的时间和最终的ping值。这样我们就可以让ping值形成一系列的记录。用图形的方式将ping值展现出来:


家庭网络实验室怎么搭?(监控篇)


用作监控的屏幕就有那么一丝生气了。毕竟对于ping值来说我们可以知道大概的趋势和态势,而并不一定要关心某一秒ping值具体是多少。

当然了,这个屏幕需要24小时常开,如果在晚间家里有那么一个明晃晃的屏幕打开,也就相当的影响睡眠了。

因此前端程序在一开始就设置了一个功能,随着时间会改变自己的配色和背景亮度。到了夜间基本上屏幕就会黑下来,采取夜间的配色方案。


家庭网络实验室怎么搭?(监控篇)


对于网络态势,显然一个ping的图表还真就未必能让网络态势一览无余,而且也是对屏幕空间的浪费。

这里就得对前端进行修改,让前端更合理的分配显示布局。


家庭网络实验室怎么搭?(监控篇)


这里就得引入一个面板的概念了,用一个相对固定的屏幕区域来显示具有相关性的内容ping值是网络中很重要的一个性能因素,其实还有类似于网络接口吞吐量的数据也是一个相当重要的基础数据。

iN所使用的主路由器是CCR1009,本身路由器上是有一个显示屏幕的。


家庭网络实验室怎么搭?(监控篇)


但是所有的机柜设备都是在厨房里面。


家庭网络实验室怎么搭?(监控篇)


不可能每天打开机柜门来观看路由器上小小的LCD屏幕所显示的数据。

因此这两部分数据也得转移到书桌边上的显示器上。

其实CCR1009所使用的Router OS系统本身是支持API编程接口的,所以还是写程序来让本身通过路由器命令行观看的数据可以由程序所收集。


家庭网络实验室怎么搭?(监控篇)


其实程序也很简单,只需要依靠mikrotik自身提供的python对象就可以完全对路由器进行操控。


家庭网络实验室怎么搭?(监控篇)


最终pppoe和专线数据也就显示在了监控屏幕上。


家庭网络实验室怎么搭?(监控篇)


这些就是做事情的基本方式了,通过程序现在家里的网络状况就可以做到一目了然了。

当然了,还有两点要注意的。

第一,其实为了这块小看板在家里的网络中还部署了Redis服务器。用redis的原因就是在于,每次程序采集的数据可以在家里的网络中做到共享。这样一来,一些采集数据就可以不仅仅为一块看板显示所用,在另外的系统中还可以得到复用。

第二,这是很多人容易忽略的一点,采集程序的“健壮性”。专业说法叫做“鲁棒性(Robust)”,程序最终都做成了Linux的服务在后台来跑,因此对系统容错的能力,程序的错误处理这些在面子底下的部分就得格外用心了。


现在这个显示器用了不到1/10的空间,后面也会陆续的再加装其他监控功能。不过路子就是这样的路子,希望能够对大家有所帮助。


展开 收起
9评论

  • 精彩
  • 最新
  • 直接上Prometheus得了

    校验提示文案

    提交
    能自己做才香,而且真正要玩起来不是用需求来靠产品功能,而是使用系统功能来满足需求,这两点是不同的

    校验提示文案

    提交
    收起所有回复
  • 这个做的太专业了,不过有个疑问,机柜放厨房不怕油烟吗 [惊喜]

    校验提示文案

    提交
    我家厨房就是个装饰品

    校验提示文案

    提交
    收起所有回复
  • Uptime kuma+Watch Your Lan+ServerStatus…… KO

    校验提示文案

    提交
    真实

    校验提示文案

    提交
    收起所有回复
  • 太专业了

    校验提示文案

    提交
  • zabbix+grafana 应该效果更好些,也很简单

    校验提示文案

    提交
  • 厉害了大佬

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
131
扫一下,分享更方便,购买更轻松