Ruby 监测贮木场的健康状况

Ruby 监测贮木场的健康状况,ruby,jvm,logstash,logstash-forwarder,Ruby,Jvm,Logstash,Logstash Forwarder,我将使用logstash向代理发送大量事件。我对代理进行了监视以检查健康状态,但是我找不到关于如何查看日志存储过程是否健康、是否存在失败过程的指标的更多信息 我对那些使用logstash的人很感兴趣,你用什么方法来监视它?你可以让一个cronjob注入心跳消息,并将这些消息路由到某种监视系统。如果您已经使用Elasticsearch,您也可以将其用于此目的,并编写一个脚本,以确保您拥有来自所有应发送消息的主机的合理最新心跳消息,但我更喜欢使用例如或 这可以用于监视单个Logstash实例的运行状

我将使用logstash向代理发送大量事件。我对代理进行了监视以检查健康状态,但是我找不到关于如何查看日志存储过程是否健康、是否存在失败过程的指标的更多信息


我对那些使用logstash的人很感兴趣,你用什么方法来监视它?

你可以让一个cronjob注入心跳消息,并将这些消息路由到某种监视系统。如果您已经使用Elasticsearch,您也可以将其用于此目的,并编写一个脚本,以确保您拥有来自所有应发送消息的主机的合理最新心跳消息,但我更喜欢使用例如或


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

如果您试图作为发货人监视Logstash,很容易编写一个脚本,将.sincedb*文件的内容与磁盘上的实际文件进行比较,以确保它们是同步的

作为一个索引器,我可能会跳过前面的部分,查询ElasticSearch以查找插入的文档数量


@magnus关于延迟检查的想法也很好。我使用了日志的时间戳,并将其与ElasticSearch的时间戳进行了比较,以计算延迟。

更新:这是2015年在Logstash中内置的。请参阅。

哪个Elasticsearch时间戳?对不起,我拨错了。Logstash记录收到日志条目时的时间戳(@timestamp)。Elasticsearch只存储Logstash告诉它的内容。两者之间的差距仍然是有用的。