ELK漫漫之路

logstash细碎知识点

2018-07-19  本文已影响0人  续哥儿

logstash可以读取一个目录下所有的配置文件
通过/bin/logstash -f /etc/logstash.d/ 这种方式去读取logstash.d目录下面的所有文件
这里有个坑:把所有文件拼成一个文件去执行,然后logstash通过字母排序或者数字排序去读取,这样真的合适吗?当然选择分布式 多起几个logstash,当然还要看业务场景。
-t, --config.test_and_exit Check configuration for valid syntax and then exit.测试语法
-l, --path.logs PATH 定义日志存储位置
logstash使用的线程数量默认是CPU核数 当然也可以指定
更多参数用 help查询~~
支持通过yaml文件去配置设置文件:附上链接
https://www.elastic.co/guide/en/logstash/current/logstash-settings-file.html

安装插件
bin/logstash-plugin install xxxxx 更新请用update 替换install
overwrite=>["message"] grok中用来过滤后重写message
#######################高级用法(个人认为重要)####################

filter {
    grok {
         match => [
            "message" , "%{DATA:hostname}\|%{DATA:tag}\|%{DATA:types}\|%{DATA:uid}\|%{GREEDYDATA:msg}",
            "message" , "%{DATA:hostname}\|%{DATA:tag}\|%{GREEDYDATA:msg}"
         ]
        remove_field => ['type','_id','input_type','tags','message','beat','offset']
    }
}

可以多个正则放在列表里面,直到匹配成功为止(kibana上有grok debugger 可以调试)
使用mutate+gsub来去除和替换一些字段
mutate { gsub => [ "message", "\\n", "\n\r" ] }
mutate 中lowercase参数可以把字段内容全部替换成小写
logstash配置中的batch_count 起到redis批量推送的作用,提高性能。

上一篇下一篇

猜你喜欢

热点阅读