首页 > 解决方案 > Logback ElasticSearch appender 无法正确设置 url

问题描述

我有一个带有 ElasticSearch appender 的 logback.xml 文件,如下所示:

<appender name="ELK" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
    <url>${endpoint}/_bulk</url>
    ...
</appender>

endpoint是在启动 EC2 时运行的 user_data 脚本中设置的环境变量。设置变量的部分是:

echo "environment=${environment}" >> /etc/environment
echo "endpoint=https://abc.${environment}.efg.hij.com:443" >> /etc/environment

在系统日志中,我可以看到以下消息:

WARN in ch.qos.logback.core.joran.util.PropertySetter@abcd12343 - Failed to set property [url] to value "endpoint_IS_UNDEFINED/_bulk". ch.qos.logback.core.util.PropertySetterException: java.lang.reflect.InvocationTargetException ...

当我检查服务器时填充环境变量,当我使用 curl POST 到端点时,它可以工作。

我想知道为什么endpoint可能无法从环境变量中获取 的值。

标签: elasticsearchamazon-ec2logbackuser-data

解决方案


推荐阅读