Logstash
概述
Logstash
是一个用ruby
开发的开源工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。Logstash
在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道链。Logstash
提供了多种多样的input
,filters
,codecs
和output
组件,让使用者轻松实现强大的功能。
Logstash安装
tar -zxvf logstash-5.4.1.tar.gz
mv logstash-5.4.1 /usr/local/logstash/
#测试
./bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
./bin/logstash -f test.conf #配置文件启动
核心配置之
input output
- client 日志生产服务器client.conf
input {
file {
path => "/var/log/aliyun-util.log"
start_position => beginning
}
}
output {
stdout { codec => rubydebug }
}
2.Syslog系统日志之Syslog.conf
input {
tcp {
port => 5000
type => syslog
}
udp {
port => 5000
type => syslog
}
}
output {
elasticsearch {
host => localhost:9200
}
stdout { codec => rubydebug }
}
在`windows`打开`cmd` telnet localhost 5000 访问端口
核心配置之
filters
filters
是一个行处理机制将提供的为格式化的数据整理成你需要的数据,让我们看看下面的一个例子,叫grok filter
的过滤器。filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
filter {
if [path] =~ "access" {
mutate { replace => { type => "apache_access" } }
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
} else if [path] =~ "error" {
mutate { replace => { type => "apache_error" } }
} else {
mutate { replace => { type => "random_logs" } }
}
}
Beats代理
【Logstash】?
Beats
是elasticsearch
公司开源的一款采集系统监控数据的代理agent。官方推荐用Beats
来进行监控,然后推送给logstash
,或者直接推送给elasticsearch
- Filebeat用于监控、收集服务器日志文件,其已取代 logstash forwarder
tar -zxvf filebeat-5.4.1-linux-x86_64.tar.gz
mv filebeat-5.4.1-linux-x86_64 /usr/local/filebeat/
vim filebeat.yml
filebeat.prospectors:
input_type: log
C:/Java Work/My-SpringBoot-Learning/log_mongoDB/*.log
output.elasticsearch:
推荐阅读
- 深入理解Go之generate
- Flutter自定义view|Flutter自定义view —— 闯关进度条
- 2018年|2018年 Bible study 01/02/2018
- #读书笔记#流量池Day|#读书笔记#流量池Day 1 文沫
- Spring|Spring Cloud Feign组件
- 水泵使用情况概述
- 《社会心理学》----|《社会心理学》---- 第一讲,社会心理学概述1
- Java|Java NIO系列教程(一) Java NIO 概述
- 接口
- Spring-AOP基础