使用 Uptime Kuma 和 Shell 脚本监控家庭 WiFi 网络状态并通过 Bark 推送通知

使用 Uptime Kuma 和 Shell 脚本监控家庭 WiFi 网络状态并通过 Bark 推送通知
type
Post
status
Published
date
Sep 26, 2024
slug
minitor-wifi-by-uptime-kuma-and-shellscript
summary
tags
Uptime Kuma
Shell
category
技术分享
icon
password

前言

在现代家庭中,稳定的 WiFi 网络是日常生活的重要组成部分。为了确保家庭网络的稳定运行,我们可以使用 Uptime Kuma 结合 Shell 脚本定期上报网络状态,并在网络掉线时通过 Bark 推送通知,让你随时掌握家庭网络状态。
本文将详细介绍如何编写 Shell 脚本,利用 Uptime Kuma 的 Push API 定期上报家庭 WiFi 网络状况,并在掉线时通过 Bark 发送推送通知。

准备工作

  1. Uptime Kuma:一个开源的自托管监控工具。
  1. Bark:一个用于 iOS 的推送通知工具。
  1. Shell 脚本:用于定期检查 WiFi AP 状态并上报。

编写 Shell 脚本

首先,我们编写一个 Shell 脚本 check_wifi_ap.sh,用于检查两个 WiFi AP 的状态并上报到 Uptime Kuma。如果任意一个 AP 掉线,将通过 Bark 发送推送通知。

脚本说明

  1. 定义 WiFi AP 地址
      • AP1AP2 分别为两个 AP 的 IP 地址。
  1. 定义 Bark 推送通知 URL
      • BARK_URL 为 Bark 推送通知的 URL,需替换 your_bark_key 为实际的 Bark 密钥。
  1. 定义 Uptime Kuma Push API URL
      • UPTIME_KUMA_URL 为 Uptime Kuma 的 Push API URL。
  1. 计算平均 ping 值的函数
      • get_avg_ping 函数用于计算给定 IP 的平均 ping 值。
  1. 获取 AP 的平均 ping 值
      • 调用 get_avg_ping 函数获取 AP1 和 AP2 的平均 ping 值。
  1. 检查 AP 的 ping 结果
      • 如果 AP1 或 AP2 的 ping 失败,将 status 设置为 down,并发送 Bark 推送通知。
      • 如果 AP1 和 AP2 都正常,则计算它们的平均 ping 值。
  1. 上报心跳
      • 使用 curl 命令将 statusmsgping 值上报到 Uptime Kuma。
  1. 打印结果到控制台
      • 打印每个 AP 的平均 ping 值和总平均 ping 值。

定时任务

将脚本添加到 cron 中以定时运行,例如每 5 分钟运行一次:
  1. 编辑 crontab:
    1. 添加以下行:

      总结

      通过上述步骤,你可以使用 Uptime Kuma 和 Shell 脚本定期上报家庭 WiFi 网络状况,并在网络掉线时通过 Bark 发送推送通知。这样,你可以随时掌握家庭网络的状态,确保网络的稳定运行。
      上一篇
      NotionNext使用DockerCompose + MongoDB Atlas + Twikoo部署评论系统
      下一篇
      利用 Shell 脚本和 systemd 服务实现 Proxmox VE 日志监控与推送
      Loading...