求一个openwrt插件,能够监控网络是否存在离线,断网的

日志太过繁琐不会查看,就想到有没有什么好用的插件能够监控???求推荐

1 个赞

之前写过一个脚本检测ipv6前缀,改改应该能实现断网检测和推送

1 检测ipv6前缀

#!/bin/sh
# filename:ipv6pd_check.sh
# 配置接口名称
INTERFACE="br-lan"
# 检查DHCPv6客户端是否获取了前缀
# check_pd_prefix() {
#     # 使用ip命令检查IPv6前缀,具体取决于接口名称和地址格式
#     pd_prefix=$(ip -6 addr show dev "$INTERFACE" | grep '2001:db8::/62')
#     if [ -n "$pd_prefix" ]; then
#         echo "PD prefix found."
#         return 0
#     else
#         echo "PD prefix not found."
#         return 1
#     fi
# }
# 检查IPv6地址掩码为/62
check_ipv6_address() {
    # 检查IPv6地址和掩码
    ipv6_address=$(ip -6 addr show dev "$INTERFACE" | grep '/62')
    if [ -n "$ipv6_address" ]; then
        echo "IPv6 address with /62 prefix found."
        return 0
    else
        echo "IPv6 address with /62 prefix not found."
        return 1
    fi
}
# 执行检测
if ! check_ipv6_address; then
    echo "No valid IPv6 address/prefix found. Restarting DHCPv6 client..."
    # 重启DHCPv6客户端
    /root/ifv6down_send2tg.sh openwrt_ipv6pd_down__restarting....
    /sbin/ifup wan6
else
    # /root/ifv6down_send2tg.sh openwrt_ipv6pd_is_ok!!!!
    echo "Valid IPv6 configuration found."
fi

2 推送TG消息

#!/bin/bash
# filename:ifv6down_send2tg.sh
# 替换为你的 Telegram 机器人 API 令牌
# serv00_keep_alive_bot
BOT_TOKEN=""  
# 替换为你的聊天 ID 或频道 ID
CHAT_ID="" 
# 检查是否提供了消息内容
if [ -z "$1" ]; then
echo "Usage: $0 \"Your message here\""
exit 1
fi  
# 消息内容
MESSAGE="$1"  
# 发送请求到 Telegram Bot API
send_message() {
local text="$1"
curl -s -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$text"
}  
# 调用函数发送消息
send_message "$MESSAGE"

3 添加定时任务

# 编辑crontab文件
crontab -e
# 填入以下内容, 每5分钟检测一次
*/5 * * * * /root/ipv6pd_check.sh
1 个赞

这个 脚本无法做到实时监控吧,需要主动去请求检查

实时的最好分析日志

那可能需要写个监控日志的脚本,然后推送飞书啥的

我也不需要 24小时监控 就是自己编译的固件 对自己不信心 担心有断流,监控2天 就行 观察是否有掉线的情况

Watchcat

1 个赞