08-26-2021 01:16 AM
Hi all
I am trying to get some Alarms from the SD-WAN VManage API and i also want to filter them. The Authentication works, because all other requests to the API work and also if i change the body, the query works.
i am querying this URL: https://{{ VManage IP }}/dataservice/alarms. I make a POST Request on that URL with the following Body.
{ "query": { "condition": "AND", "rules": [ { "field": "entry_time", "operator": "last_n_hours", "type": "date", "value": [ "42" ] }, { "field": "active", "operator": "in", "type": "string", "value": [ "false", "true" ] }, { "field": "severity", "operator": "in", "type": "string", "value": [ "Medium", "Critical", "Major" ] }, { "field": "type", "operator": "not_in", "type": "string", "value": [ "sla-change", "security-root-cert-chain-installed", "tloc_down" ] } ] } }
If i only remove the last rule, the query works perfectly. so if I remove the not_in Operator rule, everything works fine.
This rule:
{ "field": "type", "operator": "not_in", "type": "string", "value": [ "sla-change", "security-root-cert-chain-installed", "tloc_down" ] }
When i execute the query with the not_in Operator, i get the Return Code 500 with the Message "HTTP Error 500: Internal Server Error"
I checked the logfile /var/log/nms/vmanage-server.log and i see the following error in it:
26-Aug-2021 09:19:02,742 CEST ERROR [vmanage] [RestfulDefaultExceptionMapper] (default task-2042) |default| Uncaught exception thrown by REST java.lang.IllegalArgumentException: inner bool query clause cannot be null at org.elasticsearch.index.query.BoolQueryBuilder.must(BoolQueryBuilder.java:123) ~[elasticsearch-6.8.0.jar:6.8.0] at com.viptela.vmanage.server.elasticsearch.query.ElasticSearchQueryUtil.parseQuery(ElasticSearchQueryUtil.java:144) ~[vmanage-99.99.99.jar:?] at com.viptela.vmanage.server.elasticsearch.ElasticSearchUtil.getSingleIndexQuery(ElasticSearchUtil.java:52) ~[vmanage-99.99.99.jar:?] at com.viptela.vmanage.server.elasticsearch.AbstractDeviceDataRestfulResource.getScrollResponse(AbstractDeviceDataRestfulResource.java:135) ~[vmanage-99.99.99.jar:?] at com.viptela.vmanage.server.elasticsearch.AbstractDeviceDataRestfulResource.getRawDataAsStream(AbstractDeviceDataRestfulResource.java:129) ~[vmanage-99.99.99.jar:?] at com.viptela.vmanage.server.correlation.engine.AlarmsRestfulResources.getRawAlarmData(AlarmsRestfulResources.java:239) ~[vmanage-99.99.99.jar:?] at com.viptela.vmanage.server.correlation.engine.AlarmsRestfulResources$Proxy$_$$_WeldClientProxy.getRawAlarmData(Unknown Source) ~[vmanage-99.99.99.jar:?] at sun.reflect.GeneratedMethodAccessor1105.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_162] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_162] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:138) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:535) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:424) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$0(ResourceMethodInvoker.java:385) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:356) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:387) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:329) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:135) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:356) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:138) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:215) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:227) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) ~[resteasy-jaxrs-3.11.2.Final.jar!/:3.11.2.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[jboss-servlet-api_4.0_spec-2.0.0.Final.jar!/:2.0.0.Final] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter(SpanFinishingFilter.java:52) ~[opentracing-jaxrs2-0.4.1.jar!/:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.disasterrecovery.DisasterRecoveryServletFilter.doFilter(DisasterRecoveryServletFilter.java:141) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.tenantbackup.TenantBackupRestoreServletFilter.doFilter(TenantBackupRestoreServletFilter.java:64) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.DataServiceLoggingFilter.doFilter(DataServiceLoggingFilter.java:197) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.APIValidationFilter.doFilter(APIValidationFilter.java:128) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.SessionTokenFilter.doFilter(SessionTokenFilter.java:61) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.HeaderValidationFilter.doFilter(HeaderValidationFilter.java:56) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at com.viptela.vmanage.server.tenant.TenantServletFilter.doFilter(TenantServletFilter.java:96) ~[vmanage-99.99.99.jar:?] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) ~[log4j-web-2.13.0.jar:2.13.0] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) ~[?:?] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) ~[?:?] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) ~[?:?] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105) ~[?:?] at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1541) ~[?:?] at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1541) ~[?:?] at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1541) ~[?:?] at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1541) ~[?:?] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249) [undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) [undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99) [undertow-servlet-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:370) [undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) [undertow-core-2.1.0.Final.jar!/:2.1.0.Final] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.3.3.Final.jar!/:2.3.3.Final] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982) [jboss-threads-2.3.3.Final.jar!/:2.3.3.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) [jboss-threads-2.3.3.Final.jar!/:2.3.3.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) [jboss-threads-2.3.3.Final.jar!/:2.3.3.Final] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
Does anyone know, what I am doing wrong or is my query not even possible?
Thank you for your help!
08-26-2021 06:56 AM
Hello @r.somma is this issue on the always-on sd-wan sandbox or the reservable sd-wan sandbox, please?
08-27-2021 12:25 AM
Thank you for the reply @bigevilbeard
I am using the reservable sd-wan sandbox.
08-27-2021 02:15 AM
@r.somma Seems like the “query” clause is missing… try something like this
{ "query": { "condition": "AND", "rules": [ { "field": "type", "operator": "not_in", "type": "string", "value": [ "sla-change", "security-root-cert-chain-installed", "tloc_down" ] }
Hope this helps
08-27-2021 02:34 AM
unfortunately it is not working. i still get the same error.
i had the "query" clause included before, but not copied it. sorry for that.
as soon as i change the operator from "not_in" to "in" it works perfectly.
i tried the following
{ "query": { "condition": "AND", "rules": [ { "field": "type", "operator": "not_in", "type": "string", "value": [ "sla-change", "security-root-cert-chain-installed", "tloc_down" ] } ] } }
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide