java告警系统设计_告警系统的设计

现在告警系统可以说是系统的必备部分,只要有监控,就需要一个告警系统来帮忙主动推送消息,以此减少人不停的主动查看监控的作用。

在最初的告警系统中,基本主要就是设置阈值,达到阈值就发生告警。这个在机器数量少的时候是满足需求的。例如10个进程,就算都出问题也就是10条告警。在使用的过程中,随着进程数量的增多,告警种类的增多。会出现告警的洪荒,一直不停的收到告警。

重复性

为了准确的传达告警信息,告警的设计要只要问题不解决就需要一直告警,否则很容易出现告警信息不可达,人查看的时候忽略了。这种问题,需要让告警持续的发送,直到解除为止。

分级

这里为了减少告警信息,我们会设置告警的级别。

cpu >80 严重

80 > cpu > 50 一般

然后发送告警的时候加上告警级别,邮件的规则根据告警的级别进行分类,就可以很容易的去找出严重的优先处理,一般的紧急程度就低一些。

静默

虽然通过级别可以筛选出一些特别重要的信息,但是告警是一直持续发送的。例如cpu只要还在超过80,一定的时间间隔内,就会继续发送告警,严重级别的邮箱很快也多起来。而且是同一个告警的不同时间的信息。这个时候如果有其他严重级别的告警的时候,很容易被冲刷掉。导致了一定的延后性,需要指望这个告警信息也不停的发送,如果间隔时间不一样的话,很容易出现一些失误。

这里就需要有一个静默功能。

例如我收到了A进程的cpu使用率的告警,我现在开始去做处理,这时候并不能立马解决这个问题。可以通过静默的功能,把A进程的cpu告警取消发送。直到解决了问题以后再打开。中间过程如果再继续收到信的告警,就需要再次注意了,证明和手头正在解决的不是同一个问题。

抑制

我们想一个场景,现在有如下的告警设置

物理机宕机告警

进程探活告警

api接口超时告警

当物理机宕机后,上面的所有进程肯定也都停止了,探测api的检测功能也检测不到api能正常返回了。于是触发了3条告警信息。但他们描述的根源的原因是同一个。如果一个机器上有20个进程,总共有300个api。那么就会一下子收到1+20+300=321条告警信息。这么多告警信息,人收到都是迷茫的,主动静默都是很大的工作量。得静默321条情况,这里也能直接选择把告警去掉,也怕别的程序也这个时候出了问题,导致告警的丢失。

这里就需要告警的抑制。上面表达是一个包含关系,api超时的原因是进程停止了,进程停止了原因是物理机停止了。这种场景其实报告物理机的宕机告警就可以。

也是就是物理机告警,进程告警,端口告警同时出现的时候,物理机的告警要抑制进程告警,抑制api告警。

路由设置

告警信息的通知是需要多样的,例如什么样的告警,什么样的级别通过什么样的形式发送(邮件,短信,电话)。这个是需要分层的。越紧急的事情就需要越紧急的方式,例如普通的告警就发送邮件就可以了。但是严重的告警,管理员可能晚上睡着了,邮件的消息通知可能不能被看到,这里可能就需要通过电话开通知。选择了更可靠的方式。

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

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

相关文章

java 接口和虚构_深入理解Java的接口和抽象类

深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用…

JAVA不同类型数组重载_JAVA补课-DAY1:方法重载和数组

IDEA简单方法使用快捷键CtrlAltL&#xff0c;IDEA代码格式化Ctrl/单行注释&#xff0c;重复按取消CtrlShift/多行注释&#xff0c;重复可取消5.fori<>for (int i 0; i < 5; i)本日重点方法重载(overload)/*方法重载(Overload)&#xff0c;多个方法名称相同&#xff0…

Java 接受reactjs数据_ReactJS:从API获取数据

我在使用简单的标准模板获取API数据的React应用程序中从API获取数据时遇到了困难 . 控制台日志返回的结果是空白数组 .import React, {Component} from react;import ./App.css;import Chart from ./components/chartconst API_URL "http://ergast.com/api/f1/2016/1/res…

java 串的顺序存储_算法入门之串的顺序存储表示

串&#xff0c;即字符串。计算机上的非数值处理的对象基本上是字符串数据。但是&#xff0c;由于现在我们使用的计算机硬件结构主要是反映数值计算的需要的&#xff0c;在处理字符串数据时比处理整数和浮点数要复杂的多。而且&#xff0c;对于不同类型程序&#xff0c;所处理的…

华为s2600t java_华为S2600T存储+华为RH2288H V3服务器

面对复杂多变的国际形势和国内艰巨繁重的改革发展稳定任务&#xff0c;维持稳定就显得格外重要。平安城市视频监控建设项目为了保证城市交通和城市治安的安全&#xff0c;需要对人员集中的重要场所和道路上监控进行建设和改造。视频监控记录的数据必须具有很高的安全性&#xf…

华为java8_Java8 Stream

简单认识Java streamJava8出了一个stream流式编程&#xff0c;在开发中或多或少用到接触过。怎么说呢&#xff01;举个例子把&#xff0c;一起我们在遍历一个集合的时候&#xff0c;我们是从外部去遍历的&#xff0c;然后才能拿到结果&#xff0c;这样来效率就会变得相对低一点…

c++ mysql 配置文件_C++操作数据库写入到json配置文件中

1. 这次加了对int和varchar的处理#include #include #include #include #include "json/json.h"#include #include using namespace std;int main(int argc, char* argv[]){MYSQL mysql;mysql_init( &mysql );mysql_real_connect(&mysql,"192.168.16.11…

求最长单调子序列java,单调减子序列(java实现)

题目&#xff1a;从一个由N个整数排列组成的整数序列中&#xff0c;自左向右不连续的选出一组整数&#xff0c;可以组成一个单调减小的子序列(如从{68 69 54 64 68 64 70 67 78 62 98 87}中我们可以选取出{69 68 64 62}这个子序列&#xff1b;当然&#xff0c;这里还有很多其他…

php输出12个月,php获取12个月内的开始时间和结束时间

$currentTime time();$cyear floor(date("Y",$currentTime));$cMonth floor(date("m",$currentTime));for($i0;$i<6;$i){$nMonth $cMonth-$i;$cyear $nMonth 0 ? ($cyear-1) : $cyear;$nMonth $nMonth < 0 ? 12$nMonth : $nMonth;$date $c…

java打开输入框,java – 在Android中打开输入对话框

我想在某个点打开一个输入对话框,我可以在其输入后存储和使用它.我在互联网上找到的所有例子都非常先进,我想它们并不像我想要的那样简单 – 我只需要类似于Java的东西&#xff1a;String name JOptionPane.showInputDialog("Enter your name");保留输入以供以后计算…

php 编译原理,编译原理

编译原理是计算机科学中历史最悠久&#xff0c;也是最高度发展的学科之一。编译器的设计与实现集中体现了计算机科学中的最核心的思想和技术&#xff0c;并且和计算机科学的其他研究领域&#xff0c;如形式语言与自动机、算法、数据结构、程序设计语言、计算机体系结构、软件工…

java俄文xml解析错误,XML解析出错处理

搜索热词正常解析完毕之后会直接走parserDidEndDocument这个方法解析出错之后会执行一个相应的方法&#xff0c;- (void)parser:(NSXMLParser*)parser parseErrorOccurred:(NSError*)parseError&#xff0c;执行完毕此方法后.会根据解析出错的地方去执行方法parserDidEndDocume…

JAVA中自己写的util中的chop,Java StringUtils.chop方法代碼示例

import org.apache.commons.lang3.StringUtils; //導入方法依賴的package包/類/*** Tutti i file dentro a /res vengono indicati come cacheabili lato browser per 1 anno (tramite lheader expires).* Per evitare che nuove versioni non vengano mai prese, si usa il &q…

ascii码扩展 php,php与ascii码

首先 简单说一下历史&#xff0c;ascii码最开始是美国人搞出来的&#xff0c;用来干什么呢&#xff1f;我们知道&#xff0c;计算机只知道0和1&#xff0c;如果我们要计算机识别除了01之外的字符&#xff0c;例如 a&#xff0c;我们要先告诉计算机‘1100001’就是a。跟摩斯密码…

php手机电子相册,免费电子相册制作软件 手机电子相册制作软件

照片配上音乐加上炫酷的过渡效果点缀图片和文字说明&#xff0c;轻松制作成各种视频格式的电子相册。不需要专业的视频制作知识&#xff0c;点几下鼠标就可以把上百张数码照片制作成电子相册。视频相册可以在电脑上用播放器收看或者在高清电视上播放。也可以刻录成DVD、VCD光盘…

windows上配置nginx php,Windows下配置Nginx使之支持PHP

1. 首先&#xff0c;将 nginx.conf 中的 PHP 配置注释去掉。01# pass the PHP scripts to FastCGI server listening on 127.0.0.1:900002#03#location ~ .php$ {04# root html;05# fastcgi_pass 127.0.0.1:9000;06# fastcgi_index index.php;07# fas…

php 系统环境变量引用,PHP 系统变量 环境变量

在PHP网站开发中&#xff0c;为了满足网站的需要&#xff0c;时常需要对PHP环境变量进行设置和应用&#xff0c;在虚拟主机环境下&#xff0c;有时我们更需要通过PHP环境变量操作函 数来对PHP环境变量值进行设置。为此我们有必要对PHP环境变量先有所熟悉。今天和大家分享PHP环境…

python dataframe分组求和,pandas datafram中按特定月份分组和求和值

这里有一个稍微不同的方法&#xff1a;使用year和month来构建索引&#xff0c;然后使用一个UDF groupby()。在示例数据&#xff1a;N 10years pd.date_range("1981", "2017", freq"A").yeardates np.random.choice(years, sizeN, replaceTrue…

matlab7.0 run,新手求救啊!!!matlab7.0在win7启动后命令窗口出现大段代码!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼java.lang.NoClassDefFoundError: com/mathworks/beans/ExtraPropertyAttributesat java.lang.ClassLoader.defineClass0(Native Method)at java.lang.ClassLoader.defineClass(Unknown Source)at java.security.SecureClassLoader…