Pi.Alert 详细部署教程

Pi.Alert 是一款网络设备监控工具,它能自动扫描你的 Wi-Fi 和局域网,发现并跟踪所有连接的设备,并在未知设备接入或重要设备离线时向你发出警报。它同时也支持监控网站服务的可用性。

本文将详细介绍两种部署方式:一键自动安装(推荐)和 Proxmox LXC 容器安装。由于 Pi.Alert 最初为树莓派设计,目前最稳定的安装方式仍是基于 Debian 系统的直接安装。


一、部署前准备

在开始安装前,请确保你的环境满足以下要求:

  • 操作系统Debian 系 Linux(如 Raspberry Pi OS、Ubuntu Server、DietPi)。这是官方明确支持的目标平台。
  • 网络环境:服务器需要能够访问互联网,以下载必要的软件包。
  • Root 权限:安装脚本需要 root 权限来安装依赖和配置服务。
  • 建议:在开始之前,最好先更新系统包列表:sudo apt update

重要提示:Pi.Alert 目前不提供官方的 Docker 镜像,其独立的 Docker 化分支是 NetAlertX。如果你偏好 Docker 部署,可以考虑使用那个项目。


二、方式一:一键自动安装(推荐)

这是官方推荐且最直接的方式,安装脚本会处理几乎所有配置工作。

第一步:以 root 身份执行安装命令
打开终端,输入以下命令(它会自动下载并执行最新的安装脚本):

1
sudo bash -c "$(wget -qLO - https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_install.sh)"

第二步:跟随安装向导
安装脚本会全自动运行。期间,它会执行以下关键操作:

  • 检查并安装必要的系统依赖(如 arp-scannmapnginxPHP 等)。
  • 配置 Web 服务器(默认使用 Nginx 和 PHP-FPM)。
  • 创建 SQLite 数据库(默认位置在 /home/pi/pialert/db,确保该目录有足够空间)。
  • 设置定时任务 (Cron),默认每 5 分钟运行一次扫描和检查。
  • 生成一个随机密码用于 Web 界面登录。请务必复制并保存终端输出的用户名(默认 admin)和密码

第三步:访问 Web 界面
安装完成后,在浏览器中输入 http://<你的服务器IP> 即可访问。如果无法访问,请检查防火墙是否放行了 HTTP(80)或 HTTPS(443)端口。


三、方式二:在 Proxmox LXC 容器中安装

如果你使用 Proxmox VE,可以利用社区提供的 Helper-Scripts 快速创建一个运行 Pi.Alert 的 LXC 容器。

第一步:获取安装脚本
此方法利用的是由 tteck 创建(现已归档)的 Proxmox 脚本,脚本已更新以使用本项目源。
在 Proxmox 宿主机的 Shell 中执行:

1
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pialert.sh)"

或使用社区维护的其他版本(如有)。

第二步:按提示配置容器
脚本会引导你设置容器的 ID、主机名、磁盘大小、内存和 CPU 核心数等参数。建议使用默认值或根据你的需求调整。

第三步:等待安装完成
脚本会自动创建一个带有 Debian 系统的 LXC 容器,并在其中完成 Pi.Alert 的安装。安装过程与方式一类似,完成后会输出 Web 界面的访问地址和登录密码。


四、首次启动与基础配置

无论通过哪种方式安装,安装完成后都需要进行一些基础设置。

1. 登录 Web 界面
使用安装完成后输出的用户名和密码登录。

2. 更改默认密码(强烈建议)
登录后,点击侧边栏的 pialert-cli 或通过 SSH 在服务器上执行以下命令来修改密码:

1
sudo pialert-cli set-admin-password

系统会提示你输入新密码。

3. 配置通知(可选但推荐)
为了让报警生效,需要配置通知渠道。Pi.Alert 支持电子邮件、Telegram、Pushover、ntfy 等多种方式。配置入口通常在 Web 界面的 设置通知 区域。

4. 添加被监控的 Web 服务(可选)
如需监控特定网站或 API 的可用性,可以在 Web 界面中找到 Web Service Monitoring 功能,添加目标 URL,并设置期望的 HTTP 状态码和响应时间阈值。


五、验证与日常运维

检查数据采集是否正常

  • 首次安装后,需要等待一个扫描周期(最长 5 分钟)。之后在 Web 界面首页应能看到已发现的设备列表。
  • 如果设备列表为空或长时间不更新,可以检查后端日志。日志文件通常位于 /var/log/pialert/ 或安装目录下的 log/ 文件夹。
  • 你也可以在 Web 界面中手动触发一次扫描(通常有 “Scan now” 按钮)来测试。

更新 Pi.Alert
项目仍在持续维护,建议定期更新以获取新功能和修复。

1
sudo bash -c "$(wget -qLO - https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh)"

备份数据
最关键的数据是 SQLite 数据库文件和配置文件。默认情况下,数据库位于 /home/pi/pialert/db/pialert.db。建议定期备份此文件。

六、常见问题与排错

  • Web 界面无法访问:检查 Nginx 服务是否运行 (systemctl status nginx);检查防火墙规则;确认是否使用了正确的端口(80 或你自定义的端口)。
  • 无法发现新设备:安装 arp-scan 需要 root 权限。确认 sudo 权限配置正确;检查扫描脚本中指定的网络接口(如 eth0wlan0)是否正确。
  • 扫描结果不准确或延迟:默认扫描间隔为 5 分钟。如果网络设备众多,扫描本身可能耗时,可在配置文件中调整扫描间隔,但注意不要过于频繁,以免造成网络负担。
  • 密码遗忘:可以通过 SSH 登录服务器,使用 sudo pialert-cli set-admin-password 命令重置密码。

请确保你已阅读并遵守项目仓库中的 LICENSE 文件 (GPL v3)。如果在使用中遇到其他问题,可以查阅项目内的 docs/ 目录或官方 FAQ,也可通过邮箱 leiweibau@gmail.com 联系作者。