我将使用 logstash 向代理发送大量事件。我对代理进行了监控以检查健康状态,但我找不到太多关于如何查看logstash 进程是否健康、是否有进程失败的指标的信息。
我对那些使用logstash的人很感兴趣,你有哪些监控它的方法?
我将使用 logstash 向代理发送大量事件。我对代理进行了监控以检查健康状态,但我找不到太多关于如何查看logstash 进程是否健康、是否有进程失败的指标的信息。
我对那些使用logstash的人很感兴趣,你有哪些监控它的方法?
您可以让 cronjob 注入心跳消息并将此类消息路由到某种监控系统。如果您已经使用 Elasticsearch,您也可以使用它并编写一个脚本以确保您有来自所有应该发送消息的主机的合理最近的心跳消息,但我更喜欢使用例如Nagios或lovebeat-go。
这可用于监控单个 Logstash 实例的健康状况(即,您将心跳消息注入到为监控软件提供数据的同一实例中),但您也可以使用它来检查整个管道的整体健康状况。
更新:这在 2015 年内置于 Logstash。请参阅Logstash heartbeat plugin 的公告。
如果您尝试将 logstash 作为托运人进行监控,则可以轻松编写一个脚本,将 .sincedb* 文件的内容与磁盘上的实际文件进行比较,以确保它们同步。
作为索引器,我可能会跳过并查询 ElasticSearch 以了解插入的文档数量。
@magnus 的延迟检查想法也很好。我使用了日志的时间戳并将其与 ElasticSearch 的时间戳进行比较来计算延迟。