win 端 Nginx 如何统计流量?
目前公司开发一个程序,需要特定场景启 ngixn,windows 端的 nginix 貌似没有选项控制台输出吧,也没有流量统计的选项。从 access log 里面下手的话,也是一些 header 信息。。。感觉不好下手啊,求大佬解答。
目前公司开发一个程序,需要特定场景启 ngixn,windows 端的 nginix 貌似没有选项控制台输出吧,也没有流量统计的选项。从 access log 里面下手的话,也是一些 header 信息。。。感觉不好下手啊,求大佬解答。
用 OpenResty 可以在日志阶段统计任何东西,包括请求和响应的信息。
用 Nginx 自身的 mirror 可以把请求镜像发送到另一个地址,但这样就统计不到响应信息,跟 rewrite 一起配置的时候也麻烦。
log_format main escape=json ‘{“timestamp”:”$time_iso8601″,’
‘”server_addr”:”$server_addr”,’
‘”server_port”:”$server_port”,’
‘”host”:”$host”,’
‘”hostname”:”$hostname”,’
‘”client_addr”:”$remote_addr”,’
‘”client_port”:”$remote_port”,’
‘”server_name”:”$server_name”,’
‘”request_uri”:”$request_uri”,’
‘”uri”:”$uri”,’
‘”https”:”$https”,’
‘”x_forwarded_for”:”$http_x_forwarded_for”,’
‘”scheme”:”$scheme”,’
‘”request_method”:”$request_method”,’
‘”args”:”$args”,’
‘”referer”:”$http_referer”,’
‘”http_user_agent”:”$http_user_agent”,’
‘”request_length”:$request_length,’
‘”content_length”:”$content_length”,’
‘”content_type”:”$content_type”,’
‘”body_bytes_sent”:$body_bytes_sent,’
‘”bytes_sent”:$bytes_sent,’
‘”request_time”:$request_time,’
‘”status”:$status,’
‘”upstream_status”: “$upstream_status”,’
‘”upstream_addr”:”$upstream_addr”,’
‘”upstream_time”:”$upstream_response_time”,’
‘”upstream_cache_status”:”$upstream_cache_status”‘
‘}’;