ES+open-falcon之nginx状态码监控报警自动化

背景: 如果我们运维的是web网站, 那么http的状态码是必须要监控的,当出现4xx 5xxx的状态码的时候需要能发出报警,然后定位问题。当我们监控nginx的状态码出现错误状态码的时候, 一般的处理方法是通过kibana查询是哪个接口导致从而确定是哪个服务,再进一步登录业务机器查询业务日志确定原因。我们现在要做的事情就是将 人为的通过kibana查询改造为程序自动发送,这样研发就可以直接登录对应相应的业务机器查询日志定位原因,减少了运维的人工介入,很大程度的提高了效率。

我们采用的是如下的方法:

  1.  在应用服务器上使用filebeat 收集 499 TO 599 的状态码的请求 存储到ES中
  2.  使用脚本计算每分钟每个域名的 error_code 数量 ,汇报到open-falcon监控系统
  3.  使用open-falcon 系统设置每个域名的阈值,比如超过1分钟超过100个则报警
  4.  使用open-falcon的报警call back 功能,触发 脚本接口,脚本接口查询汇总错误域名/url/数量发送到企业微信
  5.  研发通过报错的域名和url 定位服务问题

    此方案的优点在于成本比较小,如果您是大公司,完全可以收集所有的日志。

    

总体思路和程序流程如下:

原文地址:https://www.cnblogs.com/topicjie/p/11040059.html