1.安装jdk 1.7,因为elasticsearch 1.4.0需要依赖jdk 1.7;
1.安装elasticsearch最新版本1.4.0;
下载es后,解压。
打开config/elasticsearch.yml文件,加入以下配置:
执行命令启动ES:
./bin/elasticsearch &
2.安装logstash,我这里用的版本是1.4.2;
下载logstash后,解压,新建一个目录conf,在conf目录下新建文件logstash-redis.conf,内容如下:
执行以下命令启动logstash:
./bin/logstash -f conf/logstash-redis.conf &
3.下载kibana,我这里用的版本是3.1.2;
解压后,丢到tomcat的webapps目录下,配置好tomcat的host和端口。
4.redis 2.6.14,服务器中默认已经安装好了,访问端口6379,设置好访问密码;
5.java工程中,pom.xml文件增加logstash-redis-appender依赖:
该依赖默认使用了jedis2.5.2。
5.修改logback.xml, 增加appender;
6:补充说明一点,由于这里是用HTTP方式访问redisAppender, 相对来说是紧耦合
另外一种实现是使用logstash的客户端来读取logstash.json日志文件然后输出到redis队列
1)首先日志集中 ,logback.xml配置
<!-- 日志集中 -->
<
appender
name
=
"LOGSTASH"
class
=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<
file
>${LOG_DIR}/${SYSTEM_NAME}/logstash.json</
file
>
<
rollingPolicy
class
=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<
fileNamePattern
>${LOG_DIR}/${SYSTEM_NAME}/logstash.%d{yyyy-MM-dd}.%i.json
</
fileNamePattern
>
<
timeBasedFileNamingAndTriggeringPolicy
class
=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<
maxFileSize
>5000MB</
maxFileSize
>
</
timeBasedFileNamingAndTriggeringPolicy
>
</
rollingPolicy
>
<
encoding
>UTF-8</
encoding
>
<
encoder
class
=
"net.logstash.logback.encoder.LogstashEncoder"
/>
</
appender
>
在/apps/svr/logstash-2.3.2/bin目录下新建logstash.conf,编辑内容如下:
启动logstash客户端: