首页 新闻 搜索 专区 学院

[很急]access_log开启cookie的一个问题,用于ELK分析的问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2018-01-02 14:44

背景:

我公司业务情况,基本上都是一个IP有很多用户登陆。现在使用ELK分析日志,为了分辨具体的用户开启access_log里面的cookie,希望通过cookie来分析具体用户。

 

模块配置

<IfModule usertrack_module>
CookieExpires "1 weeks"
CookieStyle RFC2965
CookieName zuowenqi
CookieTracking on
</IfModule>

 

定义

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{COOKIE}n\"" combined

日志如下:

192.168.1.105 - - [19/Dec/2017:15:26:00 +0800] "GET /index.php HTTP/1.1" 200 51315 "http://192.168.1.180:8080/?
redirect_url=http%3A%2F%2F192.168.1.180%2Findex.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.
36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "aacd79a1.560ac60f35579"

 

定义:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{COOKIE}i\"" combined

日志如下:

192.168.1.105 - - [19/Dec/2017:15:11:00 +0800]
"GET /index.php HTTP/1.1" 200 51315
"http://192.168.1.180:8080/?redirect_url=http%3A%2F%2F192.168.1.180%2Findex.php"
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
"c8621872d2fd5bdf61f9aee06e80231e543b7d6a"
"%E4%B8%8A%E6%B5%B7%E6%96%B0%E5%AE%9E%E6%95%B0%E7%A0%81%E7%A7%91%E6%8A%80%E8%82%A1%E4%BB%BD%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8"

 

问题:

如果设置\"%{COOKIE}n\",打印出来的cookie简短,但是同一个用户好像几次访问打印的值都不同,无法分辨用户。

\"%设置{COOKIE}i\",日志很详细能明显分辨出用户,但是输出内容太多,需要预处理才能用ELK分析,这样导致无法做到实时分析。

所以请问:

1. \"%{COOKIE}n\"和\"%{COOKIE}i\"里面‘n’和‘i’具体什么意思。n打印出来的短格式如何分辨用户?

2. 如果只能用\"%{COOKIE}i\"来打印cookie,呢么如何用ELK直接处理?

友谅的主页 友谅 | 初学一级 | 园豆:169
提问于:2017-12-19 15:49
< >
分享
所有回答(3)
0

已经解决。

友谅 | 园豆:169 (初学一级) | 2017-12-19 16:24
0

我也遇到类似的问题,我通过nginx输出json格式日志,然后可以解决了,你看看可以我的配置

 1 log_format json '{"@timestamp":"$time_iso8601",'
 2                  '"host":"$server_addr",'
 3                  '"clientip":"$remote_addr",'
 4                  '"size":$body_bytes_sent,'
 5                  '"responsetime":$request_time,'
 6                  '"upstreamtime":"$upstream_response_time",'
 7                  '"upstreamhost":"$upstream_addr",'
 8                  '"http_host":"$host",'
 9                  '"url":"$uri",'
10                  '"referer":"$http_referer",'
11                  '"agent":"$http_user_agent",'
12          '"token":"$http_token",'
13                  '"status":"$status"}';
14    access_log  /var/log/nginx/access_json.log  json; 

 

自由早晚乱余生 | 园豆:226 (菜鸟二级) | 2017-12-19 16:27
0

http_token

半只毛毛虫 | 园豆:202 (菜鸟二级) | 2017-12-26 15:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册