Shell脚本接入预警通知API:一行命令发告警

用Shell一行命令发告警 运维日常写大量Shell脚本:磁盘巡检、日志切割失败、备份脚本退出码非0、服务进程消失。互亿无线预警通知API是HTTPS POST,Shell里用curl一行就能发,标准HTTP调用无需引入第三方依赖。本文给出…

用Shell一行命令发告警

运维日常写大量Shell脚本:磁盘巡检、日志切割失败、备份脚本退出码非0、服务进程消失。互亿无线预警通知API是HTTPS POST,Shell里用curl一行就能发,标准HTTP调用无需引入第三方依赖。本文给出脚本里的常用写法。

接口与参数

通道地址
短信https://api.ihuyi.com/sms/Submit.json
语音https://api.ihuyi.com/voice/vm
闪信https://api.ihuyi.com/flash/Submit.json

必填account、password、mobile、content,成功返回code=2与smsid。可选templateid与time参数。

curl一行命令

curl -s -X POST "https://api.ihuyi.com/sms/Submit.json"   -d "account=API_ID"   -d "password=API_KEY"   -d "mobile=13800138000"   --data-urlencode "content=【磁盘告警】/data 分区使用率92%,请清理。"

封装成函数

alert_sms() {
  curl -s -X POST "https://api.ihuyi.com/sms/Submit.json"     -d "account=API_ID" -d "password=API_KEY"     -d "mobile=$1" --data-urlencode "content=$2"
}

alert_voice() {
  curl -s -X POST "https://api.ihuyi.com/voice/vm"     -d "account=API_ID" -d "password=API_KEY"     -d "mobile=$1" --data-urlencode "content=$2"
}

# 磁盘巡检示例
USE=$(df /data | awk 'NR==2{print $5}' | tr -d '%')
if [ "$USE" -ge 90 ]; then
  alert_sms "13800138000" "【磁盘告警】/data 使用率${USE}%,请处理。"
fi

脚本里的注意点

  1. content含中文用 --data-urlencode,避免编码问题
  2. account、password写在~/.alertsrc里source,不要硬进脚本
  3. 按级别选通道:P1加调alert_voice,P0用三合一群呼

接入crontab与监控Agent

Shell脚本通常挂在crontab里定时跑,或由监控Agent(如Zabbix、Prometheus Alertmanager的Webhook)触发。把alert_sms函数放到公共脚本里source,各巡检脚本共用。服务进程消失这类P1事件,在短信之外再调alert_voice,凌晨直接振铃值班手机。

5秒首发失败自动换通道,避免脚本告警因单通道抖动丢失。语音content约70字对应20秒TTS播报,未接自动重呼一次。长短信按多条计费,24小时可发送。

脚本里建议加去重:同一告警5分钟内只发一次,避免crontab每分钟重复打扰。P1类服务消失在短信之外再调alert_voice。

脚本里建议把account、password放到~/.alertsrc里source,不要硬进脚本;content含中文一律用--data-urlencode,避免编码问题。P1类服务消失在短信之外再调alert_voice,凌晨直接振铃值班手机。

互亿无线提供11种语言代码示例,按成功计费。运维同学若想把脚本告警从"发邮件"升级为"直接打电话",注册免费试用,拿测试条数先跑通一条磁盘巡检告警。

立即开始免费测试

注册即送免费测试条数,30分钟快速接入多通道预警API

免费注册,开始测试
咨询热线:400-118-6878
高新技术企业

高新技术企业

专精特新企业

专精特新企业

ISO9001认证

ISO9001 认证

安全等级认证

安全等级认证

AAA信用企业

AAA 信用企业