基于Jenkins实现HTML响应数值超100时触发邮件告警
实现思路:API监控+Jenkins邮件通知
一、创建Jenkins监控项目
- 新建自由风格软件项目,配置定时构建规则(比如用Cron表达式
*/5 * * * *实现每5分钟执行一次监控) - 在构建步骤中添加执行脚本(Shell或PowerShell,根据Jenkins服务器系统选择)
二、编写API调用与数值解析脚本
Shell脚本示例(Linux/macOS环境)
# 替换为实际的项目IP和应用名称 PROJECT_IP="你的项目IP" APP_NAME="你的应用名" API_URL="http://${PROJECT_IP}/${APP_NAME}/ServiceQueueMonitorServlet?Action=retrieve" # 调用API并提取Tag1对应的数值 TAG1_VALUE=$(curl -s "$API_URL" | grep -A 1 "Tag1" | grep -Eo '[0-9]+') # 判断数值是否超过阈值 if [ "$TAG1_VALUE" -gt 100 ]; then echo "Tag1数值已超过阈值:${TAG1_VALUE}" # 让构建标记为失败,触发后续邮件通知 exit 1 fi
PowerShell脚本示例(Windows环境)
$projectIp = "你的项目IP" $appName = "你的应用名" $apiUrl = "http://${projectIp}/${appName}/ServiceQueueMonitorServlet?Action=retrieve" # 获取API响应内容 $response = Invoke-WebRequest -Uri $apiUrl -UseBasicParsing $tag1Value = [regex]::Match($response.Content, 'Tag1<\/TD>\s*<TD>(\d+)').Groups[1].Value # 判断阈值 if ([int]$tag1Value -gt 100) { Write-Host "Tag1数值已超过阈值:${tag1Value}" # 标记构建失败,触发邮件 exit 1 }
三、配置Jenkins邮件通知
- 先在Jenkins全局配置中完成SMTP服务器设置(填写邮箱服务器地址、授权账号/密码、发件人邮箱)
- 在监控项目的构建后操作中添加邮件通知:
- 选择「Editable Email Notification」(功能更灵活)或「Email Notification」
- 设置触发条件为「构建失败时」(因为脚本中超过阈值会返回
exit 1,让构建失败) - 自定义邮件主题和内容,比如在内容中加入
${BUILD_LOG_EXCERPT}引用脚本输出的阈值告警信息
四、验证与调试
- 手动触发项目构建,检查API调用、数值解析是否正常
- 模拟Tag1数值大于100的场景,确认邮件是否成功发送
- 根据业务需求调整定时构建的频率,平衡监控及时性与资源消耗
内容的提问来源于stack exchange,提问作者souvik dutta
相关产品推荐
相关产品推荐

