使用 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}"
}
我在轮询/存储日志文件方面遇到了难题。
案例是我们需要从 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}"
}