ELK之nginx日志使用json格式输出

Posted minseo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK之nginx日志使用json格式输出相关的知识,希望对你有一定的参考价值。

json  nginx默认日志输出格式为文本非json格式,修改配置文件即可输出json格式便于收集以及绘图

  修改nginx配置文件添加配置,增加一个json输出格式的日志格式

log_format access_log_json \'{"user_ip":"$http_x_forwarded_for","lan_ip":"$remote_addr","log_time":"$time_iso8601","user_rqp":"$request","http_code":"$status","body_bytes_sent":"$body_bytes_sent","req_time":"$request_time","user_ua":"$http_user_agent"}\';

  日志输出格式为

  配置logstash文件先标准输出查看效果

input{
    file{
        path => "/data/logs/nginx/http-access.log"
        codec => "json"
}
}

filter{

}

output{
    stdout{
        codec =>rubydebug
    }
}
~                                                                                           
~                                 

  启动/usr/share/logstash/bin/logstash -f nginx.conf

  在web页面访问nginx查看输出,输出为json格式

  然后再输出至elasticsearch即可

 

 

以上是关于ELK之nginx日志使用json格式输出的主要内容,如果未能解决你的问题,请参考以下文章

ELK之filebeat收集多日志并自定义索引

ELK之收集tomcat访问日志

ELK学习实验014:Nginx日志JSON格式收集

71-日志分析系统ELK-Logstash过滤Filesbeat数据及ELK日志采集生产案例

slf4j-logback 日志以json格式导入ELK

ELK总结——第三篇Logstash监控Nginx日志存入redis,实现服务解耦