指标的特性
标准化 可量化 多维度
指标监控的报警链路
常用的指标项
- 可用性
- 流量
- cpu 内存 checkpoint connector等
自定义指标 - 缓冲命中
- 外部接口的调用
- 丢弃数据的比例(异常处理一般都catch了 不然抛出异常任务将一直重启)
- 处理逻辑耗时
如何确定关注的指标项
作业相关 a. 是否可用 b 是否稳定 c 是否异常
性能相关 a 是否延迟 b 数据倾斜 d性能瓶颈
业务逻辑相关 a 上游数据问题 b 新上逻辑问题 c数据丢失
聚合的维度信息
task
operator
job
host 物理指标项
聚合的指标项
总和 均值 最大 最小
差值
99线
指标缺失
实际类型排查
任务延时: 处理方式: 通过反压找到节点的问题 是否是GC等,查看堆栈信息,查看日志 调整方式: 增加反压节点的并发,调整每个taskmanager的cpu于内存,拆开flink的slot共享链chain
作业failover 1. jobmanager 的failover(zk访问超时,资源的问题) 2. taskmanager的failover
作业无法提交 yarn的资源限制 jar包过大 jobmanager资源不足
作业异常停止 --- 无指标采集上来 重启侧率问题 重启次数达到上限
总结: 排查问题的方法论: 查看日志,查看指标项 --》 查看反压 ---》 定位到节点-----》 定位到位置 -----》 调整代码逻辑或者是沟通
-------有时候还得 多加一些理性的猜测
排查问题
通过指标由粗到细的进行排查
网友评论