efk-log-monitor
用docker compose方式安装了fluentd,es,kibana
githup地址
说明
线上的springboot应用程序通过logback,发送到了fluentd所监听的24224端口,fluentd接到日志发送到es中,最后利用kibana查看日志。
版本
- fluentd-1.3.2
- fluent-plugin-elasticsearch 4.1.1
- elasticsearch:6.5.4
- kibana:6.5.4
配置
elasticsearch
配置文件在 elasticsearch/conf
kibana
配置文件在 kibana/conf
fluentd
配置文件在 fluentd/conf
运行
- 在此项目的根目录下,执行docker-compose up -d
- docker-compose ps
- docker-compose logs flutend | less
- docker-compose logs elasticsearch | less
- docler-compose logs kibana | less
应用程序配置
maven依赖
<dependency>
<groupId>com.sndyuk</groupId>
<artifactId>logback-more-appenders</artifactId>
<version>1.8.0</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.fluentd</groupId>
<artifactId>fluent-logger</artifactId>
<version>0.3.4</version>
</dependency>
logback.xml
这里只给出appender设置,关于logback其他内容,上网自行google一个
<!-- 发送到fluentD-->
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<tag>${fluentTag}</tag>
<remoteHost>${fluentHost}</remoteHost>
<port>${fluentPort}</port>
</appender>
<logger name="monitor" class="ch.qos.logback.classic.AsyncAppender" additivity="false">
<appender-ref ref="FLUENT" />
</logger>
编码使用
private static final Logger monitorLogger = LoggerFactory.getLogger("monitor");
monitorLogger.info("hello fluentd")