【问题标题】:Monitoring health of logstash监控logstash的健康状况
【发布时间】:2014-11-21 21:03:07
【问题描述】:

我将使用 logstash 向代理发送大量事件。我对代理进行了监控以检查运行状况,但我找不到太多关于如何查看 logstash 进程是否健康、是否有进程失败的指标的信息。

我对那些使用 logstash 的人感兴趣,你们有哪些监控方式?

【问题讨论】:

    标签: ruby jvm logstash logstash-forwarder


    【解决方案1】:

    您可以让 cronjob 注入心跳消息并将此类消息路由到某种监控系统。如果您已经使用 Elasticsearch,您也可以使用它并编写一个脚本以确保您拥有来自所有应该发送消息的主机的合理最近的心跳消息,但我更喜欢使用例如Nagioslovebeat-go

    这可用于监控单个 Logstash 实例的健康状况(即,您将心跳消息注入到为监控软件提供数据的同一实例中),但您也可以使用它来检查整个管道的整体健康状况.

    【讨论】:

      【解决方案2】:

      更新:它于 2015 年内置于 Logstash。请参阅 the announcement of the Logstash heartbeat plugin

      【讨论】:

        【解决方案3】:

        如果您尝试将 logstash 作为托运人进行监控,可以轻松编写一个脚本,将 .sincedb* 文件的内容与磁盘上的实际文件进行比较,以确保它们同步。

        作为索引器,我可能会跳过并查询 ElasticSearch 以了解插入的文档数量。

        @magnus 的延迟检查想法也不错。我使用了日志的时间戳并将其与 ElasticSearch 的时间戳进行比较来计算延迟。

        【讨论】:

        • 哪个 Elasticsearch 时间戳?
        • 抱歉,我说错了。 Logstash 记录收到日志条目时的时间戳 (@timestamp)。 Elasticsearch 只存储 Logstash 告诉它的内容。两者之间的差距还是有用的。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多