在生产过程中碰到个问题
版本es 651 filebeat 641
修改nginx模板 提取nginx 日志中的cookie
"grok": {
"field": "message",
"patterns":[
"\"?%{IPV4:nginx.access.remote_ip_list} - %{DATA:nginx.access.user_name} \\[%{HTTPDATE:nginx.access.time}\\] \"%{GREEDYDATA:nginx.access.info}\" %{NUMBER:nginx.access.response_code} %{NUMBER:nginx.access.body_sent.bytes} \"%{DATA:nginx.access.referrer}\" \"%{DATA:nginx.access.agent}\" \"%{DATA:nginx.access.cookie}\" \"%{DATA:nginx.access.request_body}\""
首先提取了 cookie字段,没问题
"grok": {
"field": "nginx.access.cookie",
"patterns": [
"email=%{EMAILADDRESS:nginx.access.client}",
""
],
"ignore_missing": true
然后从 cookie字段中提取email地址
但是发现当cookie字段格式如下时
email=cloris@ucan.com; token=ecc47f17abc040928c3c89c1f31a73a4; lang=en-US
是没问题的,但是如果email字段在中间 就提取不到信息
如:
token=ecc47f17abc040928c3c89c1f31a73a4; email=cloris@ucan.com; lang=en-US
求指教
版本es 651 filebeat 641
修改nginx模板 提取nginx 日志中的cookie
"grok": {
"field": "message",
"patterns":[
"\"?%{IPV4:nginx.access.remote_ip_list} - %{DATA:nginx.access.user_name} \\[%{HTTPDATE:nginx.access.time}\\] \"%{GREEDYDATA:nginx.access.info}\" %{NUMBER:nginx.access.response_code} %{NUMBER:nginx.access.body_sent.bytes} \"%{DATA:nginx.access.referrer}\" \"%{DATA:nginx.access.agent}\" \"%{DATA:nginx.access.cookie}\" \"%{DATA:nginx.access.request_body}\""
首先提取了 cookie字段,没问题
"grok": {
"field": "nginx.access.cookie",
"patterns": [
"email=%{EMAILADDRESS:nginx.access.client}",
""
],
"ignore_missing": true
然后从 cookie字段中提取email地址
但是发现当cookie字段格式如下时
email=cloris@ucan.com; token=ecc47f17abc040928c3c89c1f31a73a4; lang=en-US
是没问题的,但是如果email字段在中间 就提取不到信息
如:
token=ecc47f17abc040928c3c89c1f31a73a4; email=cloris@ucan.com; lang=en-US
求指教
1 个回复
rochy - rochy_he
赞同来自:
第一个 gork 里面不去匹配 email
第二个只匹配 email