您的位置:首页 > 运维架构 > Nginx

nginx日志输出配置json格式

2020-04-22 17:12 232 查看

#### 前言

存在日志更易读的需求,需要对日志进行json格式输出,对接logstash到es的链路,如下以nginx日志进行示例

 

#### yum源安装nginx

```

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    # 针对于centos7系统

cat > /etc/yum.repos.d/nginx.repo <<- EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/\$basearch/
gpgcheck=0
enabled=1
EOF

yum clean all && yum repolist
yum -y install nginx

```

 

#### 日志json化配置

nginx的安装与配置,这里不再赘述

```

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # 定义日志json格式输出

    log_format json escape=json '{"@timestamp":"$time_iso8601",'
                '"@version":"1",'
                '"server_addr":"$server_addr",'
                '"remote_addr":"$remote_addr",'
                '"host":"$host",'
                '"uri":"$uri",'
                '"body_bytes_sent":$body_bytes_sent,'
                '"bytes_sent":$body_bytes_sent,'
                '"upstream_response_time":$upstream_response_time,'
                '"request":"$request",'
                '"request_length":$request_length,'
                '"request_time":$request_time,'
                '"status":"$status",'
                '"http_referer":"$http_referer",'
                '"http_x_forwarded_for":"$http_x_forwarded_for",'
                '"http_user_agent":"$http_user_agent"'
                '}';

    # access.log的日志输出以json格式打印

    access_log  /var/log/nginx/access.log  json;
#    access_log  /var/log/nginx/access.log  main;

```

 

#### 重新加载生效

> nginx -s reload

 

#### 测试

#### 访问nginx的网址

> curl localhost    # 本机服务器终端访问

 

##### 查看日志

 

注释: 红色字体即为处理后的json日志格式

  • 点赞
  • 收藏
  • 分享
  • 文章举报
devops_sre 发布了32 篇原创文章 · 获赞 0 · 访问量 361 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: