logstash2.2以上版本,nginx错误日志切割

举个栗子 举个栗子     2022-08-03     634

关键词:

    网上nginx错误日期切分的版本各式各样,能用的没几个,踩过很多坑,特意记录下:

if [type] == "xx_app_nginx_error_log" {
        grok    {
          patterns_dir => "/etc/logstash/conf.d/patterns"
          match => { "message" => "%{NGINXERROR_1}" }
        }
        mutate {
          #避免日期报错
          gsub => ["nginxErrorDateTime","/","-"]
          rename=>["host", "nginxErrorHost"]
        }
        #切最后一段错误信息
        if [nginxErrorInfo] {
#下面有些版本的logstash使用get会报错 ruby{ code => " new_event = LogStash::Event.new(Hash[event[‘nginxErrorInfo‘].split(‘, ‘).map{|l| l.split(‘: ‘)}]) new_event.remove(‘@timestamp‘) event.append(new_event)" } }
      #下面这段是用了IPIP库,不用的话可以去掉 ipip { source => "client" target => "ipip" } grok { patterns_dir => "/etc/logstash/conf.d/patterns" match => {"request"=>"%{NGINXERROR_REQUEST}"} } #删除以下字段,减少重复内容 mutate{ remove_field => [ "message","nginxErrorInfo","request"] } }

grok详细信息

NGINXERROR_1 (?<nginxErrorDateTime>d{4}/d{2}/d{2}s+d{2}:d{2}:d{2})s+[(?<nginxErrorType>w+)]s+S+:s+*d+(?<nginxErrorMsg>[^,]+), (?<nginxErrorInfo>.*)$
NGINXERROR_REQUEST "%{WORD:method} %{URIPATH:urlPath}(?:?(?<urlParams>[^ ]+))? HTTP/%{NUMBER:httpVersion}"

 输出:

 "@version": "1",
    "@timestamp": "2016-09-07T09:46:08.078Z",
    "path": "/to/path/nginx_error.log",
    "type": "xx_app_nginx_error_log",
    "nginxErrorDateTime": "2016-09-07 17:46:07",
    "nginxErrorType": "error",
    "nginxErrorMsg": " recv() failed (104: Connection reset by peer) while reading response header from upstream",
    "nginxErrorHost": "localhost",
    "client": "223.155.36.205",
    "server": "xxxxx",
    "upstream": ""fastcgi://127.0.0.1:9000"",
    "host": ""localhost"",
    "ipip": {
      "country": "中国",
      "province": "湖南",
      "city": "邵阳",
      "carrier": "电信"
    },
    "method": "GET",
    "urlPath": "/api/test.php",
    "urlParams": "action=is_remind&ajax=1&cookie=0",
    "httpVersion": "1.1"

 

linux脚本练习之script082-nginx日志分析之统计访问3次以上的ip(代码片段)

script082题目注:题目来源于SHELL25nginx日志分析3-统计访问3次以上的IP。假设nginx的日志我们存储在nowcoder.txt里,格式如下:192.168.1.20--[21/Apr/2020:14:27:49+0800]"GET/1/index.phpHTTP/1.1"404490"-"&# 查看详情

linux脚本练习之script082-nginx日志分析之统计访问3次以上的ip(代码片段)

script082题目注:题目来源于SHELL25nginx日志分析3-统计访问3次以上的IP。假设nginx的日志我们存储在nowcoder.txt里,格式如下:192.168.1.20--[21/Apr/2020:14:27:49+0800]"GET/1/index.phpHTTP/1.1"404490"-"&# 查看详情

nginx配置详解和原理(代码片段)

...worker_rlimit_nofile65535;#用于绑定worker进程和CPU,Linux内核2.4以上可用#工作模式及连接数上限events#epoll是多路复用IO(I/OMultiplexing)中的一种方式,#仅用于linux2.6以上内核,可以大 查看详情

nginx错误日志在哪

参考技术A如果你的安装目录为/usr/local/nginx,那么nginx的错误日志目录就是/usr/local/nginx/logs/error.log。cat  /usr/local/nginx/logs/error.log3.如果是yuminstallnginx的话,请去/etc/nginx/nginx.conf里面查询错误日志路径本回答被提问者采纳 查看详情

nginx日志切割工具——logrotate(代码片段)

...r/run/nginx.pid`endscript3、测试logrotate-vf/etc/logrotate.d/nginx执行以上命令,是否得到自己预期效果4、执行00***/usr/sbin/logrotate-vf/etc/logrotate.d/nginx将上面这段添加到crontab里面,让他每天定时执行5、参数含义配置说明daily指定转储周期为每... 查看详情

nginx-2.nginx日志详解

一、错误日志[默认开启]Nginx记录错误日志的功能属于核心功能模块ngx_core_module,参数名字是error_log,可以放在mian区块中全局配置,也可以放在不同的虚拟主机中单独记录。语法如下:error_log file level;error_log是错误日志关键字,不... 查看详情

如何让nginx显示错误日志?

】如何让nginx显示错误日志?【英文标题】:Howtoletnginxshowtheerrorlog?【发布时间】:2016-06-0617:24:49【问题描述】:由于我正在使用docker开发我的项目,并且安装了nginx的图像,如果发生任何错误,我只会看到这个:502BadGatewaynginx/1.... 查看详情

Celeryd - 发送有关日志级别错误及以上的电子邮件

】Celeryd-发送有关日志级别错误及以上的电子邮件【英文标题】:Celeryd-sendanemailonloglevelerrorandabove【发布时间】:2013-09-1711:22:49【问题描述】:我们已将django配置为在任何错误或以上触发时向我们发送电子邮件。这是使用Django中... 查看详情

[错误日志]couldnotinitializeclassorg.hibernate.validator.internal.engine.configurationimpl

...ngBoot2.2版本以下的时候,运行没有任何问题,一旦选择2.2以上的版本时,会报  Couldnotinitializeclassorg.hibernate.validator.internal.engine.ConfigurationImp 查看详情

Django + nginx + gunicorn 给出 502 错误。日志信息很少[关闭]

】Django+nginx+gunicorn给出502错误。日志信息很少[关闭]【英文标题】:Django+nginx+gunicorngives502error.verylittleloginformation[closed]【发布时间】:2011-09-0722:46:27【问题描述】:我的服务器是这样配置的(这是全新安装的ubuntu10.10)nginx+gunicor... 查看详情

即使我在重新加载时设置了 nginx 配置文件,Nginx 仍然尝试打开默认错误日志文件

...重新加载时设置了nginx配置文件,Nginx仍然尝试打开默认错误日志文件【英文标题】:NginxstilltrytoopendefaulterrorlogfileeventhoughIsetnginxconfigfilewhilereloading【发布时间】:2016-03-1910:52:47【问题描述】:下面是我位于/etc/nginx/nginx.conf的nginx... 查看详情

Django - 使用 Gunicorn、Nginx 和 Supervisor 进行部署,Gunicorn 错误日志

】Django-使用Gunicorn、Nginx和Supervisor进行部署,Gunicorn错误日志【英文标题】:Django-DeploymentwithGunicorn,NginxandSupervisor,Gunicornerrorlog【发布时间】:2014-03-3102:02:33【问题描述】:我已经使用Gunicorn+Nginx+Supervisor部署了一个Django1.6应用程... 查看详情

Nginx 错误日志中的“SSL_CTX_use_PrivateKey_file”“获取密码错误的问题”表示啥?

】Nginx错误日志中的“SSL_CTX_use_PrivateKey_file”“获取密码错误的问题”表示啥?【英文标题】:Whatdoes"SSL_CTX_use_PrivateKey_file""problemsgettingpassworderror"indicateinNginxerrorlog?Nginx错误日志中的“SSL_CTX_use_PrivateKey_file”“获... 查看详情

elastic(elk)stack实战教程06filebeat日志收集实践(下)(代码片段)

...3.2修改日志为json格式2.3.3配置Filebeat2.3.4配置kibana2.4 Tomcat错误日志收集实践2.4.1 错误日志特点2.4.2 错误日志收集思路2.4.3 错误日志收集实践2.4.4kibana展示2.5 收集多台Tomcat节点日志三、ES错误日志收集实践一、Filebeat收集Nginx日... 查看详情

发送 http2 请求时,recv() 在 nginx 错误日志中失败

】发送http2请求时,recv()在nginx错误日志中失败【英文标题】:recv()failedinnginxerrorlogwhensendinghttp2request【发布时间】:2021-11-2307:56:34【问题描述】:发送grpc-go请求时在nginxerror.log中得到以下内容。2021/10/0117:06:08[info]18799#18799:*9recv()... 查看详情

写一个查看当天nginx的错误日志

参考技术A首先要查看nginx错误日志,我们可以用 cat/usr/local/nginx/logs/error.log 一查你就会发现有一大堆数据,看的眼睛都疼,那这时候呢,可以加一个管道命令,然后添加一个查询条件cat/usr/local/nginx/logs/error.log|grep"$(dat... 查看详情

nginx日志

...用户浏览器、ip和其他的访问信息errorlog:是记录服务器错误日志access.log日志的形式如下:其实nginxaccess日志的格式不是一成不变的,是可以自定义的。在nginx的nginx.conf配置文件找到:log_format这里就是日志的格式看一下和上述日... 查看详情

nginx调优

隐藏Nginx版本号修改nginx运行用户-设置nginx的cpu亲和力设置Nginx每个进程最多可以打开的文件数和事件处理模型ServerName和location匹配及高效传输模式Fastcgi调优-gzip压缩网页调优-expires缓存调优日志切割优化-目录文件访问控制-来源... 查看详情