
导读:
透过对服务器CPU状态的监控,并实时发送服务器状态数据及图片来及时发现服务器异常,并在必要时解除威胁。
上篇大致说到了Linux系统的一些基础安全设定,和路由器的简单设置,虽然看似简单,却是性价比最高的部分。如果说服务器承载了很多敏感或者重要数据(这个我是非常反对的,重要数据应该保存在专业的云端服务器,比如Dropbox,Onedrive等),那么就应该考虑部署高防服务器,比如阿里云盾等等。
本篇侧重于服务器一旦出现异常,如何及时发现,并在必要时采取行动。同时也可以发现是否有程序崩溃或过载等情况。
简单的真相
回归到计算机的本质,计算机的算力运行主要依靠CPU,所以实时监测CPU的使用率,无疑是有效发现计算机是否有额外程序在运行的最佳切入点,当计算机出现异常,比如被入侵,被攻击,或者程序运行陷入死循环等等都会导致CPU使用率的大幅提升。因此透过对服务器CPU状态的监控,并实时发送服务器状态数据及图片来及时发现服务器异常。
配置HA
在HA的传感器(sensor)模组中,提供了监测cpu和内容使用率等的平台,如下:(添加至configuration.yaml中)
sensor:
- platform: systemonitor
resources:
- type: disk_use_percent
- type: memory_use_percent
- type: processor_use
- type: last_boot
本身还支持很多其他命令,不过我觉得这四个已经够用了。由上到下依次是:硬盘使用率,内存使用率,CPU使用率和最后一次重启时间。这里没有使用网络用量监测,主要是考虑很多时候网络流量的变化并不能很准确的检测出系统异常,加上后期会为大家介绍的远程监测其他电脑(比如小朋友是不是把自己关屋里偷偷玩游戏)等用途时,网络流量的变化起伏还是比较大的。
管理页面元素
既然有了这些数据,那么添加到管理界面来显示相关信息 也是一个不错的体验。

我采用了bar-card的自定义卡片来显示。如果是最简单的方式,可以使用系统自带的History Graph卡片:

用哪个就看各位的界面怎么设计了。
异常及时推送
总算到了正题,Node-RED神奇再次登场,为什么这么喜欢Node-RED,因为它是真神器。。。
抛砖引玉,我自己只设置了cpu使用率高的时候推送通知报警,并截取服务器屏幕发送至手机。各位可以任意发挥。

里面有几处需要各位自行修改为自己的内容,已做了标示,几个时间Delay也可以自行设定,我设定的是如果cpu使用超过10%,且持续了10分钟就推送警告,另外还需要在homeassistant文件夹的WWW文件夹下自建images文件夹,用来存放图片。
















