首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logstash-forwarder start_postion =>开始

logstash-forwarder start_postion =>开始
EN

Stack Overflow用户
提问于 2015-04-21 16:48:32
回答 1查看 938关注 0票数 0

我正在使用logstash进行集中日志记录。我在发送器节点上使用logstash-forwarder,而在收集器上使用ELK堆栈node.The问题是,我希望logstash从头开始解析发送器节点上存在的文件。发货方上的配置文件logstash-forwarder.conf具有以下配置:

代码语言:javascript
复制
       {
          "network": {
            "servers": [ "XXX.XX.XX.XXX:5000" ],
            "timeout": 15,
            "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt"
          },
          "files": [
            {   
              "paths": [
                "/apps/newlogs.txt"
               ],
              "fields": { "type": "syslog" }
            }
           ]
        }

收集器配置为:

代码语言:javascript
复制
input { 
  lumberjack {
    port => 5000
    type => "logs"
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }   
}
filter {
if [type] == "syslog" {
grok {
     match => { "message" => "%{TIMESTAMP_ISO8601:logdate}\s%{LOGLEVEL:level}\s-\s%{WORD:USE_CASE}\s:\s%{WORD:STEP_DETAIL}\s:\s\[%{WORD:XXX}\]\s:\s(?<XXX>([^\s]+))\s:\s%{GREEDYDATA:MESSAGE_DETAILS}" }
     add_field => [ "received_at", "%{@timestamp}" ]
     add_field => [ "received_from", "%{host}" ]
     add_tag => [ "level:%{level}" ]
     add_tag => [ "USE_CASE:%{USE_CASE}" ]

   }
}
}
output {
  elasticsearch { host => localhost}
  stdout { codec => rubydebug }
}

我希望文件应该从请求中解析,而不是为每个生成的事件解析,我们在logstash.conf中通过指定start_position =>开始很容易做到这一点,但我无法在logstash-forwarder中找到一种直接的方法,因为文件将出现在发货方。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-04-21 23:38:46

据我所知,logstash-forwarder的默认行为是从文件的开头开始-因此发货人应该已经按照预期从头开始读取了。

您还没有说明您尝试了哪些操作来诊断问题。如果您还没有这样做,我将暂时绕过收集器,以确认发送者是否按预期工作,并排除证书的潜在问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29767229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档