您的位置:首页 > 数据库 > Redis

elasticsearch+logstash+redis+kibana+logback整合

2016-07-30 11:37 651 查看
1.安装jdk 1.7,因为elasticsearch 1.4.0需要依赖jdk 1.7;

1.安装elasticsearch最新版本1.4.0;

    下载es后,解压。

    打开config/elasticsearch.yml文件,加入以下配置:

[javascript] view
plain copy

http.cors.enabled: true  

http.cors.allow-origin:  http://192.168.1.61:9080   //这里是kibana所在的tomcat的host和端口,以允许kibana访问  

     执行命令启动ES:

     ./bin/elasticsearch &

2.安装logstash,我这里用的版本是1.4.2;

    下载logstash后,解压,新建一个目录conf,在conf目录下新建文件logstash-redis.conf,内容如下: 

[javascript] view
plain copy

input {  

  redis {  

    host => "192.168.1.68"  //redis的ip  

    port => "6379" //redis的端口  

    key => "logstashdemo"  

    password => "your redis password" //redis的访问密码  

    data_type => "list"  

    codec  => "json"  

    type => "logstash-redis-demo"  

    tags => ["logstashdemo"]  

  }  

}  

  

output {  

  elasticsearch {  

    host => "192.168.1.61"  //es的ip  

  }  

  

}  

    执行以下命令启动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依赖:

[html] view
plain copy

   <dependency>  

<groupId>com.cwbase</groupId>  

<artifactId>logback-redis-appender</artifactId>  

<version>1.1.0</version>  

   </dependency>  

    该依赖默认使用了jedis2.5.2。

5.修改logback.xml, 增加appender;

[html] view
plain copy

<appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">    

        <source>mysite</source>    

        <type>logstash-redis-demo</type>    

        <host>192.168.1.68</host>  <!-- redis server -->  

        <key>logstash:demo</key>   <!-- 这个Key是Redis List的Key,需要和Logstash读取Redis的Key匹配 -->   

[html] view
plain copy

<password>your redis password</password>  <!-- 访问redis的密码 -->  

<tags>logstashdemo</tags>    

<mdc>true</mdc>    

<location>true</location>    

<callerStackIndex>0</callerStackIndex>    

/appender>  

[html] view
plain copy

  

[html] view
plain copy

<root level="WARN">  

    <appender-ref ref="LOGSTASH" />  

[html] view
plain copy

</root>  

6:补充说明一点,由于这里是用HTTP方式访问redisAppender, 相对来说是紧耦合

另外一种实现是使用logstash的客户端来读取logstash.json日志文件然后输出到redis队列

1)首先日志集中 ,logback.xml配置

2)安装logstash客户端及配置,版本为2.3.2

在/apps/svr/logstash-2.3.2/bin目录下新建logstash.conf,编辑内容如下:

启动logstash客户端:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  elasticsearch