EFLK四组件日志收集 ELK filebeat

日志文件——>fileBeat收集——>logStash清洗——>进入ES——>kibana可视化查询

一。filebeat和logstash的区别

相同点:
	都可以做日志收集

不同点:
    语言:logstash是JVM,filebeat是golang
	轻量级:logstash资源消耗比较大,filebeat更轻量级
	过滤:logstash能进行日志过滤
	filebeat可以把数据传输给logstash进行数据过滤处理,称为背压机制

二。filebeat

1.简介
	FileBeat是用于收集日志数据和转发的轻量级采集工具。
	FileBeat监视指定路径的日志文件,收集日志数据,并将收集到的日志转发到ElasticSearch或者LogStash

2.下载安装
    下载地址:https://www.elastic.co/cn/downloads(与ELK版本保持一致),解压zip文件


3.示例:fileBeat收集日志文件,然后直接传输到es或者logStash或者kafka护着其他

    a.在fileBeat的安装目录创建配置文件filebeat_test.yml
    b.编辑创建的配置文件filebeat_test.yml,指定输入和输出
    	filebeat.inputs:
			- type: log
			  enabled: true
			  paths: 
			     - D:\elk\testLogs\server.*				            		             
		
		output.elasticsearch:  (fileBeat默认会将日志数据放到es中名称为 filebeat-%filebeat版本号%-yyyy.MM.dd-000001的索引中)
		    hosts: ["localhost:9200"]	   
		
		
	c.运行es
	d.以刚刚创建的配置文件filebeat.test.yml运行fileBeat
		linux: ./filebeat -c filebeat_test.yml -e 
		windows:安装目录下打开CMD,敲命令: filebeat -c filebeat_test.yml -e 
		                                          -c 指定配置文件      -e显示日志信息     
    e.测试:浏览器访问 http://localhost:9200/_cat/indices?v,出现索引库 filebeat-7.12.0-2021.10.03-000001


4.背压机制
    fileBeat收集日志文件传给logStash
    如果logStash感觉fileBeat收的太快了,fileBeat就会感知到然后减慢收集的速度
    如果logStash感觉fileBeat收的太慢了,fileBeat也会感知到然后加快收集的速度	 
输出到es
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/kafka/log/server.log.*

output.elasticsearch:
    hosts: ["192.168.21.130:9200", "192.168.21.131:9200", "192.168.21.132:9200"]


输出到logstash
filebeat.inputs:
 - type: log
   enabled: true
   paths: 
     - D:\idea\project\yongfu\substationserver\target\.logs\*
   multiline.pattern: '^\\d+\\.\\d+\\.\\d+\\.\\d+ '       //正则表达式 ,这个正则表示ip地址 
   multiline.negate: false                               //true或者false,默认false,ture表示匹配正则,反正不匹配
   multiline.match: after                                //after 或 before,合并到上一行的末尾或开头	              

output.logstash:
   enabled: true
   hosts: ["localhost:5044"]

三。logstash

1.下载安装
	下载地址:https://www.elastic.co/cn/downloads
	解压即完成安装

2.运行测试:
	linux:bin logstash -e 'input ( stdin ( ) ) output ( stdout () )'
	      bin/logstash ‐f config/filebeat‐elasticSearch.conf ‐‐config.reload.automatic
	windows: 双击logstash.bat

logStash配置文件格式
	//input表示要接收的数据
	input {
	}
	//对接收的数据进行过滤处理
	filter {
	}
	//表示将数据输出到其他位置
	output {
	}

四。EFLK——fileBeat整合ELK(logStash,ES,Kibana)实战


流程:日志文件——>fileBeat收集——>logStash清洗——>进入ES——>kibana可视化查询
1、下载安装并启动ES和kibana 见:https://blog.csdn.net/weixin_44635157/article/details/114983268

	
2、下载fileBeat并解压,在安装目录下编写fileBeat配置文件 filebeat_fromTxt_toEs.yml

 	filebeat.inputs:
	  - type: log
	    enabled: true
	    paths: 
	      - D:\idea\project\yongfu\substationserver\target\.logs\*
	    multiline.pattern: '^\\d+\\.\\d+\\.\\d+\\.\\d+ '       //正则表达式 ,这个正则表示ip地址 
	    multiline.negate: false                               //true或者false,默认false,ture表示匹配正则,反正不匹配
	    multiline.match: after                                //after 或 before,合并到上一行的末尾或开头	              
	output.logstash:
	    enabled: true
	    hosts: ["localhost:5044"]
	
	/**
		上面的表示以ip地址开头的行追加到上一行末尾,下面的表示不以时间格式开头的行追加到上一行末尾
		multiline.pattern:^[0‐2][0‐9]:[0‐5][0‐9]:[0‐5][0‐9]
		multiline.negate:true
		multiline.match:after
	*/
 2.启动fileBeat: filebeat -c filebeat_fromTxt_toLogstash.yml   -e 
	

 3.配置logStash配置文件 logStash_fromFileBeat_toEs
     input { 
		 beats{
		    port => 5044
		  }
		}

	output {                //日志信息输出到es
		  elasticsearch{
		     hosts => [ "localhost:9200"] 
		     index => "索引库名字:mva_web_log_%{+YYYY-MM}"	
		  }
	}
		
	stdout {                     //日志信息也打印在控制台
	  	codec => rubydebug
	}

 4.启动logStash

你可能感兴趣的:(java,java)