飞书webhook监控业务系统端口

news/2025/2/26 9:07:05

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

监控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.niftyadmin.cn/n/5868447.html

相关文章

PHP入门基础学习五(函数1)

函数 一、概念 1、什么是函数? 函数:封装一段用于完成特定功能的代码 当使用一个函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能 2、php中的函数 PHP 的真正威力源自于它的函数,PHP 中提供了超过 1000 个内建的函数。 php函数分为: 系统内部函数和自…

Maven中一些基础知识点

早些时候只知道创建或者开发springboot项目时候,有一个叫pom.xml的文件可以用来管理项目所需的依赖/第三方工具。 索性稍微深入了解了一下,然后把自己认为重要的记录下来。 首先我们要引入新的依赖自然是在dependencies下写dependency,这个…

第48天:Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工…

广州4399游戏25届春招游戏策划管培生内推

【热招岗位】 游戏策划管培生、产品培训生、游戏文案策划、游戏数值策划、游戏系统策划、游戏产品运营、游戏战斗策划、游戏关卡策划 【其他岗位】产品类(产品培训生、产品运营等)、技术类(开发、测试、算法、运维等)、运营市场类…

sklearn中的决策树-分类树:实例-分类树在合成数据集上的表现

分类树实例:分类树在合成数据集上的表现 代码分解 在不同结构的据集上测试一下决策树的效果(二分型,月亮形,环形) 导入 import numpy as np from matplotlib import pyplot as plt from matplotlib.colors import Li…

stm32使用(无线串口)实现收发、判断数据+DMA(HAL库)

目录 前言: 1. 用CubeMX配置串口DMA所需要的环境 (1)打开CubeMAX,点击红框 (2)查找stm32F103C8T6的芯片 (3)配置SYS (4)配置RCC时钟 (5&am…

2025年第16届蓝桥杯嵌入式竞赛学习笔记(十):ADC测量电压

1.原理图 VDD的最大值为3.3V,所以PB15测量电压值的范围为0~3.3V,然后它读取到的AD值为0~4096,所以电压测量公式为 为什么是4096,因为ADC是一个12比特的 2.CubeMX配置 将PB15引脚配置为ADC2_IN15,PB12配置为ADC1_IN11 …

【LeetCode Hot100】旋转图像|原地旋转 vs 转置+反转,Java实现,图解+代码

💻 [LeetCode Hot100] 旋转图像|原地旋转 vs 转置反转,Java实现,图解代码 ✏️本文对应题目链接:旋转图像 📌 题目描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 …