MTTR、MTTF、MTBF

可用度计算错误分析:

原始计算逻辑:

1、获取业务下单主机的 已处理告警和未处理告警信息
2、获取已处理告警的平均处理时间 alreadyProcessedAVG = (告警处理时间最大值updatetime-告警处理最小时间)/size
	   已处理告警size=0,则为0
3、获取未处理告警的平均时间untreatedAVG = (发生告警最大时间createTime-发生告警最小时间)/size
		未处理告警size=0,则为0
4 单机可用性 = alreadyProcessedAVG/(alreadyProcessedAVG+untreatedAVG)
		分子分母均为零,则可用性=100
		
	循环业务下主机,求可用性平均值
根据上述逻辑对告警系统可用度计算进行分析

1. 只存在已处理告警
MTTR、MTTF、MTBF_第1张图片
(1)只存在已处理告警时, untreatedAVG 始终为0;

原始公式	
alreadyProcessedAVG/(alreadyProcessedAVG+untreatedAVG)
则可简化为 
alreadyProcessedAVG/alreadyProcessedAVG 
此时,单机可用性始终为1,即100%;公式正确

2. 只存在未处理告警
MTTR、MTTF、MTBF_第2张图片
(1)只存在未处理告警时, alreadyProcessedAVG 始终为0;

原始公式	
alreadyProcessedAVG/(alreadyProcessedAVG+untreatedAVG)
则可简化为 
0 / (0 + untreatedAVG )
此时,单机可用性始终为0,即0%;

这种情况下当未处理告警为注意,告警,及严重级别时其实系统为可用状态,可用度为0不合适。

3. 已处理告警与未处理告警信息同时存在
(1)已处理告警与未处理告警信息同时, alreadyProcessedAVG 与 untreatedAVG 都不为0;

原始公式	
alreadyProcessedAVG/(alreadyProcessedAVG+untreatedAVG)
1. 若 alreadyProcessedAVG = 1, untreatedAVG = 1,则 单机可用性 = 1/2
2. 若 alreadyProcessedAVG = 50, untreatedAVG = 1,则 单机可用性 = 50/51
3. 若 alreadyProcessedAVG = 100, untreatedAVG = 1,则 单机可用性 = 100/101

可以看出已处理告警所花的平均时间越长,则单机的可用性越高,实际情况中,在一个系统可用周期中,应该是处理告警所花的时间越短则单机的可用性越高。

1. 若 alreadyProcessedAVG = 1, untreatedAVG = 1,则 单机可用性 = 1/2
2. 若 alreadyProcessedAVG = 1, untreatedAVG = 50,则 单机可用性 = 1/51
3. 若 alreadyProcessedAVG = 1, untreatedAVG = 100,则 单机可用性 = 1/101

可以看出未处理告警所花的平均时间越长,则单机的可用性越低,这种情况下逻辑正常

在是上面两种情况下根据所有告警计算,但是在实际情况中,注意级别,告警级别,严重级别的告警信息并不会造成系统的不可用,所以若只存在灾难级别的告警时,系统已经不可用,但是计算得出的单机可用度并不为0.

可用度计算方案:

术语:

MTTR、MTTF、MTBF是体现系统可靠性的重要指标,但是三者容易混淆,下文使用图解方式解释三者之间的区别,希望能起到解惑的效用。

MTTF (Mean Time To Failure,平均无故障时间),指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。 MTTF =∑T1/ N

MTTR (Mean Time To Repair,平均修复时间),指系统从发生故障到维修结束之间的时间段的平均值。MTTR =∑(T2+T3)/ N

MTBF (Mean Time Between Failure,平均失效间隔),指系统两次故障发生时间之间的时间段的平均值。 MTBF =∑(T2+T3+T1)/ N

很明显:MTBF= MTTF+ MTTR
MTTR、MTTF、MTBF_第3张图片

计算方案:

在告警系统中:

单机可用度 = MTTF / MTBF

MTTF(∑T1/ N) :
平均无灾难级别告警的时间

MTTR(∑(T2+T3)/ N)
灾难级别告警从产生到修复的平均时间

MTBF(∑(T2+T3+T1)/ N):

灾难级别告警从上次修复到下次产生并修复的平均时间

具体计算逻辑:

(1)当至少有一个未解决的灾难级别告警时:系统可用度为0%
(2)当有0个未解决的灾难级别告警时:
a. 若已解决的灾难级别告警数为0,则系统可用度为100%
b. 若已解决的灾难级别告警数大于0,则系统可用度采用下面公式计算

(∑T1/ N)/ (∑(T2+T3+T1)/ N)

= (∑T1)/ ∑(T2+T3+T1)

= ∑(第二条故障的开始时间 - 第一条故障的修复时间)/ 最后一条告警修复的时间 - 第一条告警修复的时间

你可能感兴趣的:(MTTR、MTTF、MTBF)