Logstash 可以同时处理多个输出吗?

2023-12-28

我对 Logstash 和弹性搜索很陌生。我正在尝试将日志文件存储在elasticsearch 和平面文件中。我知道logstash 支持这两种输出。但它们是同时处理的吗?还是通过工作定期完成?


是的,您可以通过使用托运人配置上的“add_tag”命令标记和克隆您的输入来执行此操作。

input
{
    tcp     { type => "linux" port => "50000" codec => plain { charset => "US-ASCII" } }
    tcp     { type => "apache_access" port => "50001" codec => plain { charset => "US-ASCII" } }
    tcp     { type => "apache_error"  port => "50002" codec => plain { charset => "US-ASCII" } }
    tcp     { type => "windows_security" port => "50003" codec => plain { charset => "US-ASCII" } }
    tcp     { type => "windows_application" port => "50004" codec => plain { charset => "US-ASCII" } }
    tcp     { type => "windows_system" port => "50005" codec => plain { charset => "US-ASCII" } }
udp { type => "network_equipment" port => "514" codec => plain { charset => "US-ASCII" } }
udp { type => "firewalls" port => "50006" codec => plain }
}
filter
{
    grok    { match => [ "host", "%{IPORHOST:ipaddr}(:%{NUMBER})?" ] }
    mutate  { replace => [ "fqdn", "%{ipaddr}" ] }
    dns     { reverse => [ "fqdn", "fqdn" ] action => "replace" }
    if [type] == "linux"                    { clone { clones => "linux.log" add_tag => "savetofile" } }
    if [type] == "apache_access"            { clone { clones => "apache_access.log" add_tag => "savetofile" } }
    if [type] == "apache_error"             { clone { clones => "apache_error.log" add_tag => "savetofile" } }
    if [type] == "windows_security"         { clone { clones => "windows_security.log" add_tag => "savetofile" } }
    if [type] == "windows_application"      { clone { clones => "windows_application.log" add_tag => "savetofile" } }
    if [type] == "windows_system"           { clone { clones => "windows_system.log" add_tag => "savetofile" } }
    if [type] == "network_equipment"        { clone { clones => "network_%{fqdn}.log" add_tag => "savetofile" } }
if [type] == "firewalls"        { clone { clones => "firewalls.log" add_tag => "savetofile" } }
}
output
{
    #stdout { debug => true }
    #stdout { codec => rubydebug }
    redis   { host => "1.1.1.1" data_type => "list" key => "logstash" }
}

在你的主logstash实例上你可以这样做:

input {
    redis {
    host => "1.1.1.1" 
    data_type => "list" 
    key => "logstash" 
    type=> "redis-input"
    # We use the 'json' codec here because we expect to read json events from redis.
    codec => json
          }
    }
    output
    {
        if "savetofile" in [tags] {
            file {
                path => [ "/logs/%{fqdn}/%{type}" ] message_format => "%{message}"   
            } 
        }
        else { elasticsearch { host => "2.2.2.2" }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Logstash 可以同时处理多个输出吗? 的相关文章

  • Logstash 是否支持 Elasticsearch 的 _update_by_query?

    Elasticsearch输出插件是否支持elasticsearch的 update by query https www elastic co guide en logstash 6 5 plugins outputs elasticse
  • Logstash 中需要 #、输入、过滤器、输出之一

    我试图通过简单地执行文档中给出的命令来回显所输入的内容来使 Logstash 安装工作 但这给了我以下错误 我的命令 C logstash 1 4 0 bin gt logstash bat agent e input stdin outp
  • 当logstash过滤器获取eof时如何返回终端?

    现在 当logstash过滤器获取eof时 似乎logstash过滤器正在运行 但文件没有更多日志可输出到elasticsearch索引 当文件末尾 eof 时 我怎样才能退出logstash过滤器来执行其他任务 我在logstash过滤器
  • 无法识别获取内容命令

    我们有通常在 UNIX 环境中执行的脚本 以下是脚本中的一行 command gt use bin tail n 1 path grep silent F message rm f path 当在 PowerShell 中运行时 use b
  • Logstash - Memorize 插件的使用

    尝试使用 记忆 插件 如下所示 if message matching event grok match gt message mymatch datetime memorize field gt datetime if message a
  • 在 ElasticSearch 中以微秒格式保存日期

    我正在尝试使用 jdbc 输入插件和 Logstash 将一组事件从 MySQL 数据库保存到弹性搜索中 数据库中的事件记录包含微秒格式的日期字段 实际上 数据库中存在几微秒之间的记录 导入数据时 Elasticsearch 会将微秒日期格
  • Logstash 可以同时处理多个输出吗?

    我对 Logstash 和弹性搜索很陌生 我正在尝试将日志文件存储在elasticsearch 和平面文件中 我知道logstash 支持这两种输出 但它们是同时处理的吗 还是通过工作定期完成 是的 您可以通过使用托运人配置上的 add t
  • Logstash:如何将文件名添加为字段?

    我使用 Logstash Elasticsearch Kibana 来概览我的 Tomcat 日志文件 对于每个日志条目 我需要知道它来自的文件的名称 我想将其添加为字段 有办法做到吗 我用谷歌搜索了一下 只发现这个问题 https sta
  • 使用 Logstash CSV 过滤器不起作用

    我试图在 Logstash 上使用 CSV 过滤器 但它可以上传我的文件的值 我正在使用 Ubuntu Server 14 04 kibana 4 logstash 1 4 2 和 elasticsearch 1 4 4 接下来 我将展示我
  • Logstash 索引文本文件

    我想在 Elasticsearch 中导入一个文本文件 该文本文件每行包含 3 个值 经过几个小时的努力 我还是没有完成 非常感谢您的帮助 安装了 Logstash 的 Elasticsearch 5 4 0 样本数据 username e
  • 如何在 Logstash 中获取部分 Filebeat 源文件名

    我有一个 Filebeat 实例 版本 7 5 0 在 Windows Server 上运行 监视本地文件夹中的日志文件 并将这些数据向前发送到 Logstash 版本 7 5 0 在 Docker 容器中运行 在 Logstash 中 我
  • 使用grok将日志文件名添加为logstash中的字段

    我在用着Grok http logstash net docs 1 4 1 filters grok Logstash 将访问日志从 Nginx 发送到 Elastic search 我正在向 Logstash 提供所有访问日志 使用通配符
  • Logstash grok 过滤器配置用于 php monolog 多行(stacktrace)日志

    2018 02 12 09 15 43 development WARNING home page 2018 02 12 09 15 43 development INFO home page 2018 02 12 10 22 50 dev
  • Logstash:将 URL 参数获取到哈希值中

    我正在尝试使用 Logstash 和 ElasticSearch 来监视我的 Apache Web 服务器活动 目前 它工作得很好 但我需要有关我的请求字段的更多具体信息 此时我的logstash配置是 filter grok match
  • Kibana 返回“连接失败”

    我正在尝试在 Windows 2008 R2 中使用 Kibana 运行 ElasticSearch 我关注了这篇文章 在带有 kibana 的 Windows 服务器上安装logstash https community ulyaoth
  • Logstash 的流行为不一致 - ELK

    我有一个包含几个平面字段和几个嵌套字段的索引 我正在尝试通过 Logstash 将 SQL Server 中的信息通过特定 ID 流式传输到嵌套字段中 当我流式传输数据时only one然后它就完全成功地通过了 没有任何问题 另一方面 当我
  • 无法执行操作:action=>LogStash::PipelineAction::Create/pipeline_id:main

    我已在 CentOS7 VM 上安装了 ELK 堆栈版本 7 0 0 但在 Logstash 服务启动期间遇到了问题 错误 2019 05 13 08 21 37 359 Converge PipelineAction Create 代理
  • Logstash 的 Java 过滤器

    你知道 Logstash 有一个 Ruby 过滤器 它使我能够用 Ruby 编写代码 它通常包含在配置文件中 如下所示 filter ruby code gt 现在我有两个 Jar 文件 我想将它们包含在过滤器中 以便可以根据我在这些 Ja
  • 如何在logstash.conf文件中创建多个索引?

    我使用以下代码在logstash conf中创建索引 output stdout codec gt rubydebug elasticsearch host gt localhost protocol gt http index gt tr
  • Logstash 中的数学函数

    我期待对 Logstash 中收到的输入进行数学运算 但无法看到任何此类操作filter 输入如下 user id User123 date 2016 Jun 26 12 00 12 data doc name mydocs xls doc

随机推荐

  • 更新 MongoDB 中数组元素的值

    我想知道如何更新数组 array of stuff 中 名称 字段标识的元素之一的 值 字段 例如 我想将 name of thing 1 的值更新为 new value of thing 1 我怎样才能做到这一点ONLY使用更新命令的第二
  • 如何从 HTML 表格中删除特定单元格?

    假设我有 HTML 表格 并且我想从 HTML 表格中删除一个单元格 如下所示 我已将单元格边框颜色更改为白色 因为整个表格的边框颜色是黑色 因此它显示灰色 问题是我无法删除表格边框 所以我使用了边框折叠 折叠 那么我怎样才能改变它 使边框
  • Hive 表的 ORC 拆分生成问题

    我在 Hadoop 3 3 4 上使用 Hive 版本 3 1 3 和 Tez 0 9 2 当我创建一个包含拆分的 ORC 表并尝试查询它时 我得到一个ORC split generation failed例外 如果我连接表格 https
  • cocos2d可以调节音量吗?

    我使用以下方法 在cocos2d中表达声音效果 SimpleAudioEngine sharedEngine playBackgroundMusic BackGround m4a 但背景音乐的音量太小 那么 有没有办法调节音量呢 Simpl
  • 无法使用 Eclipse 和 Maven 让 Struts2 Hello World 工作

    该网站不允许用户向他们的教程提出技术问题 我认为该教程已损坏 http www mkyong com misc how to use mkyong tutorial http www mkyong com misc how to use m
  • std::function 无法区分重载函数

    我试图理解为什么std function无法区分重载函数 include
  • 无法加载私钥。 (PEM例程:PEM_read_bio:无起始行:pem_lib.c:648:预期:任何私钥)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个 key 文件 它是 PEM 格式的私钥文件 我没有制作这个文件 但我从某个地方得到了这个 我想使用 openssl 工具查看其
  • 如何对齐Gridview中心

    我想将 GridView 居中对齐 我还是这样 正如您在上图中看到的 我在左侧获取图像 但我想在中心显示图像 如下所示 另一件事是获得文本背景的额外宽度我如何仅在图像中显示文本背景 现在 gridview 位于中心 但仍然遇到问题 请参阅文
  • 在 Titanium 应用程序中找不到库 stlport_shared

    我想创建一个 Titanium 模块 因此我有一个扩展 KrollModule 及其方法的类 Kroll method public void example Activity activity this getActivity Strin
  • git 子模块的公共子模块

    我有一个申请main由多个子模块组成A B and utility functions 这两个子模块A and B本身包含子模块utility functions main A utility functions B utility fun
  • Tesseract-OCR 3.02 与 libc++

    Xcode 4 6 iOS SDK 6 1 tesseract ocr 3 02 由于最新的 OpenCV 版本是使用构建的libc 并且 tesseract ocr 是使用构建的libstdc 库 它们不能在一个 xcode 项目中一起使
  • 禁止用户订阅 Firebase 主题

    如何消除应用程序用户拨打电话的机会FirebaseMessaging subscribeToTopic String 为了仅在服务器端处理主题管理 Firebase 云消息传递主题是公开的 无法阻止特定用户订阅它们
  • ERRO[0043] 拨打 gRPC 失败:无法升级到 h2c,收到 501

    当我尝试使用以下命令构建 Dockerfile 时docker build t myimage1 今天我收到这个错误 ERRO 0043 failed to dial gRPC unable to upgrade to h2c receiv
  • 用lark语法识别多行部分

    我正在尝试编写一个简单的语法来解析具有多行部分的文本 我不知道该怎么做 这是我到目前为止写的语法 如果有任何帮助 我们将不胜感激 ps 我意识到 lark 对于这个问题来说太过分了 但这只是我试图解析的一个非常简化的版本 from unit
  • 调试多线程应用程序[重复]

    这个问题在这里已经有答案了 我有一个用 C 和 MFC 编写的应用程序 它在 Windows 上运行多线程 有时我确实会收到一些抱怨 例如由于这些线程而导致的死锁或未处理的异常 通常我使用 Visual Studio 如果问题可重现 或使用
  • 恢复 git merge 冲突标志

    我正在尝试找出一种与团队其他成员共享合并冲突的方法 我们有一些非常大的分支 合并它们会产生很多冲突 我尝试了几种不同的方法 我当前的尝试包括将处于冲突状态的文件推送到远程存储库 将合并标记留在文件中 然后运行一个烦人的长别名来 grep 通
  • SciPy Optimizer 给出不满足约束的结果

    我正在使用 scipy optimize minimize 来解决问题 但包给出的结果违反了约束 这种情况非常简单 只给出一个目标函数和一个约束 这是代码 import math import numpy as np import scip
  • 将所有 QLineEdits 设置为只读

    我试图将我的所有 QLineEdits 大约有 150 个 设置为只读 有没有办法在不单独检查和设置每个 QLineEdits 的情况下执行此操作 我希望我能做类似的事情QLineEdit setReadOnly true 在我的构造函数中
  • 用于查找无效电子邮件地址的 SQL 脚本

    数据导入是从 Access 数据库完成的 并且没有对电子邮件地址字段进行验证 有没有人有一个可以返回无效电子邮件地址列表 缺少 等 的sql脚本 SELECT FROM people WHERE email NOT LIKE 任何更复杂的事
  • Logstash 可以同时处理多个输出吗?

    我对 Logstash 和弹性搜索很陌生 我正在尝试将日志文件存储在elasticsearch 和平面文件中 我知道logstash 支持这两种输出 但它们是同时处理的吗 还是通过工作定期完成 是的 您可以通过使用托运人配置上的 add t