Rundeck S3插件

时间:2018-11-22 14:02:43

标签: amazon-s3 rundeck

我正在尝试将标准甲板日志推送到S3存储桶,而我关注了此页面-https://rundeck.org/docs/administration/cluster/logstore/s3-log-storage-plugin.html

一切都很好,但是我遇到了一些tmpdir错误,该错误并没有提到:(

下面是配置文件

/etc/rundeck/framework.properties

# Send logs to S3 bucket
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.region=us-west-2
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.AWSAccessKeyId=SJSDHJJSDBSDHBLDSLA
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.AWSSecretKey=DKJSDBDS76t6sJDBJHDcVLpd
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.bucket=rundeck-exection-logs
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.path=logs/prod/execution-logs/${job.project}/${job.execid}.log
framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.forceSigV4=true



/etc/rundeck/rundeck-config.properties
    # Send logs to S3 bucket
    rundeck.execution.logs.fileStoragePlugin=org.rundeck.amazon-s3

当我重新启动rundeckd服务时,我在“ /var/log/rundeck/rundeck.log”上收到以下错误消息,

    2018-11-22 13:53:38,479 [LogFileStorage1] ERROR rundeck.services.TaskRunner - An error occured while processing a task: java.io.IOException: No such file or directory
java.io.IOException: No such file or directory
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createTempFile(File.java:2024)
    at java.io.File.createTempFile(File.java:2070)
    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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
    at rundeck.services.ProjectService.getExecutionXmlFileForExecution(ProjectService.groovy:147)
    at rundeck.services.ProjectService$getExecutionXmlFileForExecution.callCurrent(Unknown Source)
    at rundeck.services.ProjectService.produceStorageFileForExecution(ProjectService.groovy:136)
    at rundeck.services.logging.ExecutionFileProducer$produceStorageFileForExecution.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at rundeck.services.logging.ExecutionFileProducer$produceStorageFileForExecution.call(Unknown Source)
    at rundeck.services.LogFileStorageService$_getExecutionFiles_closure21.doCall(LogFileStorageService.groovy:1123)
    at sun.reflect.GeneratedMethodAccessor767.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1125)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
    at groovy.lang.Closure.call(Closure.java:414)
    at groovy.lang.Closure.call(Closure.java:430)
    at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2030)
    at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2015)
    at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2044)
    at org.codehaus.groovy.runtime.dgm$160.invoke(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:87)
    at rundeck.services.LogFileStorageService.getExecutionFiles(LogFileStorageService.groovy:1122)
    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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1125)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1163)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1125)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
    at rundeck.services.LogFileStorageService$_runStorageRequest_closure3.doCall(LogFileStorageService.groovy:189)
    at rundeck.services.LogFileStorageService$_runStorageRequest_closure3$doCall.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at rundeck.services.LogFileStorageService$_dequeueIncompleteLogStorage_closure9$doCall.call(Unknown Source)
    at org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi$6.doInHibernate(HibernateGormStaticApi.groovy:517)
    at org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:188)
    at org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:132)
    at org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate$execute$0.call(Unknown Source)
    at org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi.withNewSession(HibernateGormStaticApi.groovy:515)
    at rundeck.LogFileStorageRequest.withNewSession(LogFileStorageRequest.groovy)
    at rundeck.LogFileStorageRequest$withNewSession$2.call(Unknown Source)
    at rundeck.services.LogFileStorageService.runStorageRequest(LogFileStorageService.groovy:186)
    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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1125)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1163)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1125)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
    at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1.doCall(LogFileStorageService.groovy:125)
    at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1$doCall.call(Unknown Source)
    at rundeck.services.TaskRunner.run(TaskRunner.groovy:44)
    at org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottlingRunnable.run(SimpleAsyncTaskExecutor.java:251)
    at java.lang.Thread.run(Thread.java:748)

请指导我,我在这里缺少什么。

谢谢

1 个答案:

答案 0 :(得分:1)

我找到了问题。

在/etc/rundeck/framework.properties中

# Base directory where instance of framework var dir is kept
framework.var.dir= /var/lib/rundeck/var

# Framework tmp dir
framework.tmp.dir= ${framework.var.dir}/tmp

但是在/ etc / rundeck / profile中,它指向下面的路径,

RUNDECK_TEMPDIR="/tmp/rundeck"

我更改为以下名称,然后重新启动了该服务,并且该服务正常工作

RUNDECK_TEMPDIR="/var/lib/rundeck/var/tmp"