在 Logstash 中转换时间戳时区作为输出索引名称

2023-11-28

在我的场景中,Logstash 接收的系统日志行的“时间戳”采用 UTC 格式,我们在 Elasticsearch 输出中使用事件“时间戳”:

output {
    elasticsearch {
        embedded => false
        host => localhost
        port => 9200
        protocol => http
        cluster => 'elasticsearch'
        index => "syslog-%{+YYYY.MM.dd}"
    }
}

我的问题是,在 UTC 午夜,Logstash 在一天结束之前将日志发送到不同时区(GMT-4 => 美国/蒙特利尔)的不同索引,并且由于“时间戳”,该索引在 20 小时(晚上 8 点)之后没有日志“ 是 UTC。

我们已经完成了转换时区的工作,但我们遇到了显着的性能下降:

filter {
    mutate {
        add_field => {
            # Create a new field with string value of the UTC event date
            "timestamp_zoned" => "%{@timestamp}"
        }
    }

    date {
        # Parse UTC string value and convert it to my timezone into a new field
        match => [ "timestamp_zoned", "yyyy-MM-dd HH:mm:ss Z" ]
        timezone => "America/Montreal"
        locale => "en"
        remove_field => [ "timestamp_zoned" ]
        target => "timestamp_zoned_obj"
    }

    ruby {
        # Output the zoned date to a new field
        code => "event['index_day'] = event['timestamp_zoned_obj'].strftime('%Y.%m.%d')"
        remove_field => [ "timestamp_zoned_obj" ]
    }
}

output {
    elasticsearch {
        embedded => false
        host => localhost
        port => 9200
        protocol => http
        cluster => 'elasticsearch'
        # Use of the string value
        index => "syslog-%{index_day}"
    }
}

有没有办法优化这个配置?


这是优化配置,请尝试测试一下性能。

你不需要使用mutate and date插入。使用ruby直接插件。

input {
    stdin {
    }
}

filter {
    ruby {
            code => "
                    event['index_day'] = event['@timestamp'].localtime.strftime('%Y.%m.%d')
            "
    }
}

output {
    stdout { codec => rubydebug }
}

输出示例:

{
       "message" => "test",
      "@version" => "1",
    "@timestamp" => "2015-03-30T05:27:06.310Z",
          "host" => "BEN_LIM",
     "index_day" => "2015.03.29"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Logstash 中转换时间戳时区作为输出索引名称 的相关文章

  • 如何使用 watir 滚动网页

    我正在尝试滚动网页以查找并单击页面滚动时延迟加载的内容 我正在使用以下命令 require watir webdriver browser Watir new firefox browser send keys space 我在 Firef
  • ruby 的 StringIO 类到底是什么?

    我想我明白StringIO有点类似于Java的StringBuffer类 但我不太完全理解 您将如何定义它及其在 Ruby 中的用途 可能的用途 只是希望能够消除我的困惑 no StringIO http ruby doc org stdl
  • 回形针如何更改基本名称(文件名)?

    我正在尝试更改照片的基本名称 文件名 在我的模型中我有 attr accessor image url basename has attached file image styles gt original gt 300x250 gt pn
  • 超出elasticsearch中字段的最大长度 - kibana中的错误

    发现 prod logs 索引的 CSnZmwB xkQcDCOrP1V 文档的 message 字段的长度已超过 1000000 允许分析突出显示的最大值 可以通过更改 index highlight max analyzed offse
  • Elasticsearch 聚合过滤器

    因为我在谷歌上找不到任何东西 是否可以在elasticsearch中过滤聚合 我正在考虑这样的事情 获取 SOME object X gt 100 的所有对象 提前致谢 编辑 样本数据 我有以下文档结构 docKey 1 value 2 d
  • 将对象数组中的属性映射到另一个数组的更有效的 Ruby 方法?

    我不会在这里重复我的问题 但是有没有更有效的方法来写这个 def recruits names names for r in self referrals do names lt lt r display name end return n
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • 如何使用 Ruby 2.7.0 修复 Rails 的警告消息

    有没有人解决这个问题Ruby 2 7 0 I used rbenv并安装了 Ruby v2 7 0 然后使用创建了一个 Rails 项目Rails v6 0 2 1 目前 通过运行之一 rails s rails s u puma rail
  • (在 Ruby 中)允许混合类方法访问类常量

    我有一个为其定义常量的类 然后我定义了一个类方法来访问该类常量 这很好用 一个例子 usr bin env ruby class NonInstantiableClass Const hello world class lt lt self
  • 获取数据框中列与特定值匹配的整数行索引

    给定一个 Pandas 数据框 其中一列如下所示 Date 2016 04 15 2016 04 14 2016 04 13 2016 04 12 2016 04 11 2016 04 08 假设值是唯一的 如何获取特定值的行索引 例如 2
  • Apache Cassandra 中的复合索引

    我正在尝试设置一个 cassandra 列族 其中一些列上有二级索引 在读回数据时我需要进行过滤 在我最初的测试中 当我一起使用多个索引时 速度会变慢 这是我当前的配置方式 通过 cassandra cli update column fa
  • Rails Searchkick / Elasticsearch has_many 和belongs_to 关联

    我尝试使用 Searchkick 运行搜索并基于多个模型返回 我的书本模型包含这个 class Book lt ActiveRecord Base searchkick has many book subjects has many sub
  • 方法调用中是否有记忆约定?

    我想避免在方法调用中重新评估值 直到现在 我一直在这样做 def some method some method begin lot s of code end end 但它最终变得非常丑陋 在一些代码中 我看到类似以下内容 def som
  • 嵌套类型的动态映射

    我正在尝试为如下对象创建动态映射 product productId 99999 manufacturerId A0001 manufacturerCode A101LI name Test Product description Desc
  • 为什么 rand() 总是返回相同的数字?

    我在用 兰特 200 在我的 Rails 应用程序中 当我在控制台中运行它时 它总是返回随机数 但如果我在应用程序行中使用它 index rand 200 索引总是相同的号码 为什么会这样以及如何克服这个问题 简单的伪随机数生成器实际上生成
  • ||= 是什么意思? [复制]

    这个问题在这里已经有答案了 我的应用程序控制器中有一个受保护的方法 def current user current user User find by id session user id end 我想知道什么 方法 我一直在努力寻找和找
  • Ruby 的字符串并置功能的官方文档在哪里?

    我最近意识到 如果你并置一系列 Ruby 字符串文字 例如 a b c 它相当于这些字符串文字的串联 但是 我在任何地方都找不到这种语言功能的记录 我使用术语 并置 和 串联 进行搜索 但只在几个 StackOverflow 响应中找到了对
  • 如何更新与elasticsearch中的查询匹配的多个文档

    我的文档最初只包含 url 已分析 和 respsize 未分析 字段 我想更新与 url 匹配的文档并添加新字段 类别 我是说 首先doc1 url http stackoverflow com users 4005632 mehmet
  • 在 mac os Sierra 上,卡在“设置 CocoaPods 主存储库”上

    转移到 mac os sierra 后 我完全格式化了我的 mac 现在每次运行时我都面临安装 cocoapods 的问题sudo gem install cocoapods pre一切都安装得很好 当我尝试安装 Pod 时 终端堆栈打开S
  • rspec 中的模拟方法链

    有一系列方法可以获得user目的 我试图模拟以下内容以返回user in my Factory Girl current user AuthorizeApiRequest call request headers result 我可以模拟该

随机推荐

  • 分割字符串并返回mssql中最大的

    我需要找到一种方法来获取具有最高versionNumber的数据 这是我的数据库设计 VERSIONNUMBER varchar 15 DOWNLOADPATH varchar 100 假设我有这样的记录 VERSIONNUMBER DOW
  • 如何禁用浏览器上的 F5 刷新?

    最好使用 JavaScript 但也想听听其他方法 这将禁用 F5 但不会禁用实际的刷新功能 document onkeydown function e if e keyCode 116 return false 至少在 Chrome XP
  • opengl创建一个用于读取的深度模板纹理

    我在应用程序中使用延迟渲染 并尝试创建一个包含深度和模板的纹理 glTexImage2D GL TEXTURE 2D 0 GL DEPTH24 STENCIL8 width height 0 GL FLOAT 0 现在 opengl 对于这
  • 带有空格、双引号、管道的批处理文件参数

    我有一个批处理文件 需要传递一个包含管道和空格的参数 由于存在空格 因此在传入参数时需要将双引号附加到参数上 我需要去掉这些双引号并回显参数 通常 使用 可以让我做到这一点 但我认为我传入的特定参数会导致问题 如果我这样做 测试1 bat
  • Pandas 通过行号(不是行索引)和列名称获取单元格值

    data tom 10 nick 15 juli 14 df pd DataFrame data columns Name Age index 7 3 9 display df df iat 0 0 我想返回第一行中的年龄 基本上类似于 d
  • 用 C 写入 CSV 文件 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我的 C 程序生成此数据 我需要将其放入 CSV 文件中 以便其他程序可以使用它 我怎样
  • Android - 加速下降(粉碎)

    视频为不懂的人讲解 此答案未正确回答 请尝试使用其他解决方案来回答 100 赏金已过时 同样的问题 但更好的解释 这个问题被认为是正确的 但根本不是 我用我的旧设备 ZTE 尝试过 大部分时间都有效 但现在我有一台三星 Galazy A5
  • 异步/等待类构造函数

    目前 我正在尝试使用async await在类构造函数中 这样我就可以定制e mail我正在开发的 Electron 项目的标签 customElements define e mail class extends HTMLElement
  • 应用程序中的最大活动量?安卓

    Android 应用程序中有类似最大活动的东西吗 我想知道 因为我正在考虑创建具有铃声功能的声音应用程序 它将有大约 40 项活动 但只有 1 个会持续运行 是不是太多了 我应该寻找其他方法吗 解释为什么我需要 40 项活动 我有 30 个
  • Python 中的不变性 [重复]

    这个问题在这里已经有答案了 我试图了解 python 中的不变性是如何工作的 由于字符串在 python 中是不可变的 所以我希望每次执行字符串操作时 id 都会改变 但它没有按预期工作 例子 对 t 的最后一次操作不会更改其 id 有什么
  • 使用 Crypto++ 的 AES 示例 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我一直在互联网上搜索goodc AES 代码示例 教程 教授加密技术的基础知识和库的使用 但到目前为止我还没有运气获得像样的材料 好 易于理解 只是移动学习的基础知识 官方文件加密
  • 运行 Heroku 控制台无法启动

    我正在尝试运行 Heroku 控制台 但在控制台中 我收到消息 运行连接到终端的控制台 但控制台没有启动 在 Heroku 日志中 我收到错误 Error no child processes attached 有什么帮助吗 我刚刚与 He
  • jsp:setproperty property="*" 是什么意思?

  • 在xaml中将html字符串内容绑定到Webview

    我的 xaml 中有一个 webview 如下所示
  • Safe Max Java 卡 APDU 数据命令和响应大小

    Java Card APDU 中建议的数据字段大小是多少 来自陈志群的Java Card Technology for Smart Cards Architecture and Programmer s Guide书中提到 Le 字段最多允
  • 关于从使用块返回的最佳实践[重复]

    这个问题在这里已经有答案了 哪种方法更好 从 an 内部的方法返回一个值using声明或声明一个变量之前 将其设置在里面并在之后返回它 public int Foo using return bar or public int Foo va
  • System.DllNotFoundException:无法在 Windows 2003 上加载 DLL

    我在我的c 项目中使用了c dll 它在我的window xp机器上运行良好 但是当我在window 2003服务器 x64 上复制我的调试项目时 我收到了下面的错误 任何人都可以告诉我这是什么问题吗 我该如何解决它 Thanks Syst
  • 在谷歌驱动器android的文件夹内创建一个文件夹

    我想将 Google Drive 与我的应用程序集成 我已在 Google Developers Console 中注册了我的应用程序 我得到了一个样本https github com googledrive android demos通过
  • 无法让 SQL Server Compact 3.5 / 4 与 ASP .NET MVC 2 一起使用

    我使用的是 Visual Studio 2008 专业版 我可能在这里遗漏了一些非常明显的东西 但我一直在尝试让 Sql Server Compact 4 的 CTP 在我的 asp net mvc 应用程序中工作 我几乎找不到有关如何设置
  • 在 Logstash 中转换时间戳时区作为输出索引名称

    在我的场景中 Logstash 接收的系统日志行的 时间戳 采用 UTC 格式 我们在 Elasticsearch 输出中使用事件 时间戳 output elasticsearch embedded gt false host gt loc