使用企业微信机器人配置服务器资源及Jar包告警

#!/bin/bash

# 企业微信的 Webhook URL
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=81df5018-c175-4f94-a805-XXXXXXXXX"

# 定义环境标识
ENVIRONMENT="XXXX-生产环境"

# 定义提到的用户和手机号列表
MENTIONED_LIST='["@all"]'  # 根据需要修改
MENTIONED_MOBILE_LIST='["175276*****","1385*****83"]'  # 根据需要修改

# 定义告警临界值
CPU_THRESHOLD=80        # CPU使用率临界值(百分比)
MEM_THRESHOLD=80        # 内存使用率临界值(百分比)
DISK_THRESHOLD=80       # 硬盘使用率临界值(百分比)

# 定义需要监控的JAR包数组
JAR_NAMES=("demo1.jar" "demo2.jar" "demo3.jar")

# 发送告警函数
send_alert() {
    local content="$1"

    # 构建消息内容,添加环境标识
    EMAIL_BODY=$(cat <<EOF
{
    "msgtype": "text",
    "text": {
        "content": "$ENVIRONMENT\n\n$content,请及时进行处理!",
        "mentioned_mobile_list": [$MENTIONED_MOBILE_LIST]
    }
}
EOF
    )

    # 发送请求
    RESPONSE=$(curl -s -X POST \
        -H "Content-Type: application/json" \
        -d "$EMAIL_BODY" \
        "$WEBHOOK_URL")

    # 检查发送是否成功
    ERRCODE=$(echo $RESPONSE | jq -r '.errcode')
    if [ "$ERRCODE" -eq 0 ]; then
        echo "Alert sent successfully"
    else
        echo "Failed to send alert: $RESPONSE"
    fi
}

# 检查CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
if (( $(echo "$cpu_usage > $CPU_THRESHOLD" | bc -l) )); then
    send_alert "CPU使用率告警: $cpu_usage%"
fi

# 检查内存使用率
mem_usage=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
if (( $(echo "$mem_usage > $MEM_THRESHOLD" | bc -l) )); then
    send_alert "内存使用率告警: $mem_usage%"
fi

# 检查硬盘使用率
disk_usage=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
if (( disk_usage > DISK_THRESHOLD )); then
    send_alert "硬盘使用率告警: $disk_usage%"
fi

# 检查每个JAR包是否正在运行
for jar_name in "${JAR_NAMES[@]}"; do
    if ! pgrep -f "$jar_name" > /dev/null; then
        send_alert "JAR运行状态告警: $jar_name 没有运行"
    fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维小王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值