zoukankan      html  css  js  c++  java
  • 修改nginx日志格式为json

    Nginx 日志默认为普通文本的格式

    100.116.122.100 - - [25/Oct/2018:13:53:45 +0800] "GET /css/bootstrap.css HTTP/1.1" 404 532 "https://boss.zbt.com/finance/partner/create-account-gateway?id=529460523813568512" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36" "220.191.185.22"

    为了便于利用 Elastic Stack 日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式。

    {"@timestamp": "29/Nov/2018:14:37:45 +0800","user_ip":"-","lan_ip":"100.116.111.202","log_time":"2018-11-29T14:37:45+08:00","user_req":"HEAD / HTTP/1.0","http_code":"200","body_bytes_sents":"0","req_time":"0.121","user_ua":"-"}

    修改 nginx.conf 文件, /etc/nginx/nginx.conf

    修改http模块为如下

    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for" '
                                              '$http_host '
                          ' $upstream_response_time  $request_time  $upstream_addr $geoip_country_code';
        log_format  log_json  '{"@timestamp": "$time_local","user_ip":"$http_x_real_ip","lan_ip":"$remote_addr","log_time":"$time_iso8601","user_req":"$request","http_code":"$status","body_bytes_sents":"$body_bytes_sent","req_time":"$request_time","user_ua":"$http_user_agent"}';   
         access_log  /var/log/nginx/access.log  log_json;

    有些server单独设置了log的,需要在log后面添加 log_json格式

    测试

    nginx  -t

    重启

    nginx  -s reload

  • 相关阅读:
    NSClassFromString,NSSelectorFromString,isKingOfClass
    [ios2]10大iOS开发者最喜爱的类库
    [ios2]iphone编程中使用封装的NSLog来打印调试信息 【转】
    [ios2]蓝牙通信【转】
    [ios] Xcode使用设置相关-快捷键【转】
    iOS图片设置圆角
    iOS 时间戳转时间
    iOS 时间转时间戳
    iOS loading等待图
    iOS简便写法
  • 原文地址:https://www.cnblogs.com/xiaoyou2018/p/10045087.html
Copyright © 2011-2022 走看看