去哪儿监控系统实践
Created by 张悦
目录
背景介绍
Watcher监控系统
Watcher在去哪儿的应用
总结
背景介绍
为什么需要监控
实时报警
提前预警
追查问题
容量规划
那些年我们用过的监控工具...
存在的问题
cacti单点、无法横向扩展
监控可视化较弱
没有API接口
各个业务线架构类似,但各自一套
需求&目标
高可用、易扩容
高精度数据存储
监控直观、'好'看
选型
OpenTSDB
InfluxDB
Graphite
WATCHER监控系统
graphite + grafana + nagios => Watcher
graphite介绍
carbon: 接收数据
whisper: 将收到的数据存储成whisper文件
graphite-api: 支持Restful URL获取图片或数据
组件关系图
数据走向
单个集群架构
WATCHER在去哪儿的应用
系统级别监控报警
cpu
load
内存使用率
网卡流量
磁盘
...
机器维度展示
报警自动配置
机器名
系统
用途
机架
机房
...
业务级别监控报警
接口响应时间、次数
端口监控
订单量、Booking量、用户数
...
qmonitor
指标检索
自定义Dashboard
demo1 - 函数
demo2 - bars&stack
灵活的报警配置
WEB/API配置
不同时间段不同报警规则
报警联系人支持值班轮询
通知方式多种
临时规则
中间件监控
Mysql - 慢查询、QPS、连接数、表锁、行锁...
JVM - 线程数、堆内存、垃圾收集时间...
Memcached/Redis - 命中率、连接数...
...
数据库
日志监控
总结
现状
基础监控指标500+(eg: cpu、memory、disk、io、tcp-
connection…)
600w 系统级别监控指标[24T]
200w 业务逻辑监控指标[20T]
每分钟1500w指标上报
下一步关注点
快速扩容
人员效率
THANK YOU!