使用 logstash (ELK) 轮询日志

Polling logs with logstash (ELK)

我在轮询/存储日志文件方面遇到了难题。
案例是我们需要从 Cloudhub 监控我们的日志,使用 Logstash 聚合它们并存储它们(可能使用 ElasticSearch)。

Anypoint Runtime Manager 似乎只支持在内部(而非云端)将事件推送到第三方系统,因此我决定通过 logstash http 通过 REST api 制作一个轮询日志的演示-轮询插件。

我正在处理一些我没有太多经验的决定。
轮询时,您将始终检索特定时间间隔内的最后 x 条日志。我假设这些参数将取决于日志的类型,但我仍然想知道您将在什么级别处理检索到的日志的重复。以及您如何处理丢失日志的不确定性。

这是您将在存储级别处理的内容,还是您将在 logstash 中立即处理的内容?
感谢您分享您对该主题的看法。

我不能说我在这门学科上有很多经验,但这就是我的想法。

我认为如果 Logstash 将 运行 作为一项服务,它将更多地依赖于 API 的输出来处理重复项。

同时,如果您在响应中定义一个唯一标识符,您可以告诉 Logstash 避免重复。

来自

elasticsearch { 
    host => yourEsHost
    cluster => "yourCluster"
    index => "logstash-%{+YYYY.MM.dd}"
    document_id => "%{someFieldOfMyEvent}"
}