<div class="zcontentRow"> <p>Hi Ifat,</p><p>         Sorry for reply too late. Please see my inline comments for your question.</p><p><br></p><ul type="disc" style="list-style-type: none;" class=" list-paddingleft-2"><li><p><span style="box-sizing: border-box;font-size: 14.6666669845581px;outline: none !important;font-family: Calibri">It won’t solve the general problem of two different monitors that raise the same alarm</span></p></li><li><p><span style="box-sizing: border-box;font-size: 14.6666669845581px;outline: none !important;font-family: Calibri">   [yinliyin] Generally, we would only deploy one monitor for a same alarm. </span></p></li><li><p><span style="box-sizing: border-box;font-size: 14.6666669845581px;outline: none !important;font-family: Calibri">It won’t solve possible conflicts of timestamp and severity between different monitors</span></p></li><li><p><span style="box-sizing: border-box;font-size: 14.6666669845581px;outline: none !important;font-family: Calibri">  [yinliyin] Please see the following contents.</span></p></li><li><p><span style="box-sizing: border-box;font-size: 14.6666669845581px;outline: none !important;font-family: Calibri">It will make the decision of when to delete the alarm more complex (delete it when the deduced alarm is deleted? When Nagios alarm is deleted? both? And how to change the timestamp and severity in these cases?)</span></p></li><li><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"> [yinliyin] Please see the following contents.</span></p></li></ul><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">   The following is the basic idea of solving the problem in this situation:</span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">       1.  In templates, we only define the alarm entity for the datasource that the alarm is reported by, such as Nagios.</span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">       2.  When evaluator deduce an alarm, it would raise the alarm with the type set to be the datasource that would report the alarm, not be vitrage.</span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">       3.  When entity_graph get the events from the "evaluator_queue"(all the alarms in the "evaluator_queue" are deduced alarms), it queries the graph to find out whether there was a same alarm reported  by datasource. If  it was true,  it would discard the alarm.</span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">      4.  When entity_graph get the events from "queue",  <span style="font-family: Calibri; font-size: 14.6666669845581px; line-height: 22px;">it queries the graph to find out whether there was a same alarm deduced by evaluator. If it was true, it would replace the alarm in the graph with the newly arrived alarm reported by the datasource.</span></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><span style="font-family: Calibri; font-size: 14.6666669845581px; line-height: 22px;">     5.  When the evaluator deduced that an alarm would be deleted, it deletes the alarm whatever the generation type of the alarm be(Generated by datasource or deduced by evaluator).  </span></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><span style="font-family: Calibri; font-size: 14.6666669845581px; line-height: 22px;">     6. When datasource reports recover event of an alarm, entity_graph would query graph to find out whether the alarm was exist. If the alarm was not exist, entity_graph would discard the event.</span></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><span style="font-family: Calibri; font-size: 14.6666669845581px; line-height: 22px;"> </span></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;">        </span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><span style="font-size: 14.6666669845581px; box-sizing: border-box; font-family: Calibri; outline: none !important;"><br></span></p><p><br></p><p><br></p><p><br></p><div class="zMailSign"><p style="font-family: 宋体; font-size: 7.0px; line-height: normal; widows: 1;"><span style="font-size:12px;color:#58595B;font-family:微软雅黑;font-size: 7.0px;"><span class="signedit"><br></span></span></p><p style="widows: 1;"><br></p><p style="font-size: 7.0px; line-height: normal; widows: 1;"><span style="font-size:12px;color:#58595B;font-family:微软雅黑;font-size: 7.0px;"><span style=""><span class="signedit"><br></span></span></span></p><p style="widows: 1;"><span style="font-family: 微软雅黑; font-size: 10px; line-height: normal; color: rgb(88, 89, 91);"><span class="signedit" id="sign_dept">虚拟化上海五部/无线研究院/无线产品经营部</span> <span style="font-family:Arial"> <span class="signedit" id="sign_dept_eng">NIV Shanghai Dept. V/Wireless Product R&D Institute/Wireless Product Operation</span></span></span></p><p style="font-size: 7.0px; line-height: normal; widows: 1;"><span style="font-size:10px;color:#58595B;font-family:微软雅黑;font-size: 7.0px;"><span style=""><span class="signedit"><br></span></span></span></p><p style="font-size: 7.0px; line-height: normal; widows: 1;"><span style="font-size:10px;color:#58595B;font-family:微软雅黑;font-size: 7.0px;"></span></p><table style="color: rgb(0, 0, 0); font-family: 宋体; widows: 1;"><tbody><tr class="firstRow"><td valign="top" width="100"><img id="sign-icon" src="cid:9ae3e214c17d49ed935d87c674ba3ee2" width="130" height="120"></td><td valign="top" width="500" style="word-break: break-all;"><img id="sign-logo" src="cid:24242e5637af428891c4db731e7765ad" width="115" height="38"><br><span style="font-size:10px;color:#58595B;font-family:微软雅黑"><span class="signedit" id="sign_addr">上海市浦东新区碧波路889号中兴研发大楼D502 </span><br><span style="font-family:Arial"><span class="signedit" id="sign_addr_eng_1">D502, ZTE Corporation R&D Center, 889# Bibo Road</span>, <br><span class="signedit" id="sign_addr_eng_2">Zhangjiang Hi-tech Park, Shanghai, P.R.China, 201203</span> <br><span style="color:#008FD4">T</span>: <span class="signedit" id="sign_fix_phone">+86 21 68896229</span><br><span style="color:#008FD4">M</span>: <span class="signedit" id="sign_phone">+86 13641895907</span> <br><span style="color:#008FD4">E</span>: <span class="signedit" id="sign_email">yinliyin@zte.com.cn</span><br><span style="color:#008FD4"><a href="http://www.zte.com.cn/" target="_blank">www.zte.com.cn</a></span></span></span></td></tr></tbody></table><span style="line-height: normal; widows: 1; font-size: 7.0px;;color:#58595b;font-size:10px"></span></div><div><div class="zhistoryRow" style="display:block"><div class="zhistoryDes" style="width: 100%; height: 28px; line-height: 28px; background-color: #E0E5E9; color: #1388FF; text-align: center;" language-data="HistoryOrgTxt">原始邮件</div><div id="zwriteHistoryContainer"><div class="control-group zhistoryPanel"><div class="zhistoryHeader" style="padding: 8px; background-color: #F5F6F8;"><div><strong language-data="HistorySenderTxt">发件人:</strong><span class="zreadUserName"> <ifat.afek@nokia.com>;</span></div><div><strong language-data="HistoryTOTxt">收件人:</strong><span class="zreadUserName" style="display: inline-block;"> <openstack-dev@lists.openstack.org>;</span><span class="zreadUserName" style="display: inline-block;">殷力殷10011231;</span></div><div><strong language-data="HistoryCCTxt">抄送人:</strong><span class="zreadUserName" style="display: inline-block;">韩静00006838;</span><span class="zreadUserName" style="display: inline-block;">王维雅00042110;</span><span class="zreadUserName" style="display: inline-block;">章宇军10200531;</span><span class="zreadUserName" style="display: inline-block;">贾培源10101785;</span><span class="zreadUserName" style="display: inline-block;">龚亚辉6092001895;</span></div><div><strong language-data="HistoryDateTxt">日 期 :</strong><span class="">2017年01月12日 17:08</span></div><div><strong language-data="HistorySubjectTxt">主 题 :</strong><span class="zreadTitle"><strong>Re: [openstack-dev] [Vitrage] About alarms reported by datasource and the alarms generated by vitrage evaluator</strong></span></div></div><p class="zhistoryContent"><br></p><div><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Title" content=""><meta name="Keywords" content=""><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><div class="WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Hi Yujun,<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">See my comments inline.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Ifat.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal" style="margin-left:36.0pt"><strong><span style="font-family:Calibri;color:black">From: </span></strong><span style="font-family:Calibri;color:black">Yujun Zhang <zhangyujun+zte@gmail.com><br> <strong>Date: </strong>Wednesday, 11 January 2017 at 12:12<br> <br> <o:p></o:p></span></p></div><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><div><p class="MsoNormal" style="margin-left:36.0pt">I have just realized abstract alarm is not a good term. What I was talking about is <strong>fault</strong> and <strong>alarm</strong>. <o:p></o:p></p><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><div><p class="MsoNormal" style="margin-left:36.0pt">Fault is what actually happens, and alarm is how it is detected (or deduced).<o:p></o:p></p><div><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><p class="MsoNormal" style="margin-left:36.0pt">On Wed, Jan 11, 2017 at 5:13 PM Yujun Zhang <<a href="mailto:zhangyujun%2Bzte@gmail.com" target="_blank">zhangyujun+zte@gmail.com</a>> wrote:<o:p></o:p></p><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><p class="MsoNormal" style="margin-left:36.0pt">I think YinLiYin's idea is a reasonable requirement from end user. They care more about the <strong>real faults</strong> in the system, not how they are detected. Though it will bring much challenge to design and engineering, it creates value for customers. I'm quite positive on this evolution.<o:p></o:p></p><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><p class="MsoNormal">[Ifat] Of course. I never argued about the need, just tried to figure out how we should implement it.<o:p></o:p></p><p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p><p class="MsoNormal" style="margin-left:36.0pt">One possible solution would be introducing a high level (abstract) template from users view. Then convert it to Vitrage scenario templates (or directly to graph). The <strong>more sources</strong> (nagios, vitrage deduction) for an abstract alarm we get from the system, the <strong>more confidence</strong> we get for a real fault. And the confidence of an alarm could be included in the scenario condition.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">[Ifat] I understand your idea, not sure yet if it helps with the use case.<o:p></o:p></p><p class="MsoNormal">How would you imagine the ‘confidence’ property? As Boolean or a counter? One option is ‘deduced’ vs. ‘monitored’. Another option is to count the number of monitors that reported it. Personally, I don’t think this is needed. I think that  if Nagios reports an error, then it is confident enough without getting it from another monitor.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><o:p> </o:p></p></div></div></div></div></div><p><br></p></div></div></div></div><p><br></p> </div>