#抓取监控看板:统计数据、成功率监控
📂 所属阶段:第六阶段 — 运维与监控(工程化篇)
#1. 监控指标
class MonitoringPipeline:
def __init__(self):
self.stats = {
'total_items': 0,
'success_items': 0,
'failed_items': 0,
'start_time': time.time(),
}
def process_item(self, item, spider):
self.stats['total_items'] += 1
if self.validate(item):
self.stats['success_items'] += 1
else:
self.stats['failed_items'] += 1
return item
def close_spider(self, spider):
elapsed = time.time() - self.stats['start_time']
success_rate = self.stats['success_items'] / self.stats['total_items']
spider.logger.info(f"Success rate: {success_rate:.2%}")
spider.logger.info(f"Elapsed: {elapsed:.2f}s")#2. 可视化看板
# 使用 Grafana + Prometheus
# 或 ELK Stack 进行监控
# 关键指标:
# - 爬取速度(items/s)
# - 成功率(%)
# - 错误率(%)
# - 内存占用(MB)
# - CPU 占用(%)#3. 小结
监控的好处:
1. 实时掌握爬虫状态
2. 及时发现问题
3. 优化爬虫性能
4. 预测资源需求
关键指标:
- 吞吐量:items/s
- 成功率:%
- 错误率:%
- 资源占用:CPU、内存💡 记住:监控是运维的眼睛。没有监控,你就是盲人。
🔗 扩展阅读

