我正在使用 GELF 日志记录驱动程序来集中记录我的微服务。而且我发现它有一个大问题:当目标logstash服务器端口不可用时(就像它关闭一样),它会严重降低我的系统速度。
这是我在 log4j.xml 中的设置:
<appender name="ELK" class="biz.paluch.logging.gelf.log4j.GelfLogAppender">
<param name="Threshold" value="INFO" />
<param name="Host" value="http://logstash.dev.my-services.global.local:32080" />
<param name="Facility" value="my-facility" />
<param name="ExtractStackTrace" value="true" />
<param name="FilterStackTrace" value="true" />
<param name="MdcProfiling" value="true" />
<param name="TimestampPattern" value="yyyy-MM-dd HH:mm:ss,SSS" />
<param name="MaximumMessageSize" value="8192" />
<param name="AdditionalFields" value="servicename=my-proper" />
<param name="AdditionalFieldTypes" value="servicename=String" />
<param name="MdcFields" value="userId,securityId,contextPath" />
<param name="DynamicMdcFields" value="mdc.*,(mdc|MDC)fields" />
<param name="IncludeFullMdc" value="true" />
</appender>
这是我的驱动程序版本:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>biz.paluch.logging</groupId>
<artifactId>logstash-gelf</artifactId>
<version>1.14.1</version>
</dependency>
我看到有人在https://github.com/moby/moby/issues/19209讨论类似的问题,但我没有找到答案。
我尝试了这些事情:
- 使用错误的主机地址,它不会减慢系统速度
- 使用IP地址而不是主机名,它不会解决这个问题
我怎样才能避免这个问题?
谢谢!