ELK7.4-Lostash Grok格式化Nginx日志
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流目录需求环境Grok官方介绍Web端配置部分效果展示需求
千家信息网最后更新 2025年01月25日ELK7.4-Lostash Grok格式化Nginx日志
1.
小生博客:http://xsboke.blog.51cto.com
-------谢谢您的参考,如有疑问,欢迎交流
目录
- 需求
- 环境
Grok
官方介绍Web
端配置- 部分效果展示
需求
使用filebeat收集nginx访问日志,output到logstash,logstash使用grok filter plugin将获取到的nginx日志结构化将结构化的nginx日志output到elasticsearch
环境
这里只列出了和
grok
相关的配置,其他配置参考文章ELK7.4-快速入门实现数据收集.web 172.16.100.251 nignx/filebeat/logstash elasticsearch 172.16.100.252 elasticsearch/kibana
Grok
的官方介绍
解析任意文本并将其结构化。
Grok
是将非结构化日志数据解析为结构化和可查询内容的好方法。该工具非常适合
syslog
日志,apache
和其他Web
服务器日志,mysql
日志,以及通常用于人类而非计算机使用的任何日志格式。Grok
语法:%{SYNTAX:SEMANTIC}
SYNTAX
:匹配语法,也就是Grok
语法.附:点击查看:Grok PatternsSEMANTIC
:用于标识匹配到的字符串,也就是field
.
官方推荐的一个验证Grok语法的web工具,使用方法,将需要解析的字符串写入到第一个文本输入框,将写好的Grok表达式写入第二个输入框,然后勾选
Named Captures Only
即可.示例:
Nginx Log Format
:$request_time|$host|$remote_addr|[$time_local]
Nginx Log
:0.123|baidu.com|192.168.0.1|[18/Oct/2019:11:22:14 +0800]
-- 提示,为了避免"|"被转义,这里使用"\"禁止其转义.
web
配置
1. Nginx Log Format
# 这里的日志格式比较复杂,是为了更好的展示Groklog_format access '$request_time|$host|$remote_addr|$remote_user|[$time_local]|$request|$status|$upstream_status|$upstream_response_time|$upstream_addr|$body_bytes_sent|$request_body|$http_referer|$http_user_agent|$http_x_forwarded_for|$http_x_forwarded_path,$server_addr|$upstream_cache_status';
2. filebeat
vim /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: log enabled: true paths: - /var/log/nginx/jpg_access.log tags: ["nginx_access"]
3. logstash
vim /etc/logstash/conf.d/nginx.confinput { beats { port => 5044 }}filter { if "nginx_access" in [tags] { grok { match => { "message" => "%{NUMBER:request_time}\|%{IPORHOST:host}\|%{IPORHOST:remote_addr}\|%{USERNAME:remote_user}\|\[%{HTTPDATE:time_local}\]\|%{NOTSPACE:request_method} %{NOTSPACE:request} (?:HTTP/%{NUMBER:http_version})\|%{NUMBER:status}\|%{NUMBER:upstream_status}\|%{NUMBER:upstream_response_time}\|%{NOTSPACE:upstream_addr}\|%{NUMBER:body_bytes_sent}\|%{NOTSPACE:request_body}\|%{NOTSPACE:http_referer}\|%{GREEDYDATA:http_user_agent}\|%{NOTSPACE:http_x_forwarded_for}\|%{NOTSPACE:http_x_forwarded_path}\|%{NOTSPACE:upstream_cache_status}" } } geoip { source => "http_x_forwarded_for" # 通过geoip库查询IP归属地 } }}output { if "nginx_access" in [tags] { elasticsearch { hosts => ["172.16.100.252"] index => "nginx_access-%{+YYYY.MM.dd}" } }}
效果
然后在Kibana
上面添加索引,在Discover
页面就会看多自定义的fields
这样在更利于后期的数据分析,并且在Discover
页面可以更直观的过滤或者查看数据.
日志
结构
结构化
数据
语法
配置
官方
格式
也就是
字符
字符串
工具
效果
文本
方法
环境
转义
需求
页面
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
推荐能成为管理员的服务器
数据库的log文件清理工具
多层楼是动态网络技术公司
苏州通信网络技术有限公司
深圳云之讯网络技术 招聘
数据库到底有多少
pwd在数据库中什么意思
cscd数据库多久更新
新形势下网络安全我该怎么办
win7网站服务器
2021年数据库三级题库答案
bs软件开发是什么
网络安全及病毒防范
国信网络安全宣传周
命令行备份所有数据库
数据库转储有什么用
服务器dns异常
多方位构筑网络安全防护网
转区服务器升级
密码技术网络安全公司
智能家居软件开发招聘信息
校园日手抄报以网络安全为重要
华为服务器电源灯橙色闪烁
广州无源网络技术开发推荐厂家
贵州溶洞服务器云服务器
河北省网络安全图文
便利蜂软件开发工作时间
新闻数据库是什么软件下载
软件开发流程 案例
毕节定制软件开发