Chaitanya,





There are two points you should pay attention to.






In the Beijing release, the APIs of Holmes have changed a little. The contents 
of your request should be in camel-case format, which means you have to change 
the field name "ruleid" and "loopcontrolname" into "ruleId" and 
"loopControlName". This is the cause of the 400 error.





To establish a certain correlation between two alarms, several conditions 
should be met:


the difference of startEpochMicrosec of the parent alarm and the child alarm 
should be within 60s (according to the rule you provided). This seems to be 
pretty much ok because the difference of startEpochMicrosec of the two alarms 
you attached is 0.


please make sure that the sources(sourceId or sourceName) of both alarms are 
topologically correlated. I mean, there should be a certain correlation between 
"example-vserver-name-val-5470" and "example-vnf-name-val-94632" in A&AI.


the eventName field of both alarms should be in accordance with that in the 
rule (the "specificProblem" property). In your attachment, the eventName 
"Fault_IMSSBC_Backup MPU is down" of the child alarm is different from "Backup 
MPU is abnormal" which is written in the rule.





I hope it helps.






BR,


Guangrong



















原始邮件



发件人:ChaitanyaReddyPullareddygari <[email protected]>
收件人:付光荣10144542;
抄送人:Anandadas Patki <[email protected]>[email protected] 
<[email protected]>Sangeeth G <[email protected]>
日 期 :2018年07月02日 19:31
主 题 :RE: ONAP HOLMES issue




Apologies. Forgot to add the rule and alarms I am using. PFA the rule and 
alarms.


 


Also, how can I ensure the rule is successfully deployed to the drools engine. 
I assume drools engine is same as engine-mgmt docker. I tried to invoke the 
below  API, but I get an 400 “ Unable to process JSON” error.


 


curl -X PUT "https://10.53.172.142/api/holmes-engine-mgmt/v1/rule"; -H "accept: 
application/json" -H "content-type: application/json"  -d "{\t\"content\": 
\"package org.onap.holmes.droolsRule;\\import 
org.onap.holmes.common.dmaap.DmaapService;\import 
org.onap.holmes.common.api.stat.VesAlarm;\import 
org.onap.holmes.common.aai.CorrelationUtil;\import  
org.onap.holmes.common.dmaap.entity.PolicyMsg;\import 
org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\import 
org.onap.holmes.common.utils.DroolsLog;\ \\rule 
\\\"Relation_analysis_Rule\\\"\salience 200\no-loop true\ when\ $root : 
VesAlarm(alarmIsCleared  == 0,\ $sourceId: sourceId, sourceId != null && 
!sourceId.equals(\\\"\\\"),\\\t\\t\\t$sourceName: sourceName, sourceName != 
null && !sourceName.equals(\\\"\\\"),\\\t\\t\\t$startEpochMicrosec: 
startEpochMicrosec,\ specificProblem in (\\\"Fault_MultiCloud_VMFailure\\\"),\  
$eventId: eventId)\ $child : VesAlarm( eventId != $eventId, parentId == null,\ 
specificProblem in (\\\"Backup MPU is abnormal\\\"),\ startEpochMicrosec < 
$startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 
)\ 
then\\\t\\t$child.setParentId($root.getEventId());\\\t\\tupdate($child);\\\t\\t\end\",\t\"engineid\":
  \"rule_1530517745601\",\t\"loopcontrolname\": \"TestLoop\"}"


 


Regards,


Chaitanya


 


 


 



From: Chaitanya Reddy Pullareddygari 
 Sent: Monday, July 2, 2018 4:53 PM
 To: '[email protected]' <[email protected]>
 Cc: Anandadas Patki <[email protected]>; [email protected]
 Subject: RE: ONAP HOLMES issue




 


Hi Guangrong,


 


Thank you very much for your response. Please find attached the logs from both 
the rule-mgmt and engine-mgmt dockers.


 


1.       Please note that I only notices the “Failed to call the rule 
verification RESTful API” error with the new Beijing release of Holmes. With 
earlier Amsterdam  I never faced this issue. 


2.       PFA some screen shots of alarms and rule in Postgres DB. Also below is 
the exact rule (simplified version from the wiki page) and the rules I am 
trying.  I have simplified them in order to see some straight forward result 
removing dependency on AAI and DMaaP.  I have tried with the actual rule and 
and alarms available in the wiki page 
https://wiki.onap.org/pages/viewpage.action?pageId=16002659 but dint get any 
result  either/


 


From: [email protected] <[email protected]> 
 Sent: Monday, July 2, 2018 4:30 PM
 To: Chaitanya Reddy Pullareddygari <[email protected]>
 Cc: Anandadas Patki <[email protected]>; [email protected]
 Subject: 答复: ONAP HOLMES issue


 

Hi Chaitanya,

 

To address the problems you mentioned below, I need more information:

 


1.    For the "Failed to call the rule verification RESTful API" error, the 
message you provided is too anbiguous. It's better you send the complete error 
stack or go to /var/log/ONAP/holmes/zip  of the rule management docker, collect 
all the log files under that and send them back to me.


2.    The rules and alarms are always supposed to be stored in the DB unless an 
explicit command is executed to remove the rule(s) or any abating alarms are 
received from  DMaaP. I don't know how to reproduce such kind of errors. Could 
you please give me more details, such as the steps to reproduce them.


3.    In order to generate correlation among alarms, you have to modify the 
rule or the alarms to make them match each other. Further more, you have to 
ensure that the rules  are deployed into the Drools engine successfully.


4.    As for other errors you high lighted below, they are false positives. The 
cause of the problems is that DCAE is not deployed. Since you're not using 
HOLMES as a DCAE  application, you don't have to care about them. This will be 
optimized in R3.

Best Regards,

Guangrong

 

 

 

 


原始邮件



发件人:ChaitanyaReddyPullareddygari <[email protected]>



收件人:付光荣10144542;



抄送人:Anandadas Patki <[email protected]>



日 期 :2018年07月02日  17:49



主 题 :ONAP HOLMES issue




Hello Guangrong,


 


How are you doing? Hope this email finds you well.


 


I am hoping that you could help me resolve an issue I have been facing with 
HOLMES. I have tries both Amsterdam and Beijing versions and I am facing the 
same issue with both. I  suspect I may be doing something wrong.


 


I am trying to run HOLMES In stand alone mode following the steps detailed in 
the https://wiki.onap.org/pages/viewpage.action?pageId=16002659 page. I ran 
this with Beijing release of HOLMES in the hope that it would have fixed the 
issue i was facing earlier. But unfortunately  i still face the same issue as 
before. Below is the error  i get. 


With Beijing release i am also facing the issue of posting the rule to 
rule-engine. Some times it throws "Failed to call the rule verification RESTful 
API"   error. If i rebuild the dockers then it will work again. 


Also, the rules and alarms seem to disappear from the Postgres DB after a 
while. I am not sure if this is designed this way or if its an error. 


 


Are the rules supposed to be posted to engine-mgmt docker as well? I dont see 
any thing happenning once the alarms are posted to DMaaP. i could see the 
alarms reaching the engine-mgmt   and getting saved to DB from the debug log. 
But no correlation happening after that. 


 


Can you please provide any help? 


 


2018-07-02 08:05:01 179 INFO 
[org.glassfish.jersey.process.internal.ExecutorProviders][pool-3-thread-1] 
invocationID:{InvocationID} - Selected ExecutorServiceProvider implementation   
[org.glassfish.jersey.client.DefaultClientAsyncExecutorProvider] to be used for 
injection of executor qualified by 
[org.glassfish.jersey.client.ClientAsyncExecutor] annotation.
 2018-07-02 08:05:01 180 INFO 
[org.glassfish.jersey.client.internal.HttpUrlConnector][pool-3-thread-1] 
invocationID:{InvocationID} - Restricted headers are not enabled using 
[sun.net.http.allowRestrictedHeaders]   system property (setting only takes 
effect on connections created after the property has been set/changed).
 2018-07-02 08:05:01 181 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - Shutdown ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_130,132,1165322451)
 2018-07-02 08:05:01 181 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_130,132,1165322451) has been shutdown
 2018-07-02 08:05:01 182 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - Shutdown ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_126,128,446674383)
 2018-07-02 08:05:01 183 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_126,128,446674383) has been shutdown
 2018-07-02 08:05:01 190 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - Shutdown ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_127,129,1897294039)
 2018-07-02 08:05:01 190 DEBUG [org.jvnet.hk2.logger][Finalizer] 
invocationID:{InvocationID} - ServiceLocator 
ServiceLocatorImpl(__HK2_Generated_127,129,1897294039) has been shutdown
 2018-07-02 08:05:01 189 WARN 
[org.onap.holmes.common.config.MicroServiceConfig][pool-3-thread-1] 
invocationID:{InvocationID} - URI is not absolute
 javax.ws.rs.ProcessingException: URI is not absolute
 at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:264)
 at 
org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684)
 at 
org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:681)
 at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
 at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
 at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
 at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
 at 
org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:681)
 at org.glassfish.jersey.client.JerseyInvocation$Builder.method(Jer


 


 


2018-07-02 07:49:01 195 INFO 
[org.onap.holmes.common.config.MicroServiceConfig][pool-3-thread-1] 
invocationID:{InvocationID} - The query url is:   
null/service_component/10.53.172.137:9101. The corresponding configurations are 
null
 2018-07-02 07:49:01 195 ERROR 
[org.onap.holmes.rulemgt.dcae.DcaeConfigurationPolling][pool-3-thread-1] 
invocationID:{InvocationID} - Failed to fetch DCAE configurations. Can not 
resolve configurations from DCAE. The configuration string is empty.
 org.onap.holmes.common.exception.CorrelationException: Can not resolve 
configurations from DCAE. The configuration string is empty.
 at 
org.onap.holmes.common.dcae.utils.DcaeConfigurationParser.parse(DcaeConfigurationParser.java:40)
 at 
org.onap.holmes.common.dcae.DcaeConfigurationQuery.getDcaeConfigurations(DcaeConfigurationQuery.java:28)
 at 
org.onap.holmes.rulemgt.dcae.DcaeConfigurationPolling.run(DcaeConfigurationPolling.java:69)


 


 


 


Regards,


Chaitanya



============================================================================================================================


Disclaimer:  This message and the information contained herein is proprietary 
and confidential and subject to the Tech Mahindra policy statement, you  may 
review the policy at http://www.techmahindra.com/Disclaimer.html externally 
http://tim.techmahindra.com/tim/disclaimer.html internally within TechMahindra.


============================================================================================================================
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10767): https://lists.onap.org/g/onap-discuss/message/10767
Mute This Topic: https://lists.onap.org/mt/23008476/21656
Group Owner: [email protected]
Unsubscribe: https://lists.onap.org/g/onap-discuss/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to