ELK 搭建实时日志平台。

蛋疼了: 重新编辑后 图片都显示不出来,,

自己写成word了,需要的下载 

http://download.csdn.net/download/li_work/10036338



需要下载ELK的官方地址:https://www.elastic.co/downloads

实时日志分析流程图:


如图所示

实时日志分析在elastic官网一共提供了两种渠道,

第一种: 多web项目的logger通过 Beats采集,然后Beats(主要用里面的fileBeats插件)可以直接发送给es存储或者先通过logstash进行一下数据分析,在进行es存储,最后 通过Kibana进行页面展示。

第二种: 多web项目的Logger直接通过logstash采集,进行数据解析处理,存储es ,Kibana页面展示。

 

这里涉及到fileBeats 和Logstash的区别

两者都具有日志采集的功能。

logstash 为Java编写,系统资源开销要大一些,但本身支持日志分析的filter功能,支持正则。

fileBeats 为go语言编写,系统资源开销更小。

 

这里主要讲一下 web logger ->  logstash -> elasticSearch的部署配置

elasticSearch 前面已经安装完成了,9200的端口,

logstash的安装(version:5.3.1),

从官网下载对应版本的tar.gz包,解压到/usr/local/logstash,安装完成。

启动logstash需要指定对应的输入源和输出源

我们新建一个配置文件。vim  logstash_es.conf, 里面编写对应的命令

input {

  stdin { } #输入源为控制台输入

}

output {

  stdout { } #输出源为控制台输出

}
保存, bin/logstash -f logstash_es.conf

Bin/logstash为启动命令  -f指向外部配置文件

启动项目。需要等1-2分钟左右。

显示运行日志 并以 successfully started logstash  结尾,启动成功。

 

因为我们这里设置的输入源和输出源都为liunx控制台,

启动后 在控制台输入 Hello world ,输出解析后的hello word数据。


现在开始,设置输入源为log,输出源为 es,

依旧是修改 logstash_es.conf 文件

修改后的样子

输入源: 注释掉 控制台输入,新增 Log4j输入源 和tcp输入源,分别对应 log4j日志和Logback日志,

             mode= server,意思为以本地服务器为服务端, port为监听的端口,

             host 应为本地的IP(localhost),但我需要远程访问开发,所以暂时设置为0.0.0.0  同es一样,允许外网进行访问。

输出源: 在控制台输出(开发调试需要)的基础上,新增es输出源,新增index字段,这里设置为 applog-时间 类型,

 

保存,重启,若es输出源连接不到,会报错,请检查es的启动状态,

 

现在进行 java端的日志文件的修改,

若项目的日志为log4j,

需在配置文件 log4j.properties 新增,apperedSocket配置,

Pom文件里新增log4j依赖

<dependency>

           <groupId>log4j</groupId>

           <artifactId>log4j</artifactId>

            <version>{log4j.version}</version>

 </dependency>

对应input里log4j里的端口 ,这里设置为9601

1.     log4j.appender.logstash=org.apache.log4j.net.SocketAppender  

2.    log4j.appender.logstash.Port=9601  

3.     log4j.appender.logstash.RemoteHost=47.93.6.131  

4.    log4j.appender.logstash.ReconnectionDelay=60000  

5.     log4j.appender.logstash.LocationInfo=true  

若为logback日志,需在 logback.xml中新增一下配置,对应input里 tcp的端口,这里设置为9602

1.     <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">  

2.            <destination>47.93.6.131:9602</destination>  

3.             <queueSize>1048576</queueSize>  

4.            <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >  

5.                  <customFields>{"appName":"elkDemo"}</customFields>    <!--可选,自定义的字段,内容,会作为key value存到es-->  

6.            </encoder>  

7.         </appender>  

8.        <!-- 日志级别 -->    

9.         <root>    

10.          <level value="info" />    

11.           <appender-ref ref="console" />  

12.          <appender-ref ref="logstash" />      

13.       </root>    


保存,重启项目,这时候所有的日志在打印的同时,就开始向Logstash 指定的IP 端口发送数据,logstash采集到日志数据后

进行filter解析( 我这里暂时没有进行解析),然后寻找output输出源,打印到控制台,并存到到本地es,

通过es查看。发现新增了一个 applog_2017.10.11 的index,里面存放的都是日志文件。

 

到这里实时的采集日志就完成了。 

然后我们开始kibana的搭建和部署。

一样的官网下载包(version 5.6.1),解压,完成,修改 config/kibana.yml文件,设置需要查询的es地址关联到es

1.      [root@iZ2zeiv4hb4aj7euwgy6jfZ config]# vi kibana.yml   

2.    # Kibana is served by a back end server. This setting specifies the port to use.  

3.     server.port: 5601  

4.      

5.     server.host: "0.0.0.0"  

6.    elasticsearch.url: "http://localhost:9200"  

若不需要外网访问,则server.host设置为localhost,server.port为对外的访问端口

bin/kibana 启动,访问 ip:5601进行 kibana界面。

 

Management 设置, 里index patterns里新增我们要查询的index,create index

applog-*,查询所有的applog-*的索引,


然后在discover里可以进行查询,下面标识一些简单的操作,

1.查询需要显示的索引,对应的结果会在右边给实时显示出来

2,除开默认显示的结果,我们可以新增需要显示的结果,点击add按钮进行 字段的新增显示。(这个字段是咱们logback自定义添加的字段)

3,根据5中的时间段来显示对应的时间范围内的结果集

4,自动刷新最新时间的设置,默认不开始

6,点击可以进行排序

 

其余操作请参考 kibana 5.x 中文操作文档。

http://cwiki.apachecn.org/pages/viewpage.action?pageId=8159377

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值