如何监视filebeat是否正在从指定路径接收日志?

问题描述:

我已经在服务器上安装logstash,通过在所有客户端服务器上安装filebeat来收集来自多个客户端服务器的日志,并且每件事情都很好。 现在我需要接收报警,如果每个客户端服务器不发送任何日志到filebeat(换句话说,我想通过电子邮件接收报警,当没有日志产生,因为例如我的代码是关闭)。有可能用statsd插件做到这一点,如果是这样,我该怎么做? 谢谢如何监视filebeat是否正在从指定路径接收日志?

我用这个两种技术:

  1. 设置检查在您选择的监控系统(例如意义上的),相比与文件的实际尺寸在filebeat的注册表文件中的条目正在发送。如果百分比太低,请发送警报。
  2. 监视进入ES服务器的日志。根据您的特定需求,您可以查询X分钟内是否收到任何日志,或者X机器是否在Y分钟内报告了日志文件,或者... Elastic的watcher在这方面很不错,但它也很容易写下自己。
+0

感谢您的及时回复。但我在logstash中是全新的,请你解释一下,我可以如何使用Elastic的观察器来达到这些目的。因为我有几个客户端,对我来说知道哪台机器没有发送任何日志例如1小时很重要?我已经安装了x-pack,但我不知道如何为此编写一个观察器,假设我有每个客户端服务器的IP和日志索引,例如logstash-2017.10.07。谢谢 –

+0

设想一个查询,计算在过去5分钟内在日志中发送的唯一主机。如果您有72台机器,则您希望该数字始终为72.我相信观察者可以运行查询,将结果与72比较,并提醒您。还有其他方法可以给你更多的灵活性。 –