nginx日志输出配置json格式
#### 前言
存在日志更易读的需求,需要对日志进行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日志格式
- 点赞
- 收藏
- 分享
- 文章举报
- Nginx - JSON日志格式配置
- nginx中用JSON格式记录日志的配置示例
- nginx日志输出json格式
- SpringBoot-logback配置输出Json格式日志
- elk-nginx输出json格式的日志
- HAproxy Json日志格式配置
- Nginx和Apache配置日志格式记录Cookie
- nginx日志格式及自定义日志配置
- Haproxy Json日志格式配置
- postgresql数据库配置csv格式日志输出
- nginx日志格式及自定义日志配置
- nginx日志格式及自定义日志配置
- 关于通过nginx配置到apache-tomcat-7.0.67的端口的时候access中打印访问日志会一直输出nginx的地址而不是用户的真实地址
- 05 - logstash 收集nginx的json格式日志
- nginx访问日志格式配置
- nginx日志切割,日志格式,静态文件不记录日志,配置缓存
- Nginx 日志改成 JSON 格式的方法
- 修改CDH进程NN、DN日志输出为JSON格式
- python 日志输出格式配置