Re: Setting up OpenNMS 19.0.1 with OTRS 5.0.12
Holger Goßmann <[email protected]>
| Newsgroups | gmane.network.opennms.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Niels, have you installed the plugin? yum -y install opennms-plugin-ticketer-otrs.noarch Regards, Holger Von: Niels Tomey [mailto:[email protected]] Gesendet: Mittwoch, 29. März 2017 18:38 An: General OpenNMS Discussion Betreff: Re: [opennms-discuss] Setting up OpenNMS 19.0.1 with OTRS 5.0.12 Hi David, > In the documentation found here https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration > I have followed the instrutions and created the otrs.properties file, but this doesn’t seem to referenced anywhere. I’m not following you here. I meant that I cannot find any references to this file in any of the other files. As the file otrs.properties does not exist I have created it. The commented file in https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration seems pretty complete to me. I have copy paste'd the entire file into $OPENNMS_HOME/etc/otrs.properties. I've made the following changes: In opennms.properties: line 186: commented out # opennms.ticketer.plugin=org.opennms.netmgt.ticketd.NullTicketerPlugin line 204-206: uncommented: opennms.ticketer.plugin=org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin opennms.alarmTroubleTicketLinkTemplate = <a href="http://<<snip otrs url>>/otrs/index.pl?Action=AgentTicketZoom <http://index.pl?Action=AgentTicketZoom&TicketNumber=$%7bid%7d> &TicketNumber=${id}">${id}</a> opennms.alarmTroubleTicketEnabled = true In otrs.properties: line 51: uncommented: http:// <http://%3c%3csnip> <<snip otrs url>>/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector line 72-73: entered username and password (of a regular otrs user as the comments indicate special soap user is not required for >3.1.x (I have 5.0.12) Then when I restart opennms it will fail after some time (about 20 seconds) with a connection refused error: [root@opennms etc]# systemctl stop opennms [root@opennms etc]# systemctl start opennms [root@opennms etc]# ../bin/opennms -v status OpenNMS.Eventd : start_pending OpenNMS.Trapd : start_pending OpenNMS.Queued : start_pending OpenNMS.Actiond : start_pending OpenNMS.Notifd : start_pending OpenNMS.Scriptd : start_pending OpenNMS.Rtcd : start_pending OpenNMS.Pollerd : start_pending OpenNMS.PollerBackEnd : start_pending OpenNMS.EnhancedLinkd : start_pending OpenNMS.Ticketer : start_pending OpenNMS.Collectd : start_pending OpenNMS.Discovery : start_pending OpenNMS.Vacuumd : start_pending OpenNMS.EventTranslator: start_pending OpenNMS.PassiveStatusd : start_pending OpenNMS.Statsd : start_pending OpenNMS.Provisiond : start_pending OpenNMS.Reportd : start_pending OpenNMS.Bsmd : start_pending OpenNMS.Alarmd : start_pending OpenNMS.Ackd : start_pending OpenNMS.JettyServer : start_pending opennms is partially running [root@opennms etc]# ../bin/opennms -v status OpenNMS.Eventd : start_pending OpenNMS.Trapd : start_pending OpenNMS.Queued : start_pending OpenNMS.Actiond : start_pending OpenNMS.Notifd : start_pending OpenNMS.Scriptd : start_pending OpenNMS.Rtcd : start_pending OpenNMS.Pollerd : start_pending OpenNMS.PollerBackEnd : start_pending OpenNMS.EnhancedLinkd : start_pending OpenNMS.Ticketer : start_pending OpenNMS.Collectd : start_pending OpenNMS.Discovery : start_pending OpenNMS.Vacuumd : start_pending OpenNMS.EventTranslator: start_pending OpenNMS.PassiveStatusd : start_pending OpenNMS.Statsd : start_pending OpenNMS.Provisiond : start_pending OpenNMS.Reportd : start_pending OpenNMS.Bsmd : start_pending OpenNMS.Alarmd : start_pending OpenNMS.Ackd : start_pending OpenNMS.JettyServer : start_pending opennms is partially running [root@opennms etc]# ../bin/opennms -v status Could not connect to the OpenNMS JVM (OpenNMS might not be running or could be starting up or shutting down): Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused (Connection refused)] opennms is stopped [root@opennms etc]# ../bin/opennms -v status Could not connect to the OpenNMS JVM (OpenNMS might not be running or could be starting up or shutting down): Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused (Connection refused)] opennms is stopped [root@opennms etc]# In /var/log/opennms/output.log I can see the following java error: Mar 30, 2017 12:20:21 AM org.hibernate.validator.internal.util.Version <clinit> INFO: HV000001: Hibernate Validator 4.3.2.Final An error occurred while attempting to start the "OpenNMS:Name=Ticketer" service (class org.opennms.netmgt.ticketd.jmx.TroubleTicketer). Shutting down and exiting. javax.management.RuntimeMBeanException: org.springframework.beans.factory.access.BootstrapException: Unable to return specified BeanFactory instance: factory key [troubleTicketerContext], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:839) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:852) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:821) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:278) at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:207) at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:154) at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:94) at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:173) at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:150) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.opennms.bootstrap.Bootstrap$4.run(Bootstrap.java:464) at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.beans.factory.access.BootstrapException: Unable to return specified BeanFactory instance: factory key [troubleTicketerContext], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:403) at org.opennms.core.spring.BeanUtils.getBeanFactory(BeanUtils.java:79) at org.opennms.core.spring.BeanUtils.getFactory(BeanUtils.java:131) at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon$1.run(AbstractSpringContextJmxServiceDaemon.java:103) at org.opennms.core.logging.Logging.withPrefix(Logging.java:71) at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon.init(AbstractSpringContextJmxServiceDaemon.java:96) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) ... 13 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'troubleTicketerContext' defined in URL [jar:file:/opt/opennms/lib/org.opennms.features.ticketing.daemon-19.0.1.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:278) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:981) at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:395) ... 33 more Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270) ... 43 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketerPlugin' defined in class path resource [META-INF/opennms/applicationContext-troubleTicketer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:687) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 45 more Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'pluginClass'; nested exception is java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:480) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:512) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:506) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1503) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1462) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1198) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ... 60 more Caused by: java.lang.IllegalArgumentException: Cannot find class [org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:282) at org.springframework.beans.propertyeditors.ClassEditor.setAsText(ClassEditor.java:63) at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:430) at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:403) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:181) at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:460) ... 66 more Caused by: java.lang.ClassNotFoundException: org.opennms.netmgt.ticketer.otrs31.Otrs31TicketerPlugin at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.springframework.util.ClassUtils.forName(ClassUtils.java:246) at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:279) ... 71 more [root@opennms opennms]# When I revert the changes it works again just fine, so it seems that the Otrs31TicketerPlugin cannot be found? I can help update the documentation once I've got it to work, no problem at all. regards, Niels On Mar 29, 2017 21:32, "david" <[email protected]> wrote: > On Mar 28, 2017, at 2:58 AM, Niels Tomey <[email protected]> wrote: > > Hi, > I’m setting up a brand new OpenNMS instance running on CentOS 7, and I want to integrate this with my existing OTRS (5.0.12) setup. > I’m getting confused with the configuration files mentioned in the file comments and in the documentation. Me, too. ;) > While editing /opt/opennms/etc/opennms.properties the comments say: > # NOTE: if you enable a trouble-ticketing plugin here, you must also edit > # $OPENNMS_HOME/jetty-webapps/opennms/WEB-INF/configuration.properties > However this file does not exist. That’s probably an error in the comments of that file. I don’t think configuration.properties is valid any more. > In the documentation found here https://wiki.opennms.org/wiki/OTRS_Trouble_Ticket_Integration#otrs.properties_configuration > I have followed the instrutions and created the otrs.properties file, but this doesn’t seem to referenced anywhere. I’m not following you here. > OpenNMS now fails to start, unless I revert the changes. Have you checked the logs to see why it failed to start? > Am I looking at outdated documentation perhaps? Can someone point towards a guide to accomplish this? I’m guessing that the most recent documentation for that feature is still what you are reading. Perhaps we can update that documentation as part of this conversation. David Hustace The OpenNMS Group, Inc. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-discuss mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-discuss ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-discuss mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-discuss