運維監控分為黑盒和白盒
黑盒:不深入代碼,在系統角度看TPS,延遲等指標
白盒:深入代碼分析,通過日志捕捉,以及主動上報告警等來進行監控
黑盒監控:
1. 頁面功能:域名是否可訪問,系統可用性(頁面是否可以刷出來),按鈕點擊模擬,console報錯日志,http請求(時延,錯誤,正確率),用戶在線數量
2. 對外API接口:QPS/TPS 時間延遲 錯誤信息 成功率
白盒監控
1. 架構組件
?? ?1. VPC,ELB等
?? ?2. DNS:解析可用性,解析時延
?? ?3. LB:可用性
2. 系統OS
?? ?1. 所在系統本身:CPU,磁盤,內存,文件句柄等
?? ?2. 進程自身:查看進程DTZ狀態,即使kill并重啟;進程是否存在;checkHealth接口;
3. 進程
?? ?1. 第三方系統接口:QPS/TPS 時間延遲 錯誤信息 成功率
?? ?2. 異步任務:異步任務類似一個接口(QPS/TPS 時間延遲 錯誤信息 成功率) + 等待隊列監控
?? ?3. 定時任務:監控是否報錯
?? ?4. java進程相關日志:監控GC頻率
4. 中間件
?? ?1. Kafka:可用性,集群切換,消息積壓,Topic維度流量監控(關注太高和太低)
?? ?2. Redis:可用性,連接數量,QPS, 內存使用率
5. DB
?? ?1. 可用性:是否可連接
?? ?2. Sql異常:監控Sql報錯
?? ?3. 慢Sql監控:監控TP90和TP99時間