日志收集

我们公司要实现一个log的收集,实现方便查找的功能,用到了ElasticSearch  Logstash Kibana filebeat来实现,使用的工具和具体功能如下(在我的业务实现中):

 

            ElasticSearch(负责数据检索,和类似于数据存储的作用 端口:9200)、Logstash(负责将filebeat中的数据格式分割改成我们要看到的样子 端口:5044)、Kibana(负责数据展示,类似于可视化工具 端口:5601)filebeat(将业务服务中的log收集起来) 、 project(业务服务,我们的项目)

1,project中需要做的事情:

在logback-spring.xml 中确定log保存的路径

 <property name="log.path" value="/usr/software/log_test/logs" />

在conversionRule中添加你需要的数据(在我的业务中此IP用来区分服务器),别忘了根据conversionRule修改日志输出格式中的pattern

<conversionRule conversionWord="ip" converterClass="com.xx.payment.commons.utils.IpUtil"/>

最重要的是你创建的log中info 或者error最好格式完全一样后边需要配置格式信息创建索引,格式非常严谨 , 注意你的空格 和 - 符合。

  <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %ip %logger{50} - %msg%n</pattern>

2filebeat 要做的事情

将 filebeat安装在此项目的服务器上(自己取网上找下载地址)

安装好后修改filebeat.yml的配置信息 ,将path路径修改成你的log保存地址,将filetype命名为我们能分出哪个项目的名字,有可能会配置多个项目,将hosts 修改为指向Logstash 的端口(ElasticSearch Logstash Kibana 在一台服务器上)IP修改为安装此ELK的电脑IP

 paths:
     - /usr/software/lfpayment_log_test/logs/log_info.log


   filetype: payment


   hosts: ["xx.xx.xx.xxx:5044"]

3,logstash中要做的事情

安装完成后修改logstaash.conf文件修改filter{}中[filetype] == "payment" 此名为您在filebeat中命名的 grok 设置的格式为你在项目中统一的格式所对应的格式信息,可以帮助你进行验证的网页工具(在线Grok Debug工具,Grok校验|调试 (5axxw.com))帮你校验出你的格式和你的log信息是否能分割成我们想在kibana中看到的信息格式,

在output中修改filetype 和filter中相同,hosts中修改的端口对应着创建索引的ElasticSearch的端口 ,index是你项目中的log名 后边的yyyymmdd为每天log的格式, beats中的port为logstash的端口

input {
	beats {
		port => 5044
	}
}


 if [filetype] == "payment"{
		grok {
			match => { "message" => "%{TIMESTAMP_ISO8601:date} %{DATA:systemmessage} %{LOGLEVEL:level}  %{IP:ip} %{DATA:package} - %{DATA:msgid} %{DATA:url} %{GREEDYDATA:logmsg}" }
		}
	}


 if [filetype] == "payment"{
		elasticsearch {
			hosts => "xx.xx.xx.xx:9200"
			index => "payment-info-%{+YYYY.MM.dd}"
		}
	}

4,ElasticSearch Logstash Kibana 中的相关安装以及配置请去网上自行查找吧

总结:

看完了别忘了点个赞呦 ^v^ !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值