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

Shell脚本一键监控平台到期时间并钉钉告警推送指定人

1. 监控需求

        客户侧有很多平台需要定期授权,授权后管理后台才可正常登录,为避免授权到期,现撰写脚本自动化监控平台授权到期时间,在到期前15天钉钉或其他媒介提醒。

2. 监控方案

2.1 收集平台信息

梳理需要监控的平台地址信息,包含平台名称、地址、到期时间三个字段。

cat  /mnt/paltform_monitor/expiry_list.txt

xx支付平台,https://192.168.91.1:8068,2026-3-1
xx交易平台,https://1.2.3.4:809,2025-10-21
xx管理平台,https://5.6.7.8:2500,2025-11-7

2.2 撰写监控脚本

cat  /mnt/paltform_monitor/paltform_monitor.sh


#!/bin/bash
# 监控平台登录过期时间,提前15天告警【自定义时间】
EXPIRY_FILE="/mnt/paltform_monitor/expiry_list.txt"
LOG_FILE="/var/log/expiry_monitor.log"
CURRENT_TS=$(date +%s)
WARNING_DAYS=15#定义钉钉告警函数
prod_dingding_push(){MESSAGE=$1prod_webhook_url="https://oapi.dingtalk.com/robot/send?access_token=88888888888888888888888888888888888888888"curl   -H "Content-Type: application/json"  -d '{"msgtype": "text","text": {"content": " '"$MESSAGE"' @13888888888"},'at': {'atMobiles': ['13888888888'],'isAtAll': false} }'   $prod_webhook_url
}while IFS=',' read -r NAME URL EXPIRY_DATE; doEXPIRY_TS=$(date -d "$EXPIRY_DATE" +%s 2>/dev/null) || continueDAYS_LEFT=$(( (EXPIRY_TS - CURRENT_TS) / 86400 ))if [ $DAYS_LEFT -le $WARNING_DAYS ] && [ $DAYS_LEFT -ge 0 ]; thenprod_dingding_push "【平台授权到期告警】:$NAME 授权将在 $DAYS_LEFT 天后过期!【地址$URL】"echo "[$(date)] Alert: $NAME $URL expires in $DAYS_LEFT days." >> $LOG_FILEfi
done < $EXPIRY_FILE

2.3 配置定时任务

根据业务需求设置告警推送时间,本文设置每天上午10点执行一次脚本。

00  10  *   *   *  /bin/bash   /mnt/paltform_monitor/paltform_monitor.sh   >  /dev/null  2>&1

2.4 钉群告警推送展示

http://www.xdnf.cn/news/19868.html

相关文章:

  • 自动化基本技术原理
  • 嵌入式解谜日志-网络编程
  • Kafka面试精讲 Day 5:Broker集群管理与协调机制
  • 基于SQLite的智能图片压缩存储系统:代码解析与实战应用
  • QuickUp-Ubuntu
  • FPGA AD7606串行驱动与并行驱动
  • 【Flask + Vue3 前后端分离管理系统】
  • 友思特案例 | 食品行业视觉检测案例集锦(三)
  • 利用 Python 获取微店商品关键词搜索 API 接口数据的实战指南
  • 利用飞算Java打造电商系统核心功能模块的设计与实现
  • 硬件开发(1)—单片机(1)
  • atomic常用类方法
  • VR智慧楼宇技术:打造智能办公空间的卓越方案​
  • 深圳外贸峰会究竟藏着啥秘密?能让外贸人收获满满?
  • RHEL9源码编译MySQL8.0.40
  • 图像加密安全传输--设备端视频流加密,手机端视频流解密,使用ChaCha20-Poly1305 进行系统分析
  • 爬虫-----最全的爬虫库介绍(一篇文章让你成为爬虫大佬,爬你想爬)
  • windows系统离线安装Ollama、创建模型(不使用docker)、coze调用
  • Linux为什么不是RTOS
  • 【Vue】前端 vue2项目搭建入门级(一)
  • IoT Power软件 -- 每次开启强制升级解决方法
  • Pandas Python数据处理库:高效处理Excel/CSV数据,支持分组统计与Matplotlib可视化联动
  • 嵌入式C语言之链表冒泡排序
  • 【PlayWright】 自动化测试框架机制详解
  • Python应用——ffmpeg处理音视频的常见场景
  • GitLab,2025最新如何配置中的SSH key步骤
  • 【高等数学】第十一章 曲线积分与曲面积分——第一节 对弧长的曲线积分
  • GaussDB 数据库架构师修炼(十九)-性能调优-长事务分析
  • leetcode-每日一题-3025. 人员站位的方案数 I-C语言
  • 解决完美主义的方法是,去追求不完美--辩证法