由于我们已经将Graylog(版本2.4.6)用作我们项目的通用日志后端,我们认为我们也可以使用它来监视资源使用情况。三大好处是:
具体来说,我们试图跟踪我们的各种Beanstalk服务器在每个管中有多少个作业。如果给定的管累积超过一定数量的工作,我们希望得到警报。
这是我们用于给定管的典型消息:
{
"count" => $totalJobsInTube,
"tube" => $tubeName,
"env" => $env,
}
我想不出一种在Graylog中设置警报条件的方法,它允许我指定查询+要查看的字段。我们唯一的条件是:
Graylog使用Elasticsearch作为后端,这对于度量(时间序列数据)来说不是一个好的系统,它效率不高,并且不能很好地扩展时间序列数据。这就是大多数人使用另一个监测系统来测量资源和其他时间序列数据的原因。这取决于你的堆栈,但有很多开源和商业产品来做到这一点。
如果你想一起做日志和指标,我建议使用Elasic Stack可以同时使用开源软件,但如果你的指标数量有限,这只是我的推荐。 Splunk和SumoLogic也可以执行日志和指标,但它们并不适合时间序列,特别是大量的时间序列。