Плагин Rundeck 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)

Пожалуйста, объясните мне, чего мне здесь не хватает.

Спасибо


person Karthikeyan    schedule 22.11.2018    source источник


Ответы (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"
person Karthikeyan    schedule 25.11.2018