我正在尝试将标准甲板日志推送到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)
请指导我,我在这里缺少什么。
谢谢
答案 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"