当前位置: 首页 > article >正文

飞书webhook监控业务系统端口

在这里插入图片描述钉钉告警没有额度了,替代方案使用企业微信或者是飞书,以下脚本是飞书为例

监控ping也就是活动主机

#!/bin/bash
# IP Ping 监控脚本
date=$(date "+%Y-%m-%d %H:%M:%S")
# 根据实际情况修改飞书 Webhook 地址
webhook="https://open.feishu.cn/open-apis/bot/v2/hook/xxx"

# 发送消息到飞书
send_message() {
    local message="$1"
    curl -s "$webhook" \
        -H "Content-Type: application/json" \
        -d '{
            "msg_type": "text",
            "content": {
                "text": "'"$message idc"'"
            }
        }'
}

# 从 ip_list.txt 文件中读取 IP 地址列表
ip_list=$(cat ip_list.txt)

# 遍历 IP 列表并进行 Ping 测试
for ip in $ip_list
do
    ping -c 1 "$ip" >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "IP $ip 是存活的 $date" >/dev/null 2>&1
    else
        message="告警IP: $ip\n告警时间: $date\n请及时处理告警信息!!!!!"
        send_message "$message"
    fi
done


以下是监控端口的脚本

#!/bin/bash
#端口预警脚本
date=$(date "+%Y-%m-%d %H:%M:%S")
#根据实际情况修改webhook飞书地址
webhook="https://open.feishu.cn/open-apis/bot/v2/hook/cxxx"
 
send_message() {
    local message="$1"
    curl -s "$webhook" \
        -H "Content-Type: application/json" \
        -d '{
            "msg_type": "text",
            "content": {
                "text": "'"$message idc"'"
            }
        }'
}


# 需要监控的主机列表及其对应服务和端口
declare -A SERVICES
SERVICES=(
    ["192.168.67.15"]="MySQL-Master:3306"
    ["192.168.199.102"]="MySQL-Slave:3306"
    ["192.168.67.12"]="MySQL-Master:3306"
    ["192.168.199.101"]="MySQL-Slave:3306"
    ["192.168.199.103"]="MySQL-tesdb:3306"
    ["192.168.1.10"]="MySQL-Archive:3306"
    ["192.168.1.166"]="SQLServer:1433"
    ["192.168.4.7"]="Oracle:1521"
    ["192.168.3.7"]="Oracle:1521"
)

# 当前日期
date=$(date +"%Y-%m-%d %H:%M:%S")

for host in "${!SERVICES[@]}"
do
    # 获取服务名称
    service_name=${SERVICES[$host]%%:*}  # 提取服务名称
    port=${SERVICES[$host]##*:}           # 提取端口

    # 检查端口
    nc -zv "$host" "$port" >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "服务 $service_name 在主机 $host 的端口 $port 是存活的 $date"
    else
        message="告警服务: $service_name\n告警IP: $host\n告警端口: $port\n告警时间: $date\n请及时处理告警信息!!!!!"
        send_message "$message"
    fi
done


http://www.kler.cn/a/562118.html

相关文章:

  • 基于全志T527+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案
  • [Web 信息收集] Web 信息收集 — 手动收集 IP 信息
  • Kubernetes 1.29升级至1.31版本笔记
  • 【Linux】Ubuntu服务器的安装和配置管理
  • pytest下放pytest.ini文件就导致报错:ERROR: file or directory not found: #
  • 开发一个交易所需要哪些技术?
  • C/C++语言知识点二
  • HWUI 和 Skia
  • 要实现将JSON格式数据动态生成思维导图图片,可以使用`pygraphviz`库结合`json`解析。以下是完整实现代码:
  • 第二十:【路由的props配置】
  • Web自动化之Selenium下Chrome与Edge的Webdriver常用Options参数
  • 关于命令行下的 git( git add、git commit、git push)
  • libxls库的编译以及基于Visual studio的配置
  • 使用串口工具实现tcp与udp收发
  • 【嵌入式】STM32内部NOR Flash磨损平衡与掉电保护总结
  • Maven 依赖管理基础(二)
  • cs106x-lecture13(Autumn 2017)-SPL实现
  • springcloud和dubbo的区别
  • 读论文:Generation of 3D molecules in pockets via a language model (Lingo3Dmol)
  • 前端页面什么是全屏嵌入/什么是局部嵌入