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