ELK logstash json对你的nginx进行解码

网友投稿 244 2022-11-02


ELK logstash json对你的nginx进行解码

收集Nginx访问日志

将Nginx访问日志格式改为JSON

log_format json '{ "@timestamp": "$time_iso8601", ''"remote_addr": "$remote_addr", ''"remote_user": "$remote_user", ''"body_bytes_sent": "$body_bytes_sent", ''"request_time": "$request_time", ''"status": "$status", ''"request_uri": "$request_uri", ''"request_method": "$request_method", ''""$''""$''""$access_log /var/log/nginx/access.log json;

Logstash再使用JSON过滤插件解析:

这里filebeat采集的就是json格式,不需要特殊配置filebeat,在logstash这里还要使用json插件

[root@localhost ~]# cat /etc/filebeat/filebeat.yml filebeat.inputs:- type: log enabled: true paths: - /var/log/nginx/*.log tags: ["nginx"] fields_under_root: true fields: project: microservice app: productoutput.logstash: hosts: ["192.168.179.102:5044"]

[root@localhost ~]# cat /usr/local/logstash/conf.d/test.confinput { beats { host => "0.0.0.0" port => 5044 }}filter { json { source => "message"} if [app] == "product" { mutate { add_field => { "[@metadata][target_index]" => "microservice-product-%{+YYYY.MM}" } }} else if [app] == "gateway" { mutate { add_field => { "[@metadata][target_index]" => "microservice-gateway-%{+YYYY.MM.dd}" } }} else { mutate { add_field => { "[@metadata][target_index]" => "unknown-%{+YYYY}" } } } }output { elasticsearch { hosts => "192.168.179.102:9200" index => "%{[@metadata][target_index]}" } }

现在就可以对日志的字段做可视化统计


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:sonarqube 扫描结果关联commitid
下一篇:Kubernetes ConfigMap对应用程序配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~