Logstash解析Nginx访问日志
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Nginx日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
千家信息网最后更新 2025年12月02日Logstash解析Nginx访问日志
Nginx日志格式
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" "$request_time" "$upstream_response_time" $http_device $http_appversion $upstream_addr ' '$http_openudid $http_code $http_networkType "$http_deviceModel" "$http_osVersion"';解析格式为
%{IPORHOST:Client_IP} (%{WORD:ident}|-) (%{USERNAME:auth}|-) \[%{HTTPDATE:timestamp}\] "%{WORD:Http_Method} %{URIPATHPARAM:Http_Request} HTTP/%{NUMBER:Http_Version}" %{NUMBER:Http_Status_Code} (?:%{NUMBER:Http_Bytes}|-) (?:"(?:%{URI:Http_Referrer}|-)"|%{QS:Http_Referrer}) %{QS:User_Agent} "(%{QS:X_Forwarded_For}|-)" "(%{IPORHOST:Site}|-)" "(%{NUMBER:Request_Time}|-)" "(%{NUMBER:Upstream_Response_Time}|-)" (%{WORD:Device}|-) (%{USERNAME:App_Version}|-) (%{HOSTNAME:Upstream_Host}:%{POSINT:Upstram_Port}|-) (%{WORD:Openudid}|-) (%{WORD:Usercode}|-) (%{WORD:NetType}|-) "(%{GREEDYDATA:Device_Name}|-)" "(%{GREEDYDATA:System_Verion}|-)"logstash配置文件如下:
input { redis { data_type => "list" key => "filebeat:nginx-access" host => "redis" port => 6379 db => 0 # password => "123456" # codec => "json" }}filter { grok { match => { "message" => '%{IPORHOST:Client_IP} (%{WORD:ident}|-) (%{USERNAME:auth}|-) \[%{HTTPDATE:timestamp}\] "%{WORD:Http_Method} %{URIPATHPARAM:Http_Request} HTTP/%{NUMBER:Http_Version}" %{NUMBER:Http_Status_Code} (?:%{NUMBER:Http_Bytes}|-) (?:"(?:%{URI:Http_Referrer}|-)"|%{QS:Http_Referrer}) %{QS:User_Agent} "(%{QS:X_Forwarded_For}|-)" "(%{IPORHOST:Site}|-)" "(%{NUMBER:Request_Time}|-)" "(%{NUMBER:Upstream_Response_Time}|-)" (%{WORD:Device}|-) (%{USERNAME:App_Version}|-) (%{HOSTNAME:Upstream_Host}:%{POSINT:Upstram_Port}|-) (%{WORD:Openudid}|-) (%{WORD:Usercode}|-) (%{WORD:NetType}|-) "(%{GREEDYDATA:Device_Name}|-)" "(%{GREEDYDATA:System_Verion}|-)"' } } date { match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] } geoip { database => "/usr/share/logstash/geodb/GeoLite2-City.mmdb" source => "Client_IP" target => "geoip" fields => ["country_name","region_name", "city_name", "ip", "longitude", "latitude", "location"] add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ] add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ] } useragent { source => "User_Agent" target => "ua" } useragent { source => "User_Agent" target => "ua" } mutate { convert => [ "[geoip][coordinates]", "float" ] convert => [ "Http_Status_Code", "integer" ] convert => [ "Http_Bytes", "integer" ] convert => [ "Request_Time", "float" ] convert => [ "Upstream_Response_Time", "float" ] # split => ["Http_Request", "?"] # add_field => { "Http_URI" => "%{Http_Request[0]}" } remove_field => [ "message", "beat", "@version", "auth", "prospector", "source", "offset"] }}output { #stdout {codec => rubydebug} elasticsearch { hosts => ["elasticsearch:9200"] index => "nginx-access-%{+YYYY.MM.dd}" }}
格式
日志
文件
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全球气象再分析数据库
无加盟费的云服务器加盟
40十岁的软件开发
2020网络安全试题
sonolus下服务器地址
厦门龙脉网络技术有限公司
网络安全文明上网班会流程
无锡智慧社区软件开发
网络安全设备集中监控
网络安全厂商详细信息
数据库一直开着有事吗
去芯片公司做软件开发
中国国家科技报告数据库
软件开发还是电子信息工程好
计算机网络技术主要科目
vr游戏服务器多少钱
易语言实现局域网服务器
网络技术学院奖视频
p2pwificam服务器
暗黑2天天炸服务器啊
德风科技互联网
电视 网络安全会议记录
企业级软件开发项目
网络安全事件分析发展空间
苏州软件开发哪家实惠
今年网络安全宣传周时间
天亿网络安全公众号
中石油网络安全管理
攻城狮网络安全吗
银行web软件开发笔试题