使用 Grok for Logstash 解析 Apache2 错误日志

2024-03-26

我试图解析我的 apache2 错误日志,但遇到了一些麻烦。它似乎与过滤器不匹配。我很确定时间戳部分是错误的,但我不确定,而且我真的找不到任何文档来解决它。另外,有没有办法获取其中的内容fields.errmsg to me @message?

Log

[Wed Jun 26 22:13:22 2013] [error] [client 10.10.10.100] PHP Fatal error:  Uncaught exception '\Foo\Bar'

发货人配置

input {
        file {
                'path' => '/var/log/apache2/*-error.log'
                'type' => 'apache-error'
        }

}

filter {
        grok {
                type => "apache-error"
                pattern => "\[%{HTTPDATE:timestamp}\] \[%{WORD:class}\] \[%{WORD:originator} %{IP:clientip}\] %{GREEDYDATA:errmsg}"
        }
}


output {
        stdout {}
        redis {
                'data_type' => 'list'
                'host' => 'logstash.server.net'
                'key' => 'logstash'
        }
}

Ahoy!

我知道我参加聚会有点晚了,但就这样吧!

我创建了一个/etc/logstash/patterns.d/系统上的目录和一个名为的文件apache-error其中包含:

APACHE_ERROR_TIME %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}
APACHE_ERROR_LOG \[%{APACHE_ERROR_TIME:timestamp}\] \[%{LOGLEVEL:loglevel}\] (?:\[client %{IPORHOST:clientip}\] ){0,1}%{GREEDYDATA:errormsg}

/etc/logstash/patterns.d/将在中引用logstash配置如下:

grok {
  patterns_dir => [ "/etc/logstash/patterns.d" ]
  match => [ "message", "%{APACHE_ERROR_LOG}" ]
}

您可以在以下位置进行测试:Grok 调试器 http://grokdebug.herokuapp.com/,就像亚当在评论中提到的那样。似乎与您发送的示例日志条目配合得很好。我和我的一位客户的合作非常扎实。

上面的模式将最终消息放入errormsg场地。所以我只是删除message field.

这是我目前在 Logstash 配置中使用的内容:

filter {
  if [type] == "apache_error_log" {

    grok {
      patterns_dir => [ "/etc/logstash/patterns.d" ]
      match => [ "message", "%{APACHE_ERROR_LOG}" ]
    }

    if !("_grokparsefailure" in [tags]) {

      mutate {
        remove_field => [ "message" ]
        add_field =>  ["timestamp_submitted", "%{@timestamp}"]
      }

      date {
        # Try to pull the timestamp from the 'timestamp' field (parsed above with
        # grok). The apache time format looks like: "18/Aug/2011:05:44:34 -0700"
        #                        Sat Feb 08 06:31:09 2014
        match => [ "timestamp", "EEE MMM dd HH:mm:ss yyyy" ]
        remove_field => [ "timestamp" ]
      }

      geoip {
        source => "clientip"
      }
    }
  }
}

请注意,我使用的是一种类型apache_error_log代替apache-error.

试一试。我很想知道这是否适用于您和其他人!

Cheers!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Grok for Logstash 解析 Apache2 错误日志 的相关文章

  • apache 的子进程返回退出代码 -6,但没有 stdout 或 stderr

    当从 apache 进程运行 git status 甚至 ls 时 我经常得不到标准输出或错误 并且退出状态代码为 6 其他时候 它就有效 有什么想法为什么会发生这种情况或者这意味着什么吗 如果您所在的网络有很多人 则可能会耗尽可用的并发连
  • 防止直接访问 PHP 页面

    如何防止我的用户直接访问仅用于 ajax 调用的页面 在 ajax 调用期间传递密钥似乎是一种解决方案 而没有密钥的访问将不会被处理 但制造钥匙也很容易 不是吗 查看源代码的诅咒 p s 使用 Apache 作为网络服务器 编辑 为了回答为
  • GitSmartHTTP for gitolite repositories over Apache 不允许我推送

    我正在设置一个 git http backend CGI 脚本来处理我的git domain子域 服务器位于AWS云上的ELB 弹性负载均衡器 后面 我的服务器配置如下 我的 git 托管由 gitolite 处理
  • 如何在本地主机中为 XAMPP 创建有效的 SSL [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我如何使用安全连接 SSL in my XAMPP在窗口中 当我打开 localhost 页面时出现以下错误 连接不安全 在我的 XAMP
  • 如何在 Linux 中获取 Apache 的“每秒请求数”?

    在 Windows for ASP 中 您可以获得 perfmon 但是 如何获得 每秒请求数 Linux 下的 Apache 这是我编写的一个简短的 bash 脚本 用于对请求率进行采样 基于迪克塞的建议 https stackoverf
  • Apache 中的手动内容压缩

    我需要 Apache 上的手动压缩解决方案 我的目标 在我的服务器上提供 gzip 编码的内容以及未压缩的内容 文件已预先压缩 并非所有文件都经过压缩 我想指定这些文件 并且选择不是基于类型 扩展名 的 提供许多内容类型 自定义内容类型 并
  • 我如何将 apache math 与 scala 一起使用?

    我正在尝试将 apache math 与 scala 结合使用 但无法运行文档中的示例http commons apache org proper commons math userguide random html http common
  • 使用 Apache 将端点转发到同一主机上的不同端口

    我正在尝试将 Apache 配置为以不同的方式处理应用程序的某些端点 我需要 api appname 和 admin 转发到同一主机上的单独 Tomcat 实例 显然在不同的端口上运行 Apache 正在侦听 443 SSL 浏览 Apac
  • Bitnami:如何在 Apache2 中配置 GitLab 5.0 应用程序而不具有相对根目录?

    或者如何使 GitLab 应用程序作为 Apache2 HTTP 服务器上的根应用程序 我以前没有使用过 Apache2 但是我得到了Bitnami GitLab 虚拟机 http bitnami com stack gitlab virt
  • 无法在运行 apache 服务器上访问 http://localhost:80

    在 ubuntu 14 04 中运行 apache 服务器时我得到 This webpage is not available 在浏览器中或 curl 7 Failed to connect to localhost port 80 Con
  • 为整个服务器/域强制使用 https

    我正在开发一些只能通过 https 访问的表单 我有一个专用服务器 有自己的证书和所有好东西 所以我的问题实际上有两个 1 强制每个请求都为 https 的最佳方法是什么 有没有比这个 htacess mod rewrite 规则更好的方法
  • node.js 与 Apache PHP 一起运行?

    我正在尝试了解 Node js 我对我的 LAMP 设置非常满意 因为它目前满足我的要求 虽然我想在我的 PHP 应用程序中添加一些实时功能 例如显示当前登录我的网站的所有用户以及可能的聊天功能 我不想更换我的 PHP 后端 但我确实想要可
  • PHP 空 $_POST

    我通过 HTTP POST 向 PHP 发送数据 这对于短于 8MB 8192KB 的数据来说效果很好 但是当发送的数据量更大时 PHP 会显示 POST变量为空 我强调的是 POST变量甚至不包含帖子字段的名称 它作为空数组存在 临界点似
  • 无法隐藏 htaccess 文件

    我很难隐藏我的 htaccess 文件 我仔细检查以确保 httpd conf 中存在以下内容
  • Apache服务器安装失败(端口80或443已在使用)

    我有一个与 PHP 相关的问题 我是 net 开发人员 我通常使用 asp net 和 c 我在笔记本电脑上安装了 Visual Studio 和 SQL Server 现在我尝试在我的系统上安装 Xampp 服务器 这里我遇到了一些问题
  • Apache 错误:地址已在使用中:make_sock:无法绑定到地址 [::]:443

    Apache 启动时出错 Address already in use make sock could not bind to address 443 Executing start method lib svc method http a
  • 为什么 HTTP 请求在 Chrome 中陷入挂起状态?

    语言 工具版本 角度 cli 1 2 0 PHP 7 0 8 Zend 表达 2 阿帕奇2 4 23 铬65 0 3325 181 Windows 7的 Issue 我有一个 Angular2 应用程序 它使用 PHP 应用程序作为所有 X
  • URL 扩展隐藏:重写与重定向

    我已经阅读了很多问题和答案 但我无法决定哪一个更好或如何使用这些扩展隐藏方式的组合 我想要的是就是有一个像这样的url重写堆栈溢出 那么我还应该做什么才能遵守这些规则 url example com file anyEXT show con
  • Apache 下的子域代理到 Tomcat

    在使用 AJP 代理 Tomcat 时 我在为 Windows 计算机创建子域时遇到问题 这是我的 httpd conf 文件中的内容
  • 如何在 Apache POI 中获取 Excel 空白单元格值?

    我有一个巨大的 Excel 文件 其中包含大量列 如下所示 Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr 这是我编写的用于打印这些值的代码 try FileInput

随机推荐

  • 在seaborn热图中屏蔽注释

    我想制作一个仅在特定单元格中具有注释的热图 我认为 一种方法是在所有单元格中制作一个带有注释的热图 然后覆盖另一个没有注释但在我希望原始注释可见的区域中被屏蔽的热图 import numpy as np import seaborn as
  • 无法从模块接口构建模块;它可能已被损坏,或者可能在生成时触发了 Swift 编译器中的错误

    当创建这样的xcframework时 xcodebuild archive project endiosOne iOS xcodeproj scheme EOFoundation destination iOS archivePath tm
  • Jena 桌面 SPARQL 客户端 (TDB)?

    我正在开发一个使用 Jena 进行存储 带有 TDB 后端 的应用程序 我正在寻找类似 Squirrel 的东西 它可以让我看到正在存储的内容 运行查询等 这似乎是一个明显需要的东西 但我的 可能措辞不好 谷歌查询没有出现任何有希望的东西
  • 为什么Dictionary没有AddRange?

    标题已经足够基本了 为什么我不能 Dictionary
  • 如何根据当前平台跳过 xUnit 中的特定测试

    我有一个在 Windows 上构建的程序集 我想在 Linux 中的 mono 上运行 xUnit 测试 然而 我发现虽然其中 400 个测试可以 按顺序 运行 但某些测试要么挂起 xUnit 运行程序 要么完全崩溃 I don t car
  • 向 monaco 编辑器提供类型提示

    我正在尝试使用 Monaco 编辑器向 javascript 编辑器提供智能感知 代码补全 该代码必须是有效的 javascript 而不是 typescript 假设一些用户输入了这样的脚本 function onMyEvent even
  • PHP 中的安全用户图像上传功能

    我正在为我的网站实现一个基于用户的图像上传工具 系统应允许任何用户仅上传 JPEG 和 PNG 文件 当然 我担心安全性 所以我想知道许多比我聪明的人对以下允许上传的检查有何感受 1 首先将 PHP 中允许的文件扩展名列入白名单 仅允许 P
  • WCF 不序列化所有属性

    我正在使用已作为 VS2010 中的服务引用导入的 SOAP 服务 我使用服务提供的请求对象来调用其中一项服务 我遇到的问题是 并非对象的所有属性都被序列化 或者不是通过线路发送 请求对象如下所示 var serviceRequest ne
  • CountIf 与过滤后的数据

    我正在研究一种方法来计算数据列中零的数量 即使数据被过滤 我找到了以下解决方案 SUMPRODUCT SUBTOTAL 3 OFFSET B2 B18 ROW B2 B18 MIN ROW B2 B18 1 ISNUMBER SEARCH
  • 使用 PHP 获取目录的层次结构

    我正在尝试查找指定目录下的所有文件和文件夹 例如我有 home user stuff 我想回来 home user stuff folder1 image1 jpg home user stuff folder1 image2 jpg ho
  • Python“for in”循环打印列表中的最后一项

    最近我了解了列表和for循环 以及命令 pop 指示并删除列表中的最后一项 所以我尝试编写一段代码来一项一项地删除列表中的最后一项 直到只剩下一项 代码是 list A a b c d e f g h i j for i in list A
  • Javascript 缩小并插入分号

    是否有任何 Javascript 压缩器 压缩器可以根据需要插入分号 或者 可以处理不使用分号的源代码 我已经开始使用一个非常棒的库 但开发人员认为分号是 不必要的混乱 几年前 当我遇到类似的情况时 我似乎记得解决方案本质上是 越多越好 首
  • 如何说服我的同事不要使用数据集进行企业开发(.NET 2.0+)

    与我一起工作的每个人都痴迷于以数据为中心的企业开发方法 并且讨厌使用自定义集合 对象的想法 说服他们的最佳方法是什么 以身作则 谨慎行事 任何更强的东西只会让你与团队的其他成员疏远 请记住考虑他们可能发现了您错过的东西 成为团队的一员意味着
  • 没有名为“sklearn.utils.线性_分配_”的模块

    I am trying to run a project from github https github com cfotache pytorch objectdetecttrack every object counter applic
  • 当我将用户控件拖到设计视图上时,Visual Studio 引发错误

    我有两个用户控件 其中一个是一个简单的图片夹 其中有一个复选框 另一个充当容器 而不是包含前一个控件的集合 So a 水平图片滚动可以有很多可选图片控制 我将粘贴每个控件的小代码 First 水平图片滚动 using System usin
  • 按 API 密钥使用 AWS API Gateway

    如何通过 API 密钥从 AWS API Gateway 获取使用指标 例如使用计数器 使用日志等 我目前正在发送x api key到我的集成端点进行手动日志记录 我不想这样做 而是让 AWS API Gateway 为我测量和报告此指标
  • 使用 glfw3 glew 和 opengl 在 Visual Studio 社区中获取访问冲突异常

    我遇到这个问题已经有一段时间了 但出于我的爱 我无法找到解决方案 我想渲染一个简单的三角形 但在编译程序时 我不断在 Visual Studio 中获得此输出 注意 gt 我不认为这不是链接问题而是其他问题 我已经检查了我的链接器无数次 一
  • 对数据进行排序以在 python 中从高到低呈现条形图

    我有很多出现的数字 想将它们绘制在条形图 如直方图 中 我已经让图表正常工作 但它是按照我输入值的顺序排列的 而不是从最高到最低的顺序 这正是我想要的 这是到目前为止的代码 phenos 128 20 0 144 4 16 160 136
  • 从 C# DbCommand 将 NULL 插入 SQL DB

    DbParameter param comm CreateParameter param comm CreateParameter param ParameterName StaffId if string IsNullOrEmpty ac
  • 使用 Grok for Logstash 解析 Apache2 错误日志

    我试图解析我的 apache2 错误日志 但遇到了一些麻烦 它似乎与过滤器不匹配 我很确定时间戳部分是错误的 但我不确定 而且我真的找不到任何文档来解决它 另外 有没有办法获取其中的内容fields errmsg to me message