1、数据层面监控
适用场景:新增数据的场景,不适合无新增数据。
具体操作:监控数据库,查询最近数据新增数量,少于阈值,即可告警
2、日志监控
适用场景:基本都适合
具体操作:监控error和error数量。爬虫从非结构化的数据到结构化,异常错误,一定是存在的,所以,我们虽然监控error,但是告警需要设置error的阈值,避免告警轰炸。
3、几个具体方法
-
scrapy中间件+信号 在爬虫结束信号spider_closed的时候,拿到需要的状态信息,比如{'log_count/ERROR': 2}
-
SENTRY
SENTRY可以发现一些,具体的错误原因
- 统计日志error数量
分析日志的同时,对告警进行抑制,设置error数量阈值
- grafana可视化
监控为主,实际告警条件不太好写
- 数据异常告警埋点
比如爬取新闻,但是页面变化,最重要的列表页没有拿到,数量是0,就可以发一个告警出来。