Web Analytics

janitor

⭐ 87 stars Simplified Chinese by a-bali

janitor

目标

Janitor 是一个独立工具,用于监控您的物联网设备的可用性,并在设备丢失或停止传输数据时提醒您。这对于拥有大量传感器且硬件或连接可能不稳定的情况特别有用,您可以在出现任何问题时采取措施,并监控设备的稳定性。

Janitor 不打算实现任何额外功能,因此不是您其他家庭自动化软件(例如 HASS)的替代品。专注于此功能将使该工具保持简单高效。

Janitor 当前支持以下监控方法:

Janitor 当前支持以下提醒方法: 此外,Janitor 具有一个网页界面,您可以查看当前状态和历史数据,删除项目,修改超时、间隔和阈值,并重新加载配置文件(见下方截图)。

最后,Janitor 包含一个简单的 JSON API,具有以下端点:

截图

截图

构建与安装

Janitor 使用 Go 编写,编译后为单个独立二进制文件。Janitor 应能在 Linux 和 Windows 上编译和运行。

编译时,请使用至少 Go 1.16 版本,执行以下命令克隆仓库并构建二进制文件:

$ git clone https://github.com/a-bali/janitor.git $ cd janitor $ go build

这将创建名为 janitor 的独立二进制文件,您可以将其放置在任意位置。Github 上提供了预编译的发行版二进制文件。

配置与使用

配置需要一个 YAML 格式的文件。请使用示例配置文件,并根据您的需求进行修改,参考文件中的注释。大多数变量是可选的,并且有合理的默认值,详情请参见注释。您可以使用 $ENV_VAR${ENV_VAR} 引用环境变量,如果变量存在则会被其值替换(如果不存在则替换为空字符串)。

一个最小但已可运行的配置示例如下(假设 Janitor 的网页界面将使用默认端口 8080):

monitor: mqtt: server: mymqtt.server targets:

alert: gotify: server: "http://mygotify.server:1234" token: gotify_token

创建好配置文件后,可以按如下方式启动 Janitor:

$ janitor path/to/your/configfile.yml

Janitor 会将日志输出到标准输出。日志也可在网页界面查看,在网页界面中您可以删除监控目标并重新加载配置文件(例如当您添加了新目标或更改了设置时)。

Janitor 不会自动成为守护进程。建议创建一个 systemd 服务来持续运行 janitor。

使用 Docker 运行

Janitor 的最新版本已上传到 Docker Hub abali/janitor。使用时,将您的配置文件映射到 /janitor/config.yml

$ docker run -v $(pwd)/config.yml:/janitor/config.yml -p 8080:8080 abali/janitor

或者,您也可以使用提供的 Dockerfile 自行构建容器:

$ git clone https://github.com/a-bali/janitor.git $ cd janitor $ docker build . -t janitor $ docker run -v $(pwd)/config.yml:/janitor/config.yml -p 8080:8080 janitor

未来计划与贡献

Janitor 的目标明确且简单:监控物联网设备的可用性和运行状况,并在出现任何问题时发出警报。任何未来的改进都应遵循这一目标,因此要么增加新的监控方式,要么增加新的报警方式。

Janitor 是开源软件,欢迎通过 Github 发送拉取请求以改进该软件。

许可

Janitor 采用 GPL 3.0 许可证。

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-25 ---