以syslog形式推送告警信息到UMP平台--主要为接口思路

背景

客户需求,根据当前时间获取到的接口返回值中的关键字段的数值进行判断,当超过阈值时推送可恢复告警,推送一次即可,待数据正常时推送告警恢复,工作日8点到18点执行。【代码还在整理中】

问题分析

  1. 告警通知:客户UMP平台设置监控策略,我要做的就是把告警信息推送到客户的UMP平台,后续由UMP平台短信通知给客户。
  2. 推送告警:通过SocketClientUdp连接,Handler.sendMessage形式推送syslog信息。
  3. syslog格式,根据客户提供模板,因为客户要根据syslog里的字段来制定短信通知策略。

处理逻辑

开头说的可恢复告警,是指当超过阈值时推送告警,等阈值正常还要推送告警恢复。
本次未要求对接口做告警策略,即如第三方接口调用有问题时我们不做处理。 1

Level 1Level 2Level 3Level 4Level 5Level 6Level 7Level 8
接口中是否有数据打印日志:接口无数据。
返回值是否有告警?无,此时的key值是多少?值为0,打印日志:接口数据正常,
值为1,打印日志 :接口数据无告警,库中告警数据恢复,Handler.sendMessage("告警恢复"),同时清理表数据。
有,此时的key值是多少?值为0,打印日志:接口数据有告警,Handler.sendMessage("推送告警"),写入数据库。
值为1库里是否有本次接口中告警数据将不包含的部分筛选出一个list里,打印日志,Handler.sendMessage("推送告警"),写入数据库。
打印日志:此条数据重复。
本次接口告警中是否有库中数据打印日志:推送告警恢复,Handler.sendMessage("告警恢复"),将此条数据从数据库中删除。
打印日志:有未恢复告警。
数据库是否有告警key=0
取数data,并key=1。


  1. 对接口做策略调整时的处理逻辑。
    (1)接口返回是否正常。
    (2)接口返回值中的数据长度是否正常。 ↩︎

当前接口!=null
Level 1Level 2Level 3Level 4Level 5
是,不为null。当前ERROR_DATA的值是否>0ERROR_DATA=0,打印日志:目前接口正常,可推送告警回复。Handler.sendMessage("推送告警恢复syslog--接口数据")
打印日志:本次接口正常,接下来对接口数据长度进行判断。
否,为null。当前ERROR_DATA的值是否为默认值=0ERROR_DATA++,打印日志:接口有问题,推送告警。Handler.sendMessage("推送告警syslog--接口数据")
不做处理,打印日志:接口仍有问题,告警未恢复。
当前接口长度是否为100是,当前MISS_DATA的值是否为默认值=0MISS_DATA++,打印日志:接口少于100条数据,需推送告警信息。Handler.sendMessage("推送告警syslog-接口数据长度")
打印日志:接口悢仍少于100条,告警未恢复。
否,当前MISS_DATA的值是否>0MISS_DATA=0,打印日志:接口数据长度正常,可推送告警回复,Handler.sendMessage("推送告警恢复syslog-接口数据长度")
打印日志:接口正常且数据长度完整,无需推送告警。

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

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

相关文章

蓝桥杯算法题练习

1、20世纪有多少个星期一 (1901、1、1——2000、12、31) 方法一:python代码 方法二:excel工具(设置单元格格式,把日期换成周几的形式) 2、100个数相乘,结果有几个0 3、切面条 找规律:对折次数n 弯2^n-1 面…

刷题之动态规划

前言 大家好,我是jiantaoyab,开始刷动态规划的题目了,要特别注意初始化的时候给什么值。 动态规划5个步骤 状态表示 :dp数组中每一个下标对应值的含义是什么->dp[i]表示什么状态转移方程: dp[i] 等于什么1 和 2 是…

mysql之MyBatis核心工作原理

MyBatis核心工作原理 一、源码环境 1.手动编译源码 工欲善其事必先利其器。为了方便我们在看源码的过程中能够方便的添加注释,我们可以自己来从官网下载源码编译生成对应的Jar包,然后上传到本地maven仓库,再引用这个Jar。大家可以自行去官…

读所罗门的密码笔记05_新的力量平衡

1. 技术发展 1.1. 美国和中国俨然成为人工智能研究、开发和部署方面无可争议的领导者 1.2. 人类从未彻底阻止某种技术的发展,虽然不同国家在不同时间对克隆、化学武器和核武器等技术采取了暂停或禁止措施,但我们仍在继续推进最前…

vue学习第二天

1.v-text和v-html区别 效果: 2.v-bind v-bind:是Vuejs中,提供用于绑定属性的指令 正确做法: 3.v-on可以用来简化(v-on:) 4.事件修饰符 1. 冒泡机制组织.stop----阻止向下冒泡 冒泡机制相当于Android的事件透传&#x…

(十一)图像的罗伯特梯度锐化

环境:Windows10专业版 IDEA2021.2.3 jdk11.0.1 OpenCV-460.jar 系列文章: (一)PythonGDAL实现BSQ,BIP,BIL格式的相互转换 (二)BSQ,BIL,BIP存储格式的相互转换算法 (三…

mapbox-gl扩展sprites图片

在mapbox-gl.js中,通过在styles中设置sprite和glyphs,实现样式图标和字体的加载。而一旦style加载完成,如果重置地图中的style,则会导致地图全部重新加载,图层的顺序,地图上的要素,都会丢失&…

小程序中使用less

在vscode中安装插件 找到左下角齿轮的设置,点击右边图标,进入“settings.json” 加上以下代码配置 "less.compile":{"outExt": ".wxss"}

用navicat进行mysql表结构同步

用navicat进行mysql表结构同步 前言新增一个列然后进行表结构同步删除一个列然后进行表结构同步把Int列转成TinyInt列,看数字溢出的情况下能不能表结构同步总结 前言 从同事那边了解到还能用navicat进行表结构同步,他会在发布更新的时候,直接…

【蓝桥杯选拔赛真题50】C++简易炸弹超人 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解析

目录 C简易炸弹超人 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C简易炸弹超人 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 有一块矩形游戏场地&#x…

OSCP靶场--RubyDome

OSCP靶场–RubyDome 考点(CVE-2022-25765 suid ruby提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV 192.168.249.22 --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-29 00:28 EDT Nmap scan report for 192.168.249.22 Hos…

跃然纸上的灵感再现,手绘风格的开源绘图白板工具:Excalidraw

Excalidraw:即绘即思,直观呈现未来流程图!- 精选真开源,释放新价值。 概览 在撰写文章或构建演示案例的过程中,为了增强视觉表现力和信息传达深度,适时融入图表或图形显得至关重要。Excalidraw作为一款基于…