nginx日志输出自定义header头字段

这段时间做了一个web的项目,要求在日志中输出自定义的http header字段token和have-deleted的值,

nginx版本为1.1.19,以下是具体的log配置:

log_format  main      ‘$remote_addr - $remote_user [$time_local] $http_token 
                      $http_have_deleted "$request" ‘
                      ‘$status $request_time $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

通过配置可以看出,可在自定义header字段前加http_,即可将指定的自定义header字段打印到log中。

像have-deleted这种带横线的字段,需要写成have_deleted,nginx会自动做处理的。

有一点需要注意:我的nginx版本是1.1.19!!!

我写这篇博客的时候,nginx最新版本是1.9.7,根据官方文档说明,要想打印自定义的header字段,需要在字段前加sent_http_,所以一定要注意nginx的版本!!

最后附上nginx1.9.7的文档:

http://nginx.org/en/docs/http/ngx_http_log_module.html

时间: 2024-10-24 18:36:45

nginx日志输出自定义header头字段的相关文章

nginx反向代理proxy_set_header自定义header头无效的问题

###案例1环境nginx,linux,tomcat域名访问是走nginx给后端服务器处理的,问题是域名经过nginx访问直接不能获取到headers,直接tomcat访问可以那么问题肯定在nginx上无法处理headers的问题了, 经过查询上面资料得到是nginx的锅,hearders有下划线的锅,nginx设置underscores_in_headers on,参照上面配置说.就可以处理,测试:http://apistore.baidu.com/astore/toolshttpproxyA

nginx日志配置(cookie,header,post等字段记录)

如果你对nginx日志格式,有这样那样的要求. 那么就看一下说明吧. $remote_addr The remote host $remote_user The authenticated user (if any) $time_local The time of the access $request The first line of the request $status The status of the request $body_bytes_sent The size of the

nginx缓存和自定义header

proxy_cache:nginx缓存模块,用于设置nginx的缓存功能 nginx缓存原理: nginx的缓存文件是根据key:value进行存储的,key直接存储在内存中,value指向本地文件系统目录,这个目录最多支持三级子目录 proxy_cache_path #用于设置nginx缓存的相关属性,只能出现在http段 例:proxy_cache_path  /nginx/cache1  levels=1:2 keys_zone=cache1:100m inactive=1d max_si

ELK系统分析nginx日志

ELK系统在安装完成后需要处理相关的日志文件,本文主要对nginx日志文件进行处理并进行可视化操作,来满足日常的业务需求,长话短说,接下来介绍我的环境 具体的网络拓扑图如下: 具体配置如下: server OS Version IP 备注 logstash  CentOS release 6.4 (Final) logstash 2.2.2 192.168.180.2 logstash客户端用来收集日志 elasticsearch CentOS release 6.4 (Final) elast

使用awstats分析nginx日志

1.awstats介绍 本文主要是记录centos6.5下安装配置awstats,并统计nginx访问日志 1.1 awstats介绍 awstats是一款日志统计工具,它使用Perl语言编写,可统计的日志类型包括appache,nginx,ftp,mail等,awstats对nginx日志统计非常详细,如统计项 按参观时间:  按月历史统计   按日期统计   按星期   每小时浏览次数 按参观者:  国家或地区   城市   IP   最近参观日期   无法反解译的IP地址   搜索引擎网站

ELK对nginx日志进行流量监控

ELK对nginx日志进行流量监控 一.前言 线上有一套ELK单机版,版本为5.2.1.现在想把nginx访问日志接入到elk里,进行各个域名使用流量带宽的统计分析.要把nginx日志传输到elk上,可以在存有nginx日志的服务器上使用logstash或者filebeat.但是因为logstash是jvm跑的,资源消耗比较大,启动一个logstash就需要消耗500M左右的内存(这就是为什么logstash启动特别慢的原因),而filebeat只需要10来M内存资源,所以最终决定使用fileb

Nginx 日志记录post数据,并使用goaccess进行日志分析

nginx日志默认不会记录post数据 在nginx配置文件的http节 log_format 日志格式标识 [escape=json] 日志格式 比如:日志格式标识设置为main,添加escape=json以便中文正确显示(注意,escape=json 需要 nginx 1.11.8 以上版本才支持),记录post和cookie的请求的相信信息 log_format main escape=json '$remote_addr [$time_local] "$request" $st

利用 ELK系统分析Nginx日志并对数据进行可视化展示

一.写在前面 结合之前写的一篇文章:Centos7 之安装Logstash ELK stack 日志管理系统,上篇文章主要讲了监控软件的作用以及部署方法.而这篇文章介绍的是单独监控nginx 日志分析再进行可视化图形展示,并在用户前端使用nginx 来代理kibana的请求响应,访问权限方面暂时使用HTTP 基本认证加密用户登录.(关于elk权限控制,我所了解的还有一种方式-Shield),等以后有时间了去搞下.下面开始正文吧... 注意:环境默认和上一篇大致一样,默认安装好了E.L.K.3个软

48.Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间

一.Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format combined_realip //规则名字 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 vim /usr/local/nginx/conf/vhost/test.com.conf 添加 access_log /tmp/1.log combined_realip; 这里的combined_realip就是在nginx.