shell脚本发送钉钉告警通知案例一则 —— 筑梦之路

实现原理

将要发送的消息内容保存到json文件中,通过curl命令请求钉钉机器人接口。

脚本示例

cat /opt/disk_usage_check.sh #!/bin/bash# 设置警告阈值
THRESHOLD=80#
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
# 获取主机名和IP
HOSTNAME=$(hostname)
IP=$(hostname -I)# 筛选需要检查的磁盘并进行检查
df -lPh | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
doused=$(echo $output | awk '{print $1}' | cut -d'%' -f1)partition=$(echo $output | awk '{print $2}')if (( used >= THRESHOLD )); then# 构建payloadPAYLOAD=$(cat <<-EOF
{       
"msgtype": "markdown",
"markdown": {
"title":"Linux服务器磁盘空间告警",
"text":"
##### Linux服务器磁盘空间告警 \n
>  ##### <font color=#67C23A> 【服务器: </font> <font color=#FF0000> $HOSTNAME</font>】 的磁盘空间超过阀值</font> :<font color=#FF0000> $THRESHOLD%  </font> \n
>  ##### <font color=#67C23A> 【服务器IP】</font> :<font color=#FF0000> $IP </font> \n
>  ##### <font color=#67C23A> 【告警时间】</font> :<font color=#FF0000> $CURRENT_TIME </font> \n
>  ##### <font color=#67C23A> 【磁盘空间占用高的分区】:<font color=#FF0000> $partition </font> 已使用 <font color=#FF0000>$used%</font> \n
>  ##### <font color=#67C23A>  该分区具体df -PTh信息如下: </font> \n
>  ##### <font color=#FF0000>  $(df -lPTh | head -n 1) </font> \n
>  ##### <font color=#FF0000>  $(df -lPTh| grep $partition) </font> \n
"
}
}
EOF)# 发送告警 (自行替换钉钉Webhook机器人的URL)curl -H "Content-Type: application/json" -X POST -d "$PAYLOAD"  https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXecho $PAYLOADfi
done

做个记录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/237679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力智能车辆检测计数,基于官方YOLOv8全系列[n/s/m/l/x]开发构建道路交通场景下不同参数量级车流检测计数系统

在很多道路交通卡口都有对车流量的统计计算需要&#xff0c;有时候一些特殊时段、特殊节日等时间下对于车流的监测预警更为重要&#xff0c;恶劣特殊天气下的提早监测、预警、限流对于保证乘客、驾驶员的安全是非常重要的措施&#xff0c;本文的主要目的就是想要开发构建道路交…

2 Pandas之Series

Pandas数据结构简介 Pandas可以处理以下三种数据&#xff1a; SeriesDataFramePanel 这些数据建立在NumPy上&#xff0c;故可以快速运行。 纬度描述 更好的理解这些数据结构的方式是将高维数据看作是低维数据的容器。例如&#xff0c;DataFrame是Series的容器&#xff0c;P…

最新ChatGPT网站系统源码+AI绘画系统+支持GPT语音对话+详细图文搭建教程/支持GPT4.0/H5端系统/文档知识库

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

python编程(1)之通用引脚GPIO使用

在之前的章节中&#xff0c;小编带领大家学习了&#xff1a;如何构建esp32的python开发环境-CSDN博客 今天小编带领大家开始学习python编程的第一节&#xff0c;通用引脚。esp32c3核心板是一个高度集成&#xff0c;功能丰富的模块&#xff0c;来看下他的功能分布&#xff1a; 我…

GraphPad Prism 10 for Mac v10.0.0.3 安装教程

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件&#xff0c;它可以将科学图形、综合曲线拟合&#xff08;非线性回归&#xff09;、可理解的统计数据、数据组织结合在一起&#xff0c;除了最基本的数据统计分析外&#xff0c;还能自动生成统…

统信UOS|DNS server|04-添加主域名解析

原文链接&#xff1a;统信UOS&#xff5c;DNS server&#xff5c;04-添加主域名解析 hello&#xff0c;大家好啊&#xff01;继我们在之前的文章中成功部署了测试用的HTTP服务器、搭建了DNS解析服务器&#xff0c;并添加了子域名解析之后&#xff0c;今天我们将继续我们的DNS域…

uniapp随记

文章目录 this的指向 this的指向 在使用api-uni.chooseMedia时&#xff0c;选中的图片不能给data中的变量赋值&#xff0c;需要增加变量代替this 参考文章 原来的代码 chooseMedia() {uni.chooseMedia({count: 9,mediaType: [image, video],sourceType: [album, camera],maxD…

VSCode安装PYQT5

安装PYQT5 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple 获得Python环境位置 查看函数库安装位置 pip show 函数库名 通过查询函数库&#xff0c;了解到python安装位置为 C:\User…

C语言中常见的关键字

一、数据类型关键字&#xff08;20个&#xff09; 基本数据类型&#xff08;5个&#xff09; void&#xff1a;声明函数无返回值或无参数&#xff0c;声明无类型指针&#xff0c;显式丢弃运算结果 char&#xff1a;字符型类型数据&#xff0c;属于整型数据的一种 int&#xff…

力扣题:子序列-12.29

力扣题-12.29 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;522. 最长特殊序列 II 解题思想&#xff1a;首先将字符串列表按长度进行降序&#xff0c;然后对每个字符串进行判断是否是独有的子序列&#xff0c;因为短的字串可能是长的字串的子序…

力扣:LCR 161. 连续天数的最高销售额(最大子数组和,动态规划入门)

链接&#xff1a;力扣&#xff1a;LCR 161. 连续天数的最高销售额 题目&#xff1a; 某公司每日销售额记于整数数组 sales&#xff0c;请返回所有 连续 一或多天销售额总和的最大值。 要求实现时间复杂度为 O(n) 的算法。 示例 1: 输入&#xff1a;sales [-2,1,-3,4,-1,2,1…

解决vue2项目 el-dialog弹窗不显示

初始写法 使用了v-model 弹窗不显示 <el-dialog v-model"dialogVisible" title"Popup Content" :width"dialogWidth" close"handleCloseDialog"><p>{{ selectedItemContent }}</p></el-dialog> 将v-model改…

2023.12.19 关于 Redis 通用全局命令

目录 引言 Redis 全局命令 SET & GET KEYS EXISTS DEL EXPIRE TTL TYPE redis 引入定时器高效处理过期 key 基于优先级队列方式 基于时间轮方式 引言 Redis 是根据键值对的方式存储数据的必须要进入 redis-cli 客户端程序 才能输入 redis 命令 Redis 全局命令 R…

【藏经阁一起读】(80)__《2023龙蜥社区白皮书》

【藏经阁一起读】&#xff08;80&#xff09;__《2023龙蜥社区白皮书》 2023龙蜥社区白皮书 作者&#xff1a; 小龙 发布时间&#xff1a;2023-11-15 章节数&#xff1a;79 内容简介&#xff1a; 从解决CentOS停服的问题出发为广大用户的业务连续性提供了坚定的保障&#xf…

C# 使用MSTest进行单元测试

目录 写在前面 代码实现 执行结果 写在前面 MSTest是微软官方提供的.NET平台下的单元测试框架&#xff1b;可使用DataRow属性来指定数据&#xff0c;驱动测试用例所用到的值&#xff0c;连续对每个数据化进行运行测试&#xff0c;也可以使用DynamicData 属性来指定数据&…

用友U8+CRM help2 任意文件读取漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 help2接口处存在任意文件读取漏洞&#xff0c;攻击者通过漏洞可以获取到服…

RK3568平台 并发与竞争控制机制总结

一.并发与竞争机制总结 二.原子操作 “原子”是化学世界中不可再分的最小微粒&#xff0c;一切物质都由原子组成。在Linux 内核中的原子操作可以理解为“不可被拆分的操作”&#xff0c;就是不能被更高等级中断抢夺优先的操作。在C语言中可以使用以下代码对一个整形变量赋值。…

C#文件操作(二)

一、前言 文章的续作前文是&#xff1a; C#文件操作&#xff08;一&#xff09;-CSDN博客https://blog.csdn.net/qq_71897293/article/details/135117922?spm1001.2014.3001.5501 二、流 流是序列化设备的抽象表示序列化设备可以线性方式储存数据并可按照同样的方式访问一次…

大批量数据导出csv,平替导出excel性能优化解决方案封装工具类

阿丹&#xff1a; 有些业务逻辑需要在导出非常大量的数据&#xff0c;几百甚至几千万的数据这个时候再导出excel来对于性能都不是很友好&#xff0c;这个时候就需要替换实现思路来解决这个问题。 本文章提供了两种解决的方案&#xff0c;也是两种从数据库中拿取数据的方式一种是…

java String, StringBuffer StringBuilder 的区别

Java中的String, StringBuffer, 和 StringBuilder 都是用于处理字符串的类&#xff0c;但它们之间存在一些关键的差异&#xff0c;String 的长度是不可变的&#xff1b;StringBuffer 的长度是可变的&#xff0c;如果你对字符串中的内容经常进行操作&#xff0c;特别是内容要修改…