Nginx access_log日誌添加返回字段

主要爲方便單用戶請求日誌回溯分析   記錄用戶標記。 將用戶信息打印在access_log 日誌裏。html

步驟:nginx

一、重寫nginx 的log格式spa

     通常是地址是  /etc/nginx/conf.d/nginx_log_format.conf 日誌

     自定義須要記錄的字段code

     相關官方信息:orm

$upstream_http_nameserver

keep server response header fields. For example, the 「Server」 response header field is available through the $upstream_http_server variable. The rules of converting header field names to variable names are the same as for the variables that start with the 「$http_」 prefix. Only the header fields from the response of the last server are saved.htm

 

log_format logstash '{ "http_host": "$http_host", "source_addr": "$http_x_forwarded_for", "http_code": "$status",  "bytes_sent": "$bytes_sent" , "hostname": "$hostname" , "player_id":"$upstream_http_player_id"

 這裏我加的是player_id  blog

 

二、 在代碼中設置 http response 的 header 值utf-8

以PHP 爲例 :

header("player_id: xxxx ");

 

 三、最後將格式配置到對應的server  access_log 中。

server {
    listen  80; server_name xxxxx; charset utf-8; root "xxxxx"; access_log /data/log/nginx/alice.access.log logstash; error_log /data/log/nginx/alice.error.log; }

 效果:

 

這樣咱們就能在access_log 日誌中記錄玩家信息。  將日誌同步到ES 中。咱們就能更好的統計用戶信息。 

相關文章
相關標籤/搜索