在logstash字段中包含单调递增的值?

2023-12-06

我知道通过 Logstash 处理文件时没有内置的“行计数”功能(出于各种可理解和记录的原因)。但是 - 在任何给定的 Logstash 实例中应该有一种机制 - 为每个解析的行提供一个单调递增的变量/计数。

我不想采用指标路线,因为它是一种连续轮询机制(每 n 秒)。替代方案包括对日志文件进行预处理,考虑到我的特定用例,这是不可接受的。

再次,让我重申 - 我需要能够生成/读取单调递增变量,我可以将其存储在 Logstash 过滤器中。

想法?


Logstash 中没有内置任何内容来执行此操作。

您可以构建一个过滤器来轻松完成此操作

只需将类似的内容放入 lib/logstash/filters/seq.rb 即可

# encoding: utf-8
require "logstash/filters/base"
require "logstash/namespace"
require "set"
#
# This filter will adds a sequence number to a log entry
#
# The config looks like this:
#
#     filter {
#       seq {
#         field => "seq"
#       }
#     }
#
# The `field` is the field you want added to the event.
class LogStash::Filters::Seq < LogStash::Filters::Base

  config_name "seq"
  milestone 1

  config :field, :validate => :string, :required => false, :default => "seq"

  public
  def register
    # Nothing
  end # def register

  public
  def initialize(config = {})
    super

    @threadsafe = false

    # This filter needs to keep state.
    @seq=1
  end # def initialize

  public
  def filter(event)
    return unless filter?(event)
    event[@field] = @seq
    @seq = @seq + 1
    filter_matched(event)
  end # def filter
end # class LogStash::Filters::Seq

每次重新启动 Logstash 时都会从 1 开始,但对于大多数情况,这是可以的。如果您需要在重新启动后保留某些内容,则需要做更多工作才能将其保留在某个地方

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

在logstash字段中包含单调递增的值? 的相关文章

  • 在Java程序中运行Logstash

    我已经在 ElasticSearch 中创建了索引和字段 我可以使用以下命令成功运行 Logstash 配置文件 将 MySQL 数据库表中的数据添加到 ElasticSearch 中 bin logstash f PATH TO LOGS
  • 在logstash字段中包含单调递增的值?

    我知道通过 Logstash 处理文件时没有内置的 行计数 功能 出于各种可理解和记录的原因 但是 在任何给定的 Logstash 实例中应该有一种机制 为每个解析的行提供一个单调递增的变量 计数 我不想采用指标路线 因为它是一种连续轮询机
  • 使用 Logstash 将数据从 Elasticsearch 导出到 CSV

    如何使用 Logstash 将数据从 Elasticsearch 导出到 CSV 我只需要包含特定的列 安装2plugins 弹性搜索输入插件 and csv输出插件 然后创建一个配置文件 这是这个特殊案例的一个很好的例子 现在你已经准备好
  • 当logstash过滤器获取eof时如何返回终端?

    现在 当logstash过滤器获取eof时 似乎logstash过滤器正在运行 但文件没有更多日志可输出到elasticsearch索引 当文件末尾 eof 时 我怎样才能退出logstash过滤器来执行其他任务 我在logstash过滤器
  • Logstash 与 java10 出现错误:无法识别的 VM 选项“UseParNewGC”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在跑logstashJava 10 如下 logstash f std std conf 但我收到此错误 Unrecognize
  • Logstash 不读取文件输入

    我在使用 Logstash 时遇到了一个奇怪的问题 我提供一个日志文件作为logstash 的输入 配置如下 input file type gt apache access path gt C Users spanguluri Downl
  • Logstash不处理filebeat发送的文件

    我已经使用 docker 设置了 elk 堆栈基础设施 我看不到 Logstash 正在处理的文件 Filebeat 配置为将 csv 文件从logstash 发送到logstash 再发送到elasticsearch 我看到logstas
  • Logstash 无法使用多个文件通配符路径

    Logstash 似乎无法读取带有通配符的路径 这是我的配置文件 input file path gt C logs app log type gt MyType filter output elasticsearch 我通过用斜杠替换反斜
  • 如果不设置 vm.max_map_count,ElasticSearch 5.0.0-aplha4 将无法启动

    我希望将我的 ES 版本从 2 3 更新到 5 0 0 alpha4 以便能够使用 Ingest 节点并删除 Logstash 但如果我不将 vm max map count 设置为 262144 ES 5 x 版本似乎无法启动 我不想设置
  • Logstash 的 Django 日志记录格式

    我正在尝试将 django 应用程序配置为以 Logstash 易于使用的格式写入日志 受到 Node 的 Winston 日志记录包的启发 Logstash 需要一个 JSON 对象 其中包含键 message 和时间戳 timestam
  • kafka 主题中的唯一消息检查

    我们使用 Logstash 希望从 Oracle 数据库读取一张表并将这些消息 如下所示 发送到 Kafka Topic1 message1 name name 1 id fbd89256 12gh 10og etdgn1234njF si
  • 在logstash中使用grok解析多行JSON

    我有一个 JSON 格式 SOURCE Source A Model ModelABC Qty 3 我正在尝试使用 Logstash 解析此 JSON 基本上我希望logstash 输出是一个键 值对列表 我可以使用kibana 进行分析
  • 删除包含哈希字符的日志行

    在我的 Logstash 发货程序中 我想过滤掉用哈希字符注释的行 This log row should be dropped But one this should not 我能够使用grep过滤器 但由于不鼓励 即将退役 我试图获得一
  • 将特定的MDC字段附加到logstash日志中

    我正在尝试将自定义字段添加到 logback spring xml 中的 Logstash Appender 中 如下所示
  • Logstash 的流行为不一致 - ELK

    我有一个包含几个平面字段和几个嵌套字段的索引 我正在尝试通过 Logstash 将 SQL Server 中的信息通过特定 ID 流式传输到嵌套字段中 当我流式传输数据时only one然后它就完全成功地通过了 没有任何问题 另一方面 当我
  • Logstash 配置:检查布尔字段是否存在

    使用Logstash 1 4 2 我有一个字段myfield这是我的 JSON 文档中的布尔值 为了检查它是否存在 不关心布尔值 我使用了 if myfield exists else doesn t exist 测试该条件语句的结果是 m
  • 使用 Grok for Logstash 解析 Apache2 错误日志

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

    我在 Windows 中使用 Logstash 我无法安装输入 jdbc 插件 因此我手动下载了 zip 文件 并将插件中的logstash 文件夹放入我的logstash 1 5 2 文件夹中 文件夹结构 D elastic search
  • Logstash删除类型并保留_type

    我有一个logstash 客户端和服务器 客户端将带有logstash的udp输出的日志文件发送到服务器 服务器也运行logstash来获取这些日志 在服务器上 我有一个 json 过滤器 它会在实际日志的字段中提取 json 格式的消息
  • 如何在 Logstash 中将一个事件的字段引用到另一个事件?

    我目前正在处理日志 其中一些内容如下所示 00 19 59 771 07120 evtThread TRC gt Cem lt Core1 CALL STATE 00 20 00 199 05768 BCMApplicationThread

随机推荐

  • 条形图上的错误栏

    我试图得到 一个漂亮的组条形图 我希望每个条形上都有误差条 如下所示 或类似的 由您自行决定 我有办法 ff Medical eq Patient Hygiene Near bed Far bed Direct 1 2759 0 9253
  • 为什么我的 XML 阅读器读取所有其他元素?

    我构建了一个非常简单的表格 显示 4 列和 4 行 执行以下代码时 它会显示 xml 文件中的所有其他元素 它不区分每个表行 它读起来没有任何问题 而且我已经运行了 xml 验证器 所以这不是语法问题 public partial clas
  • 什么时候需要条件变量,互斥锁还不够吗?

    我确信互斥锁还不够 这就是条件变量概念存在的原因 但这让我很困惑 当条件变量至关重要时 我无法用具体的场景说服自己 条件变量 互斥锁和锁之间的区别问题的接受答案说条件变量是 带有 信号 机制的锁 当线程需要时使用它 等待资源变得可用 线程可
  • FFMPEG 链接错误

    我正在尝试编译此版本的修改版本来自 FFMPEG 站点的转码示例 我已经使用了所有必需的包含并使用此加入了库 INCLUDEPATH FFMPEG DEV PATH include LIBS L FFMPEG DEV PATH lib la
  • 无论如何,我可以突出显示 JTable 中的一行吗?

    我目前正在使用 JTable 和 DefaultTableModel 构建数据库 在我的程序中我 具有允许用户搜索数据库的功能 我已经构建了搜索部分 但没有 知道如何突出显示 JTable 中的行或单元格 有人可以帮帮我吗 谢谢 您确定要突
  • PHP 访问数组值[重复]

    这个问题在这里已经有答案了 我正在尝试访问我创建的数组的值 但似乎失败了 我正在循环发送 VIA http 的数组 并添加docno and entryno到名为的新数组 ArrID 它可以添加到新数组中 但是当我尝试访问ArrID似乎没有
  • Sequelize 连接模型包括多对多

    假设我有三个这样的模型 var User define user username Sequelize INTEGER var UserPubCrawl define userpubcrawl user id Sequelize STRIN
  • Python中重新赋值会从内存中删除之前的值吗?

    gt gt p 5 gt gt id p 140101523888800 gt gt p 5 56 gt gt id p 140100617985840 我知道将新值分配给现有变量时 它指向内存中存储新值的新位置 但我的问题是 包含先前值的
  • selenium python 中 find_element_by_class_name 的属性是什么?

    browser webdriver Firefox browser get url divs browser find elements by class name class browser find element by class n
  • 使用 C 中的 regex.h 计算匹配数

    我正在使用 POSIX 正则表达式regex h用 C 语言计算英语文本片段中短语出现的次数 但返回值是regexec 只告诉是否找到匹配项 所以我尝试使用nmatch and matchptr找到不同的外观 但是当我打印出匹配项时matc
  • 为什么值类型没有出现默认构造函数?

    下面的代码片段给了我一个类型的构造函数和方法的列表 static void ReflectOnType Type type Console WriteLine type FullName Console WriteLine List
  • 寻找带有复选框的 WPF ComboBox

    我的谷歌技能让我失败了 任何人都听说过 WPF 这样的控件 我试图让它看起来像这样 winforms 屏幕截图 您可以通过设置组合框的 DataTemplate 自行完成此操作 本文向您展示了如何操作 对于列表框 但原理是相同的 另一篇文章
  • JQuery UI Accordion 无法处理 AJAX 加载的内容

    我正在尝试动态加载产品信息页面 该页面有一个手风琴菜单供用户浏览 单击按钮后 我使用 AJAX 动态引入手风琴的内容 手风琴的 HTML 以其应有的方式显示 但手风琴 方法 未执行以将内容修改为手风琴 Imports
  • 控制到达非 void 函数的末尾

    以下代码片段在编译时会生成一些警告消息 Cluster Myclass getCluster const Point p foreach Cluster c this foreach Point point c if point p ret
  • 使用 EclipseLink JPA 将 XML 类型存储到 PostgreSQL

    我是 JPA 新手 我有一个关于如何使用 JPA 将 XML 类型存储到 PostgreSQL 的问题 我只是扩展现有的 POJO 以将附加的 XML 字段保留到列中 POJO 看起来像这样 我故意省略了一堆其他列以使其更短 在添加这个额外
  • 用图像替换 x 轴刻度标签

    我正在绘制一个散点图 展示所有 NFL 球队的防守 我想在底部轴上显示他们的图像 而不是纯文本中的他们的名字 可以这样做吗 这是我能想到的代码片段 fig px scatter df x defensiveTeam y passResult
  • 使用 Lambda 或 LINQ 将一个类实例转换或映射到另一个类实例的列表?

    我有以下两个课程 class MyData public List
  • 打印出 ASCII 圆和轴

    该程序在笛卡尔平面上打印一个圆 输入是 半径 圆心坐标 cx cy 以及我们要用来打印圆的字符 如果圆上的点与轴重叠 则该点优先 我在方法中编写了打印轴的条件drawCircle 但是图像扭曲了 有些事情让我困惑 有人可以帮助我找出我的错误
  • '导入 x' 与“'从 x 导入 y' 和 '导入 x.y' ”

    我试过 from urllib import request mine request Request and import urllib request mine urllib request Request 他们都工作得很好 但 imp
  • 在logstash字段中包含单调递增的值?

    我知道通过 Logstash 处理文件时没有内置的 行计数 功能 出于各种可理解和记录的原因 但是 在任何给定的 Logstash 实例中应该有一种机制 为每个解析的行提供一个单调递增的变量 计数 我不想采用指标路线 因为它是一种连续轮询机