上一篇ELK安装简单说了下安装ELK,这一篇就来具体说下怎么让者三个联动起来。
其工作流程如下图所示,(从Kibana官网拿的流程图)
简单来讲,其具体流程是logstash agent 监控并过滤日志,将过滤后的日志内容发给redis(这里的redis只处理队列不做存储),logstash index将日志收集在一起交给elasticSearch,并通过Kibana进行展示。
在实际中,还可以加上logback实现自定义的日志。
其具体流程如下
(网上找的一个图,链接找不到了……sorry)
大概就是这个意思,不过是在最左边又加了一个logback。
安装和部署
Redis
Redis的安装和配置之前写过,链接在:Centos 7服务器搭建(三)—安装Redis
在这里不需要其它更改。
Logback
(1)安装
logback是一个开源包,使用Maven可以自动部署。
不得不说Maven是个好东西,顺便贴一个地址,用来寻找包的Maven依赖http://mvnrepository.com/。
当前最新版是1.1.7,使用logback-classic会自动添加其它logback-core、slf4j等依赖。
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
(2)配置
在所在项目的resources文件夹下新建logback.xml,logback会自动寻找配置文件。
一个配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- scan 是否定期扫描xml文件, scanPeriod是说扫描周期是30秒-->
<configuration scan="true" scanPeriod="30 seconds" debug="false" packagingData="true">
<!-- 项目名称 -->
<contextName>myApp1 contextName</contextName>
<!-- 属性 -->
<property name="USER_HOME" value="C://log-path"/>
<!-- Insert the current time formatted as "yyyyMMdd'T'HHmmss" under
the key "bySecond" into the logger context. This value will be
available to all subsequent configuration elements. -->
<timestamp key="bySecond" datePattern=