logstash 过虑nginx访问日志

2024-05-20 10:51:22

标题是不是可以翻译成这样:logstash Filters nginx access logj_0057.gif

好了,进入正题,日志管理服务器我用ElasticSearch+LogStash+Kibana+Redis

先说下我的架构:

wKioL1VJ6TPxyTsnAAFCI9YpBoI041.jpg远程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:就是要过滤的格式,如图

wKiom1VJ60GCmk7FAAKmJRpQDD0279.jpg

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 &

好的,脚本配置完毕,接下来我们访问看看

wKiom1VJ-U-BBna0AAOnM712uAU092.jpg

wKioL1VJ-sGB2zXNAALp2MbZQRQ318.jpg

转载于:https://blog.51cto.com/xiangcun168/1643577

logstash 过虑nginx访问日志相关推荐

  1. Nginx访问日志、日志切割、静态文件不记录日志和过期时间

    2019独角兽企业重金招聘Python工程师标准>>> 11月27日任务 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 1 ...

  2. nginx 访问日志分析工具 goacess

    2019独角兽企业重金招聘Python工程师标准>>> 20150702 nginx 访问日志分析 goacess 1.安装GoAccess需要一些系统支持库 yum install ...

  3. 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间

    - 12.10 Nginx访问日志 - 12.11 Nginx日志切割 - 12.12 静态文件不记录日志和过期时间# 12.10 Nginx访问日志 - 日志的格式- vim /usr/local/ ...

  4. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 -------------------------------------------------------------------- 注:如果你对python感兴 ...

  5. 6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

    课程名称:12.10 Nginx访问日志 笔记内容: [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 定义日志格式 combined_ ...

  6. NGINX访问日志和错误日志

    Logs are very useful to monitor activities of any application apart from providing you with valuable ...

  7. 使用Nginx访问日志统计PV和UV

    一个网站当用户量增大时候,不可避免有统计pv和uv的需求. UV(Unique Visitor):独立访客,以cookie为依据区分不同访客,UV计算一天之内(00:00-24:00),访问网站的访客 ...

  8. 笔记12(36-40)域名重定向,用户认证,nginx访问日志,日志切割

    学习笔记 域名重定向 配置第二个域名: vi /etc/nginx/conf.d/blog.aminglinux.cc.conf 在server_name 那一行的域名后面加一个域名,空格作为分隔 n ...

  9. Nginx 访问日志增长暴增出现尖刀的详细分析

    前言:          Nginx日志里面Mobileweb_access.log增长特别大,一天上百兆,将近100W的访问记录,按照我们目前的规模,热点用户才500个左右,就算人人用手机app访问 ...

最新文章

  1. 汇总 | 精选CVPR开源项目学习资源
  2. iOS - Swift NSEnumerator 迭代器
  3. dz seo插件_河北seo优化网络推广报价单
  4. leetcode 633. 平方数之和(双指针)
  5. 前端学习(1761):前端调试值之如何对站点下的资源进行全部搜索
  6. 字符串经典题之扑克牌的大小
  7. jquery 设置select的默认值
  8. c mvc html 选中删除,在 MVC htmlAttribute中,如何设置被禁用_CSharp_开发99编程知识库...
  9. 惊慌 Android!使用 3D 打印的头像可破解多款手机
  10. Spring MVC中静态资源加载
  11. [C语言数据存储深度解析]-内存数据搞不懂?三千字长文带你走进数据类型及其存储
  12. Casewhen和Decode
  13. arcgis创建城市路网
  14. 【2022 年第十二届 MathorCup杯数学建模】D 题 移动通信网络站址规划和区域聚类问题 赛后总结、论文及代码
  15. 【PMP】关键路径法
  16. 嵌入式实践教程--Android HAL自定义HAL代码教程
  17. html网页制作摘要,关于静态HTML网页制作
  18. 天数换算月份_EXCEL如何算出指定的月份有多少天计算方法
  19. 自制时代,七种自动化的基础架构即代码工具(IaC)
  20. 6月17日吃鸡服务器维护,英雄联盟6月17日更新了什么

热门文章

  1. php去掉数字前的符号,php导出excel如何处理使得表格数字值前面的0不被去掉
  2. supersocke接收不到数据_基于SuperSocket的北斗终端数据接收服务的设计与实现
  3. 计算机四级的英文,计算机四级考试中英文术语对照
  4. insert into user mysql root_跳过授权表登录后使用insert into创建root权限用户
  5. 华为A1路由器虚拟服务器,华为a1路由器怎么设置 华为路由器a1怎么安装视频-192路由网...
  6. 鸿蒙唯独没有手机,想用鸿蒙OS,却没有华为手机?华为高层:还有1亿台设备可体验...
  7. 2 数据源配置_如何在程序运行中动态切换数据源?架构师必读秘笈
  8. matlab状态方程 传递函数 可控性,实验一matlab系统的传递函数和状态空间表达式的转换...
  9. mysql 相关搜索_MySQL单词搜索相关度排名
  10. C语言、C++学习路线