I am testing a Graylog setup based on docker images.
I also want to run the Enterprise plugin. I downloaded the integration and Enterprise integration plugins via https://docs.graylog.org/en/3.3/pages/integrations/setup.html
I followed the steps to use volume mounted plugins but when I have a mount entry for the Enterprise plugin in my docker compose file, the graylog container crashes.
Here my volume mounted config:
graylog:
image: graylog/graylog:3.3
volumes:
- graylog_data:/usr/share/graylog/data
- /opt/graylog/plugin/graylog-plugin-integrations-3.3.8.jar:/usr/share/graylog/plugin/graylog-plugin-integrations-3.3.8.jar
- /opt/graylog/plugin/graylog-plugin-enterprise-integrations-3.3.8.jar:/usr/share/graylog/plugin/graylog-plugin-enterprise-integrations-3.3.8.jar
environment:
Here the docker log of the graylog container:
2020-11-24 15:42:33,087 WARN : org.graylog2.shared.security.tls.DefaultTLSProtocolProvider - JRE doesn't support all default TLS protocols. Changing <[TLSv1.2, TLSv1.3]> to <[TLSv1.2]>
2020-11-24 15:42:33,779 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: AWS plugins 3.3.8 [org.graylog.aws.AWSPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Enterprise Integrations 3.3.8 [org.graylog.enterprise.integrations.EnterpriseIntegrationsPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Integrations 3.3.8 [org.graylog.integrations.IntegrationsPlugin]
2020-11-24 15:42:33,781 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Collector 3.3.8 [org.graylog.plugins.collector.CollectorPlugin]
2020-11-24 15:42:33,793 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Threat Intelligence Plugin 3.3.8 [org.graylog.plugins.threatintel.ThreatIntelPlugin]
2020-11-24 15:42:34,434 INFO : org.graylog2.bootstrap.CmdLineTool - Running with JVM arguments: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:NewRatio=1 -XX:MaxMetaspaceSize=256m -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow -Dlog4j.configurationFile=/usr/share/graylog/data/config/log4j2.xml -Djava.library.path=/usr/share/graylog/lib/sigar/ -Dgraylog2.installation_source=docker
2020-11-24 15:42:35,305 INFO : org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator null
[wterstegen@tpms-pvux-tst graylog]$ sudo docker logs 8bf797490467
2020-11-24 15:42:33,087 WARN : org.graylog2.shared.security.tls.DefaultTLSProtocolProvider - JRE doesn't support all default TLS protocols. Changing <[TLSv1.2, TLSv1.3]> to <[TLSv1.2]>
2020-11-24 15:42:33,779 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: AWS plugins 3.3.8 [org.graylog.aws.AWSPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Enterprise Integrations 3.3.8 [org.graylog.enterprise.integrations.EnterpriseIntegrationsPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Integrations 3.3.8 [org.graylog.integrations.IntegrationsPlugin]
2020-11-24 15:42:33,781 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Collector 3.3.8 [org.graylog.plugins.collector.CollectorPlugin]
2020-11-24 15:42:33,793 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Threat Intelligence Plugin 3.3.8 [org.graylog.plugins.threatintel.ThreatIntelPlugin]
2020-11-24 15:42:34,434 INFO : org.graylog2.bootstrap.CmdLineTool - Running with JVM arguments: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:NewRatio=1 -XX:MaxMetaspaceSize=256m -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow -Dlog4j.configurationFile=/usr/share/graylog/data/config/log4j2.xml -Djava.library.path=/usr/share/graylog/lib/sigar/ -Dgraylog2.installation_source=docker
2020-11-24 15:42:35,305 INFO : org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator null
[wterstegen@tpms-pvux-tst graylog]$ sudo docker logs 8bf797490467
2020-11-24 15:42:33,087 WARN : org.graylog2.shared.security.tls.DefaultTLSProtocolProvider - JRE doesn't support all default TLS protocols. Changing <[TLSv1.2, TLSv1.3]> to <[TLSv1.2]>
2020-11-24 15:42:33,779 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: AWS plugins 3.3.8 [org.graylog.aws.AWSPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Enterprise Integrations 3.3.8 [org.graylog.enterprise.integrations.EnterpriseIntegrationsPlugin]
2020-11-24 15:42:33,780 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Integrations 3.3.8 [org.graylog.integrations.IntegrationsPlugin]
2020-11-24 15:42:33,781 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Collector 3.3.8 [org.graylog.plugins.collector.CollectorPlugin]
2020-11-24 15:42:33,793 INFO : org.graylog2.bootstrap.CmdLineTool - Loaded plugin: Threat Intelligence Plugin 3.3.8 [org.graylog.plugins.threatintel.ThreatIntelPlugin]
2020-11-24 15:42:34,434 INFO : org.graylog2.bootstrap.CmdLineTool - Running with JVM arguments: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:NewRatio=1 -XX:MaxMetaspaceSize=256m -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow -Dlog4j.configurationFile=/usr/share/graylog/data/config/log4j2.xml -Djava.library.path=/usr/share/graylog/lib/sigar/ -Dgraylog2.installation_source=docker
2020-11-24 15:42:35,305 INFO : org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator null
Exception in thread "main" com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/graylog/plugins/license/api/LicenseManager
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
at com.google.common.cache.LocalCache.get(LocalCache.java:3951)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4964)
at com.google.inject.internal.FailableCache.get(FailableCache.java:51)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:595)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:932)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:852)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:291)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:222)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:938)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:48)
at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:60)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:133)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector(Guice.java:87)
at org.graylog2.shared.bindings.GuiceInjectorHolder.createInjector(GuiceInjectorHolder.java:34)
at org.graylog2.bootstrap.CmdLineTool.setupInjector(CmdLineTool.java:379)
at org.graylog2.bootstrap.CmdLineTool.run(CmdLineTool.java:194)
at org.graylog2.bootstrap.Main.main(Main.java:50)
Caused by: java.lang.NoClassDefFoundError: org/graylog/plugins/license/api/LicenseManager
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getDeclaredConstructors(Class.java:2020)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:115)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:706)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:930)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:852)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:291)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:222)
at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:991)
at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:978)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:69)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.load(FailableCache.java:40)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045)
... 22 more
Caused by: java.lang.ClassNotFoundException: org.graylog.plugins.license.api.LicenseManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 43 more
I hope somebody can help me finding out what I am doing wrong. Loading container with only integration plugin enabled, it starts. When I run it with the Enterprise plugin enabled, I receive above exception.