logstash对nginx日志进行解析过滤转换等操作;
此例中nginx日志提前配置为json格式
配置可以用于生产环境,架构为filebeat读取日志放入redis,logstash从redis读取日志后进行操作;
对user_agent和用户ip也进行了解析操作,便于统计;

input {redis {host => "192.168.1.109"port => 6379db => "0"data_type => "list"key => "test"}
}
filter{json {source => "message"remove_field => "message"}useragent {source => "agent"target => "agent"remove_field => ["[agent][build]","[agent][os_name]","[agent][device]","[agent][minor]","[agent][patch]"]}date {match => ["access_time", "dd/MMM/yyyy:HH:mm:ss Z"]}mutate {remove_field => ["beat","host","prospector","@version","offset","input","source","access_time"]convert => {"body_bytes_sent" => "integer"}convert => {"up_response_time" => "float"}convert => {"request_time" => "float"}}geoip {source => "remote_addr"target => "geoip"remove_field => ["[geoip][country_code3]","[geoip][location]","[geoip][longitude]","[geoip][latitude]","[geoip][region_code]"]add_field => ["[geoip][coordinates]", "%{[geoip][longitude]}"]add_field => ["[geoip][coordinates]", "%{[geoip][latitude]}"]}mutate {convert => ["[geoip][coordinates]","float"]}
}
output {if [tags][0] == "newvp" {elasticsearch {hosts  => ["192.168.1.110:9200","192.168.1.111:9200","192.168.1.112:9200"]index  => "%{type}-%{+YYYY.MM.dd}"}stdout {codec => rubydebug}#stdout用于调试,正式使用可以去掉}
}

filebeat读取日志的写法:

filebeat.inputs:
- type: logpaths:- /var/log/nginx/access.logtags: ["newvp"]fields:type: newvpfields_under_root: true
output.redis:hosts: ["192.168.1.109"]key: "test"datatype: list

kibana展示:

转载于:https://blog.51cto.com/liuzhengwei521/2141244

logstash对nginx日志进行解析相关推荐

  1. logstash收集nginx日志

    1.配置nginx日志 编辑nginx.conf文件 vim /etc/nginx/nginx.conf 在http节点下配置如下 log_format json '{"@timestamp ...

  2. ELK系列(四)、Logstash读取nginx日志写入ES中

    前面讲了ELK的部署以及Logstash的插件的安装方式,本篇就介绍一下如何使用Logstash读取nginx的日志,并写入ES中,通过Kibana分析. ELK系列(一).安装ElasticSear ...

  3. 【lnmp+ELK+Nginx+GeoIP】超详细新版ELK8.5.0解析收集Nginx日志并实现数据可视化与IP地址地图可视化教程-2022年11月版

    超详细新版ELK8.5.0+lnmp1.9解析收集Nginx日志并实现数据可视化与IP地址地图可视化教程-2022年11月版 前言 1.基础环境和所需要的软件包 1.1服务器配置(仅供参考) 1.2 ...

  4. 使用Python解析nginx日志文件

    项目的一个需求是解析nginx的日志文件. 简单的整理如下: 日志规则描述 首先要明确自己的Nginx的日志格式,这里采用默认Nginx日志格式: log_format main '$remote_a ...

  5. nginx 获取body参数_日志分析系列(外传二):Nginx日志统一化

    本系列故事纯属虚构,如有雷同实属巧合 为了完成对Nginx服务器的日志分析,小B对Q公司的Nginx日志做了统一化要求.下面是小B在统一化过程中遇到的一些知识点: Nginx日志与字段解析 Q公司的N ...

  6. CentOS下ELK收集Nginx日志

    1. ELK收集Nginx普通格式的日志 1.1 测试服务器架构 1.2 ab工具使用 yum install httpd-tools -y# -n 总共发送多少条请求,注意,最后"/&qu ...

  7. centos7 单机安装ELK7收集nginx日志 无坑版,肯定出图

    系统:centos7 ELK版本:7.8.0 java环境:11 1. 配置JDK #配置JDK11 mkdir /root/source/cd /root/sourcewget https://re ...

  8. logstash中无法解析nginx日志中的\x09类似字符导致服务停止

    logstash中无法解析nginx日志中的"\x09"类似字符导致服务停止 logstash正常情况是一直稳定运行,突然有一天报告logstash服务宕机,排查日志,在日志中找到 ...

  9. logstash 过虑nginx访问日志

    标题是不是可以翻译成这样:logstash Filters nginx access log 好了,进入正题,日志管理服务器我用ElasticSearch+LogStash+Kibana+Redis ...

  10. presto + kafka + logstash 实时监控分析nginx日志

    文章目录 前言 一.方案选取 二.各项配置 1.logstash配置 2.presto 增加kafka connector 3. 分析监控 总结 前言 目前线上环境nginx日志一天10亿左右,日志已 ...

最新文章

  1. VMware vSphere学习整理
  2. 视图、存储函数、存储过程、触发器:MySQL系列之五
  3. JUL执行原理和流程
  4. 从无盘启动看 Linux 启动原理
  5. leetcode——242. 有效的字母异位词
  6. oracle数据库恢复参数文件位置,Oracle数据库的参数文件备份与恢复
  7. requests由于系统缓冲区空间不足_系统C盘满了空间不足的扩容?
  8. sed高级命令及模式空间和交换空间简介
  9. go去掉最后一个字符_可维护的Go代码程序指南(一)之变量篇
  10. vue confirm确认
  11. jsp当参数为空的时候默认显示值
  12. 搭建并实现智能DNS
  13. C#语法糖(Csharp Syntactic sugar)
  14. EDM邮件制作遇到的兼容性问题
  15. vs 2010旗舰版问题
  16. 网易博客中的心情随笔
  17. Nginx同一个域名配置多个项目
  18. nrf51822 --TWI(硬件IIC)
  19. carx2服务器维护不足什么问题,carx2赛车漂移
  20. 一个丰富的通知工具类 NotifyUtil

热门文章

  1. Spring Boot入门篇-@RequestParam/@RequestBody配置
  2. Spring Boot入门篇-默认安全配置
  3. inotify java maven_Maven
  4. miui8.2 是android 7.0,因与MIUI 8.2撞车 小米5暂缺失安卓7.0
  5. ThinkPhp项目部署到Linux session_start() 报错:failed:No such file or directory
  6. proto3文件定义Demo-用户表单条、多条、所有、编辑
  7. PHP上传文件到项目public路径接口
  8. 全网首发:org.xml.sax.SAXNotRecognizedException: unrecognized features nonvalidating/load-external-dtd
  9. 编译错误:GL/glew.h, GL/glut.h, EGL/egl.h没有那个文件或目录
  10. 编译OpenJDK12:LNK2019 无法解析的外部符号sprintf