Logstash解析Nginx访问日志
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Nginx日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
静宁县网络安全和信息化办公室
魔兽单机版怎么导入数据库
软件开发培训班真实收入
数据库密码是啥呀
民用消防网络安全公司简介
信息与网络安全相关证书
photon服务器网络框架
东宁软件开发项目管理
杭州网络技术员求职电话信息
计算机网络技术做什么
网络安全风险和威胁日益突出
大洋非编数据库
互联网大会十五项黑科技是
网络安全及保密知识培训
X570主板可以用服务器内存吗
视图的数据库实验报告
wind金融数据库是什么
通信网络技术有前途吗
数据库什么影响索引
阿里云服务器添加网站
软件开发过程成熟度
网络安全保密协议的重要性
2020网络技术发现
我的世界在服务器怎样建家最安全
江苏网络安全犯罪案例
英文数据库有哪些
网络安全意识的重要性
拍图识字软件服务器存储时间
网络安全病毒防范技术
青岛市南区软件开发中心