随着我手里设备的增加,我管理各种设备的难度也在增加,因为我所有的设备都是挂24小时服务以保证要用的时候不掉线的,所以监控设备在不在线就成了一个老大难,不过我最近在威联通Docker上发现一个服务是Pi.Alert,可以自动化监控我指定的几个设备在不在线,一旦掉线就及时发信息提醒我,我就觉得很不错,特此给大家踩踩坑搞一下安装流程。
Pi.Alert是一款专业的WIFI/LAN入侵检测工具。它能通过三种扫描方式实时监控网络设备,发现陌生设备立即告警,还能监测”常连设备”的异常掉线。特别适合家庭、小型办公室和需要严格网络管控的场景。
我一开始关注Pi.Alert,原因其实很简单:本地设备监控必须安全自控。现在市面上的在线设备监控服务很多,功能强的不少,但往往都是封闭的,我也不知道他们要不要把内容上传到第三方服务器;强调隐私的产品也有,但要么功能单一、要么部署门槛高。Pi.Alert吸引我的地方,就在于它把这些看似难以兼顾的点整合进了同一套系统里:所有操作和数据都在本地完成、数据绝不外发、功能却一点不少。
关于Pi.Alert

什么是Pi.Alert?Pi.Alert能做什么?
Pi.Alert 是一个本地部署的 WiFi / LAN 入侵检测工具,能够扫描网络中已连接的设备,发现未知设备时向你发出告警,同时还会提醒那些“应始终在线”的设备是否意外断开连接。
简单来说,Pi.Alert 就像一个专门盯着你家网络的“安全哨兵”。
它本身不是防火墙或路由器,只是一个网络设备监测工具。就像路由器后台能看到所有连上的设备,但它自己不会主动通知你出了什么问题。

你需要“标记信任设备”。在 Pi.Alert 里深度linux,这个“信任”就是把你自己常用的手机、电脑等设备设为“已知”。你标记好之后,它才能区分哪些是陌生设备,并在陌生设备接入或关键设备掉线时及时提醒你。
它的强项是入侵检测与设备状态监控。相比于普通路由器自带的设备列表,它提供了持续的主动扫描和灵活告警功能,让你放心掌握家中网络的一举一动。
威联通Container Station安装Pi.Alert教程
Pi.Alert的安装和使用相对来说比较简单,使用 Docker 就可以直接安装,但是支持Yantr方式安装,所以如果你还没装Yangtr的话,我建议你去先装一下Yantr,我在前面的文章里面也写了Yantr的安装流程。
Pi.Alert内存占用大概 50MB 左右,所以大家无需担心资源占用,基本上可以忽略不记,甚至在树莓派上面也可以跑。
先打开Yantr的页面,在里面找到Pi.Alert,直接点一键安装部署就行了。
当然docker service,如果你想更自主地把控安装过程docker service,那你就用Docker安装好了。威联通Container Station安装过程更加自主一点。

Pi.Alert 需要两个目录来持久化保存配置文件和数据库,防止容器重建后数据丢失。

通过 File Station(文件总管) 或 SSH 创建以下目录结构:
/share/Container/(共享文件夹,具体路径根据你的共享文件夹名称而定)
├── pialert/
│ ├── config/ ← 存放配置文件
│ └── db/ ← 存放数据库文件
Pi.Alert 官方推荐的 Docker 镜像是 jokobsk/pi.alert,但是好像被作者删掉了,所以我找了个第三方的库。在 pialert 目录下新建 docker-compose.yml 文件,内容如下:
version: '3'
services:
pialert:
image: pucherot/pi.alert:latest
container_name: pialert
network_mode: host
restart: unless-stopped
volumes:
- ./config:/home/pi/pialert/config
- ./db:/home/pi/pialert/db
environment:
- TZ=Asia/Shanghai
- PORT=20211
- HOST_USER_ID=1000
- HOST_USER_GID=1000
配置说明:
network_mode: host:使用 Host 网络模式,让容器可以直接扫描同一局域网内的设备

volumes:将容器的配置和数据目录映射到 NAS 上的对应文件夹,用于持久化存储
TZ=Asia/Shanghai:设置时区为中国标准时间,确保日志时间准确
PORT=20211:指定 Web 界面的访问端口
HOST_USER_ID / HOST_USER_GID:指定运行容器的用户 ID,默认为 1000,如果遇到权限问题可调整为 NAS 管理员账户的 UID/GID(可通过 SSH 执行 id 命令查询)
打开 Container Station。
点击左侧「应用程序」→ 点击「创建」。
在弹出窗口中:
将上面第三步中的 docker-compose.yml 完整内容粘贴到编辑框中。
点击「验证 YAML」检查语法无误。
点击「创建」,Container Station 会自动拉取镜像并启动容器。
部署完成后,在「应用程序」列表中会出现 pialert,状态为“运行中”。
检查一下运行状态:
部署完成后,可以通过以下方式确认服务正常:
打开浏览器,访问 http://你的NAS_IP:20211。
如果看到 Pi.Alert 的 Web 界面,说明部署成功。
第一次启动后,需要稍等几分钟,让 Pi.Alert 完成首次网络扫描。扫描完成后,界面中会显示出当前网络中的设备。

当然linux文件系统,如果你跟我一样遇到网络问题,你也可以下载tar文件再本地安装。
Pi.Alert 能干什么?为什么我会觉得它值得装?第一,全面的设备检测功能

Pi.Alert比较好的一点是,它自己提供了非常直观的设备管理界面,这样的话,你在任意一台电脑上想看内网设备的情况的时候,就不用苦哈哈给这台电脑临时加一个虚拟内网权限什么的,你需要做的只是打开Pi.Alert的网页,然后登录打开页面看一下就行。

Pi.Alert的页面详细展示了每个设备的名称,所有者,设备类型,首次接入时间,最后会话时间,IP地址和状态等信息,并且还能自主搜索找到特定的设备,也可以自定义每个页面的设备显示数量。第二,详细的设备信息管理
这是我最看重的一点。Pi.Alert的核心思路是:无障碍显示每一台设备的所有信息。

Pi.Alert的设备详情页面包含的信息有:
基本信息:包括MAC地址、设备名称、所有者、设备类型、厂商等
会话信息:显示设备的当前状态、首次会话时间、最后会话时间和IP地址
事件和警报配置:允许用户设置扫描周期、警报选项等
第三,精准的设备连接追踪功能!

