rundeck-plugins / rundeck-logstash-plugin

Pipe all Rundeck log output to a Logstash server
28 stars 18 forks source link

Getting ERROR com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry - plugin Provider does not exist: LogstashPlugin #1

Closed sharpyy closed 11 years ago

sharpyy commented 11 years ago

Hello,

I m trying to use the logstash plugin for Rundeck.

I m using rundeck 1.6.1 and using the latest LogstashPlugin.groovy file from git repo.

I have followed the readme instructions and have the following config:

-rw------- 1 root root 1800 Sep 3 14:27 /var/lib/rundeck/libexec/LogstashPlugin.groovy

$ grep -i logstash /etc/rundeck/rundeck-config.properties rundeck.execution.logs.streamingWriterPlugins=LogstashPlugin

$ grep -i logstash /etc/rundeck/framework.properties framework.plugin.StreamingLogWriter.LogstashPlugin.port=9700 framework.plugin.StreamingLogWriter.LogstashPlugin.host=localhost

The errors I m getting from the logs are:

2013-09-03 15:00:02,314 [quartzScheduler_Worker-4] ERROR com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry - plugin Provider does not exist: LogstashPlugin 2013-09-03 15:00:02,319 [quartzScheduler_Worker-4] ERROR grails.app.task.rundeck.quartzjobs.ExecutionJob - Execution failed: Cannot get property 'description' on null object java.lang.NullPointerException: Cannot get property 'description' on null object at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:156) at org.codehaus.groovy.runtime.DefaultGroovyMethods.getAt(DefaultGroovyMethods.java:183) at org.codehaus.groovy.runtime.dgm$231.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:307) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:32) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:68) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) at com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry.validatePluginByName(RundeckPluginRegistry.groovy:140) at com.dtolabs.rundeck.server.plugins.PluginRegistry$validatePluginByName$0.callCurrent(Unknown Source) at com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry.validatePluginByName(RundeckPluginRegistry.groovy:126) at com.dtolabs.rundeck.server.plugins.PluginRegistry$validatePluginByName.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:111) at rundeck.services.PluginService.configurePlugin(PluginService.groovy:93) at rundeck.services.PluginService$configurePlugin.call(Unknown Source) at rundeck.services.LoggingService$_openLogWriter_closure1.doCall(LoggingService.groovy:42) at sun.reflect.GeneratedMethodAccessor751.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) at groovy.lang.Closure.call(Closure.java:282) at groovy.lang.Closure.call(Closure.java:295) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1220) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1196) at org.codehaus.groovy.runtime.dgm$110.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:270) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) at rundeck.services.LoggingService.openLogWriter(LoggingService.groovy:40) at rundeck.services.LoggingService$$FastClassByCGLIB$$c6d46fcc.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) at rundeck.services.LoggingService$$EnhancerByCGLIB$$b5b8c98f.openLogWriter() at rundeck.services.LoggingService$openLogWriter.call(Unknown Source) at rundeck.services.ExecutionService.executeAsyncBegin(ExecutionService.groovy:531) at rundeck.services.ExecutionService$$FastClassByCGLIB$$ffb73873.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) at rundeck.services.ExecutionService$$EnhancerByCGLIB$$2e502e7c.executeAsyncBegin() at rundeck.services.ExecutionService$executeAsyncBegin.call(Unknown Source) at rundeck.quartzjobs.ExecutionJob.executeCommand(ExecutionJob.groovy:173) at rundeck.quartzjobs.ExecutionJob$executeCommand.callCurrent(Unknown Source) at rundeck.quartzjobs.ExecutionJob.execute(ExecutionJob.groovy:41) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

Thank you in advance for your help,

Etienne

gschueler commented 11 years ago

I see the permissions on the file are "root" owned and not readable by other users:

-rw------- 1 root root 1800 Sep 3 14:27 /var/lib/rundeck/libexec/LogstashPlugin.groovy

You should check the permissions: make sure it is readable by the rundeck user

sharpyy commented 11 years ago

Thank you, that was the issue...