【日志审计】Ngnix日志filter记录

Nginx日志配置

1、修改Nginx配置/usr/local/nginx/conf/nginx.conf文件,确定要记录的日志。

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" $http_host $uri ';

    access_log  logs/access.log  main;

参考文章:

1、nginx日志输出配置json格式
	https://blog.csdn.net/zx77588023/article/details/123079087
2、Logstash配置Nginx日志分析
	https://www.zhihu.com/tardis/bd/art/406543347?source_id=1001
3、grok语法定义
	https://www.cnblogs.com/zhangan/p/11395056.html
4、使用logstash-input-kafka消费信息并根据topic写入不同的es索引
	https://code84.com/772385.html
5、Logstash解析嵌套JSON格式数据&常见时间操作
	https://blog.csdn.net/XMZHSY/article/details/121550687
Sample Data
10.172.192.20 - - [13/Jun/2023:13:34:54 +0800] "GET /1 HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" 172.32.10.17 /1 
Grok Pattern
%{IP:remote_addr} - %{DATA:remote_user} \[%{HTTPDATE:request_time}\] \"%{WORD:request_method} %{URIPATHPARAM:url_args} %{URIPROTO:protocol}/%{DATA:treaty}\" %{NUMBER:status} %{NUMBER:body_sent_bytes} \"%{DATA:http_referer}\" \"%{DATA:http_user_agent}\" \"%{DATA:X_Forwarded_For}\" %{DATA:host} %{URIPATH:uri}
Structured Data
{
  "remote_addr": "10.172.192.20",
  "request_method": "GET",
  "uri": "/1",
  "url_args": "/1",
  "http_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
  "remote_user": "-",
  "protocol": "HTTP",
  "request_time": "13/Jun/2023:13:34:54 +0800",
  "http_referer": "-",
  "treaty": "1.1",
  "body_sent_bytes": "555",
  "host": "172.32.10.17",
  "X_Forwarded_For": "-",
  "status": "404"
}

Sample Data
2023/06/14 15:05:50 [error] 10446#0: *117 open() "/usr/local/nginx/html/123" failed (2: No such file or directory), client: 10.172.192.20, server: localhost, request: "GET /123 HTTP/1.1", host: "172.32.10.17"
Grok Pattern
%{DATA:error_time} \[%{DATA:error_type}\] %{DATA:error_info}, client: %{DATA:client}, server: %{DATA:server}, request: \"%{DATA:request}\", host: \"%{DATA:host}\"
Structured Data
{
  "server": "localhost",
  "request": "\"GET /123 HTTP/1.1\"",
  "error_time": "2023/06/14 15:05:50",
  "error_info": "10446#0: *117 open() \"/usr/local/nginx/html/123\" failed (2: No such file or directory)",
  "error_type": "error",
  "host": "172.32.10.17",
  "client": "10.172.192.20"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值