logstatsh 跟filebeat的作用差不多
收集处理日志,推送相关的地方
三、logstatsh的部署
3.1 logstatsh安装测试运行
下载logstash-7.13.2-linux-x86_64.tar.gz包,并解压,大小约344M
修改名字logstash-7.13.2为logstash
Logstash管道两个必需元素 input 和 output
input模块收集,选择filters(过滤),然后输出outputs(可以输出到屏幕或者elk集群存起来)
主文件:/usr/local/logstash/bin/logstash
进入logstash的安装主目录下执行
/usr/local/logstash/bin/logstash -e ' input { stdin { type => stdin } } output { stdout { codec => rubydebug } } '
速度由性能决定,性能好点的速度可能会快一点,所以耐心等待。
3.2 配置输入输出
创建一个任意文件,并写入,作为logstash的管道配置文件
vim /usr/local/logstash/config/first-pipeline.conf input { stdin { } } output { stdout { } }
配置文件语法测试
/usr/local/logstash/bin/logstash -f config/first-pipline.conf --config.test_and_exit
出现Configuration OK字样
/usr/local/logstash/bin/logstash -f config/first-pipline.conf
运行
3.3 Grok 过滤插件
grok过滤器插件,解析web日志
将非结构化日志数据解析为结构化和可查询的内容
摘取感兴趣的片段
详细参考grok文档
- 准备一个用于测试的日志
vim /var/log/httpd.log
没换机器,为避免冲突,删掉/usr/local/logstash/data/* rm -rf /usr/local/logstash/data/*
input {
file {
path => ["/var/log/httpd.log"]
start_position => "beginning"
}
}
filter {
grok {
match => {
"message" => "%{COMBINEDAPACHELOG}" }
}
mutate {
##重写字段,rename重命名名称,把clientip改成cip。想定义哪个字段改哪个
rename => {
"clientip" => "cip"
}
}
##删除字段remove_field,如message input_type @..等
mutate {
remove_field => ["message","input_type","@version","fields"] }
}
output {
stdout {
}
}