nginx采集post请求日志

解决问题

    1:业务系统以post方式上发请求日志,需要对日志进行采集分析;

解决方法:

    1:可以安装 openresty 版本nginx;
    2:可以使用官方nginx版本编译lua模块;

nginx 版本:

nginx -v
nginx version: openresty/1.13.6.2
配置案例
 日志配置
log_format post_format ‘$time_iso8601\t$remote_addr\t$http_user_agent\t$request\t$request_body\t$request_time\t$upstream_addr\t$upstream_response_time\t$http_x_forwarded_for‘;
vs 配置

server {
        listen       443;
        server_name  app.kjh.cn;
        ssl  on;
        ssl_certificate  /usr/local/openresty/ssl.crt;
        ssl_certificate_key  /usr/local/openresty/ssl.key;
        ssl_prefer_server_ciphers on;
        ssl_dhparam /usr/local/openrestydh4096.pem;
        client_max_body_size     6m;
        client_body_buffer_size  256k;
        location / {

        access_log /usr/local/openresty/nginx/logs/post.log post_format;

            lua_need_request_body on;
            content_by_lua ‘
                ngx.header.content_type = "text/html";
                ngx.say("ok")
                ngx.req.read_body()
            ‘;
        }
}

原文地址:http://blog.51cto.com/michaelkang/2164846

时间: 2024-11-25 16:54:59

nginx采集post请求日志的相关文章

nginx访问、错误日志详解

1.日志简介 nginx日志主要有两种:访问日志和错误日志.访问日志主要记录客户端访问nginx的每一个请求,格式可以自定义:错误日志主要记录客户端访问nginx出错时的日志,格式不支持自定义.两种日志都可以选择性关闭. 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 2.访问日志 [Access.log] log_format  main  

用nginx指定访问tomcat日志

老大让我在nginx+tomcat的环境中满足以下需求: nginx指向某个页面,此页面内容包含了tomcat服务器中的各种日志文件 点击某日志文件后,即可显示该日志文件的内容 操作前的准备 安装并搭建好nginx,tomcat 一日志文件 我们知道,tomcat的日志文件在/tomcat/logs目录下 ls catalina.2016-03-04.log  host-manager.2016-03-04.log  localhost.2016-03-05.log           loca

【Nginx】HTTP请求的11个处理阶段

Nginx将一个HTTP请求分成多个阶段,以模块为单位进行处理.这样做的好处是使处理过程更加灵活.降低耦合度.HTTP框架将处理分成了11个阶段,各个阶段以流水线的方式处理请求.这11个HTTP阶段如下所示: typedef enum { NGX_HTTP_POST_READ_PHASE = 0, // 接收到完整的HTTP头部后处理的阶段 NGX_HTTP_SERVER_REWRITE_PHASE, // URI与location匹配前,修改URI的阶段,用于重定向 NGX_HTTP_FIND

实现webservice过滤器,请求日志和权限等

过滤webservice的请求日志,做权限验证功能等. 1. namespace WebApplication1 { public class SimpleWSInvokeMonitorExtension : SoapExtension { Stopwatch stopWatch = null; string startLoginfo = ""; public override Stream ChainStream(Stream stream) { return stream; } p

Nginx 基本配置和日志分析

最近在维护的一个项目,路由转发规则都统一通过Nginx转发,所以再次参考部分博文和书本,熟悉Nginx的基本配置,还有一个重点也是日志的分析 Nginx 常用模块是server块,location块. 常用的location块配置: 语法规则: location [=|~|~*|^~] /uri/ { … } = 表示精确匹配,这个优先级也是最高的 ^~ 表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~

NGINX配置之一:日志篇

打开nginx.conf配置文件: vi /usr/local/nginx/conf/nginx.conf 日志部分内容: 日志生成的到Nginx根目录logs/access.log文件,默认使用“main”日志格式,也可以自定义格式. #access_log logs/access.log main; 默认“main”日志格式: 参数明细表: $remote_addr 客户端的ip地址(代理服务器,显示代理服务ip) $remote_user 用于记录远程客户端的用户名称(一般为“-”) $t

graylog2采集mysql慢日志

之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解. 从日志收集这个角度,graylog提供了多样性和灵活性,大家可以根据自身场景选择适合自己的一种. 这次要跟大家聊的是如何通过graylog采集mysql慢日志.mysql慢日志的特点就是多行输出,不是那种一行就是一条日志的那种打印方式. 出了采集,我这边还要介绍一下如何通过graylog把慢日志相应的字段提取出来,方便我们进行分析,进而用grafana做成

Koa 请求日志打点工具

前一段时间开始搞优化后端 API 性能的事,发现根本无从下手,Kibana 中虽然有记一些简陋且零散的日志,但也瞅不出啥眉目来.总结了下是日志太少了,所以决定先搞搞日志的事,目标是记录 API 请求相关的日志,找出哪个接口慢,最好具体到哪个函数慢. 记日志必然要涉及日志打点,怎么做日志打点是个问题.如果直接在代码中插入日志打点代码不仅侵入性强而且工作量大,也不够灵活,于是考虑如何做智能的自动打点.我们石墨后端使用的 bay 框架(基于 [email protected] 二次开发,基本上你可以认

NGINX按天切割日志

NGINX按天切割日志 偶然发现access.log有46G大,所以将其切割. Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割. 在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本+crontab 命令能非常方便地进行切割,操作