logstash 过虑nginx访问日志
标题是不是可以翻译成这样:logstash Filters nginx access log
好了,进入正题,日志管理服务器我用ElasticSearch+LogStash+Kibana+Redis
先说下我的架构:
远程NGINX采集日志数据到REDIS+logstash+elasticsearch+kibana服务器
至于怎么部署,因本人之前用baidu博客写在那上面了,以后有时间把百度的搬过来
好了,这里就先不说部署了,我们直接进入配置正题
在nginx服务器,我们一、先配置nginx的日志格式
log_format main '$http_host $remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$upstream_addr" $request_time';
二、配置logstash采集文件
1.1 配置logstash patterns
logstash/patterns# vi nginx NGUSERNAME [a-zA-Z\.\@\-\+_%]+ NGUSER %{NGUSERNAME} NGINXACCESS %{IPORHOST:http_host} %{IPORHOST:clientip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:http_verb} %{NOTSPACE:http_request}(?: HTTP/%{NUMBER:http_version})?|%{DATA:raw_http_request})\" %{NUMBER:response} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{QS:xforwardedfor} %{NUMBER:request_time:float}
注意,我们配置的日志格式完全要和我们的patterns解析出来
具体解析方式,可以到https://grokdebug.herokuapp.com/
input:nginx的日志
patterns:就是要过滤的格式,如图
2.1 配置nginx日志采集脚本
logstash#vi nginx_logs.conf input {file {type => "nginx-access"path => "/www/log/nginx/access/default.log"start_position => "beginning"} }filter {if [type] == "nginx-access" {grok {match => { "message" => "%{NGINXACCESS}" }}date {match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]}geoip {source => "clientip"target => "geoip"database =>"/server/logstash/vendor/geoip/GeoLiteCity.dat"add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]} mutate {convert => [ "[geoip][coordinates]", "float" ]} } }output {redis {host => "10.252.35.170"port => 6379data_type => "list"key => "logstash"} }
这个脚本里,我主要采集了geoip的信息,当然,你也直接可以将数据导入到redis,我就附上我的全脚本吧~~
启动:
#/server/logstash/bin/logstash agent -f /alidata/server/logstash/nginx_logs.conf &
三、配置REDIS+logstash
直接写logstash脚本
logstash# vi nginx.conf input {redis {host => "127.0.0.1"port => "6379"data_type => "list"key => "logstash"type => "redis-input"codec => "json"} }output {elasticsearch {embedded => falseprotocol => "http"host => "localhost"port => "9200"} }
启动脚本
#/logstash/bin/logstash agent -f /alidata/server/logstash/nginx.conf &
好的,脚本配置完毕,接下来我们访问看看
转载于:https://blog.51cto.com/xiangcun168/1643577
logstash 过虑nginx访问日志相关推荐
- Nginx访问日志、日志切割、静态文件不记录日志和过期时间
2019独角兽企业重金招聘Python工程师标准>>> 11月27日任务 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 1 ...
- nginx 访问日志分析工具 goacess
2019独角兽企业重金招聘Python工程师标准>>> 20150702 nginx 访问日志分析 goacess 1.安装GoAccess需要一些系统支持库 yum install ...
- 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间
- 12.10 Nginx访问日志 - 12.11 Nginx日志切割 - 12.12 静态文件不记录日志和过期时间# 12.10 Nginx访问日志 - 日志的格式- vim /usr/local/ ...
- Nginx 访问日志轮询切割
Nginx 访问日志轮询切割脚本 -------------------------------------------------------------------- 注:如果你对python感兴 ...
- 6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)
课程名称:12.10 Nginx访问日志 笔记内容: [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 定义日志格式 combined_ ...
- NGINX访问日志和错误日志
Logs are very useful to monitor activities of any application apart from providing you with valuable ...
- 使用Nginx访问日志统计PV和UV
一个网站当用户量增大时候,不可避免有统计pv和uv的需求. UV(Unique Visitor):独立访客,以cookie为依据区分不同访客,UV计算一天之内(00:00-24:00),访问网站的访客 ...
- 笔记12(36-40)域名重定向,用户认证,nginx访问日志,日志切割
学习笔记 域名重定向 配置第二个域名: vi /etc/nginx/conf.d/blog.aminglinux.cc.conf 在server_name 那一行的域名后面加一个域名,空格作为分隔 n ...
- Nginx 访问日志增长暴增出现尖刀的详细分析
前言: Nginx日志里面Mobileweb_access.log增长特别大,一天上百兆,将近100W的访问记录,按照我们目前的规模,热点用户才500个左右,就算人人用手机app访问 ...
最新文章
- 汇总 | 精选CVPR开源项目学习资源
- iOS - Swift NSEnumerator		迭代器
- dz seo插件_河北seo优化网络推广报价单
- leetcode 633. 平方数之和(双指针)
- 前端学习(1761):前端调试值之如何对站点下的资源进行全部搜索
- 字符串经典题之扑克牌的大小
- jquery 设置select的默认值
- c mvc html 选中删除,在 MVC htmlAttribute中,如何设置被禁用_CSharp_开发99编程知识库...
- 惊慌 Android!使用 3D 打印的头像可破解多款手机
- Spring MVC中静态资源加载
- [C语言数据存储深度解析]-内存数据搞不懂?三千字长文带你走进数据类型及其存储
- Casewhen和Decode
- arcgis创建城市路网
- 【2022 年第十二届 MathorCup杯数学建模】D 题 移动通信网络站址规划和区域聚类问题 赛后总结、论文及代码
- 【PMP】关键路径法
- 嵌入式实践教程--Android HAL自定义HAL代码教程
- html网页制作摘要,关于静态HTML网页制作
- 天数换算月份_EXCEL如何算出指定的月份有多少天计算方法
- 自制时代,七种自动化的基础架构即代码工具(IaC)
- 6月17日吃鸡服务器维护,英雄联盟6月17日更新了什么
热门文章
- php去掉数字前的符号,php导出excel如何处理使得表格数字值前面的0不被去掉
- supersocke接收不到数据_基于SuperSocket的北斗终端数据接收服务的设计与实现
- 计算机四级的英文,计算机四级考试中英文术语对照
- insert into user mysql root_跳过授权表登录后使用insert into创建root权限用户
- 华为A1路由器虚拟服务器,华为a1路由器怎么设置 华为路由器a1怎么安装视频-192路由网...
- 鸿蒙唯独没有手机,想用鸿蒙OS,却没有华为手机?华为高层:还有1亿台设备可体验...
- 2 数据源配置_如何在程序运行中动态切换数据源?架构师必读秘笈
- matlab状态方程 传递函数 可控性,实验一matlab系统的传递函数和状态空间表达式的转换...
- mysql 相关搜索_MySQL单词搜索相关度排名
- C语言、C++学习路线