ELK7.4-Lostash Grok格式化Nginx日志
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流目录需求环境Grok官方介绍Web端配置部分效果展示需求
千家信息网最后更新 2025年12月02日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. filebeatvim /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: log enabled: true paths: - /var/log/nginx/jpg_access.log tags: ["nginx_access"]3. logstashvim /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安全错误
数据库的锁怎样保障安全
access数据库生成不了
华为提出网络技术
安徽潮流软件开发服务厂家现货
智能制造要搞软件开发吗
软件开发是搞什么的
传感器网络安全教育
招聘软件开发商
悟空识字为什么连接不上服务器
上海参考软件开发定制价钱
mysql用哪个数据库管理软件
双色球软件开发犯法吗
固态硬盘组装数据库
无线网络技术在制造业的应用
江西软件开发那个学校
一个数据库读写分离
山东省网络安全工程师
重庆鸿巨网络技术有限公司
数据库逻辑量
云图网络技术
女生学软件开发工资
哈尔滨串口服务器
数据库 两段锁
优先网络技术有限公司
南阳嵌入式软件开发招聘
网络技术实习月报
网景软件开发
朝阳软件开发费用
python操作数据库第1课
星际争霸2服务器怎么下载数据
江苏app软件开发价位