看完這篇文章,你就明白運(yùn)維監(jiān)控體系了
總結(jié)歸納運(yùn)維工作中的監(jiān)控內(nèi)容。
監(jiān)控目標(biāo)
明白監(jiān)控的重要性以及使用監(jiān)控要實現(xiàn)的業(yè)務(wù)目標(biāo)
通常包括以下三點:
- 對目標(biāo)系統(tǒng)進(jìn)行實時監(jiān)控
- 監(jiān)控可以實時反饋目標(biāo)系統(tǒng)的當(dāng)前狀態(tài) 目標(biāo)系統(tǒng)硬件、軟件、業(yè)務(wù)是否正常、目前處于何種狀態(tài)
- 保證目標(biāo)系統(tǒng)可靠性,業(yè)務(wù)可以持續(xù)穩(wěn)定運(yùn)行 有問題第一時間反饋出來,便于運(yùn)維人員處理
監(jiān)控方法
-
了解監(jiān)控對象 例如:CPU如何工作? -
性能基準(zhǔn)指標(biāo) 例如: CPU使用率、負(fù)載、用戶態(tài)、內(nèi)核態(tài)、上下文切換 -
報警閾值定義 例如: CPU負(fù)載高的定義,內(nèi)核態(tài)、用戶態(tài)多少算高 -
故障處理流程 如何更高效處理故障的流程
監(jiān)控核心
-
發(fā)現(xiàn)問題 -
定位問題 -
解決問題 -
總結(jié)問題,對故障原因及問題防范進(jìn)行歸納總結(jié),避免以后重復(fù)出現(xiàn)
監(jiān)控工具
- 老牌監(jiān)控
- Cacti
- Nagios
- smokeping
- 流行監(jiān)控
- Zabbix
- OpenFalcon
- Prometheus+Grafana
- 滴滴開源夜鶯Nightingale
- smartping(專用于網(wǎng)絡(luò)監(jiān)控)
- LEPUS天兔(專用于監(jiān)控數(shù)據(jù)庫)
- 自研
- 第三方監(jiān)控
- 監(jiān)控寶
- 聽云
- newrelic
監(jiān)控流程
-
采集
-
存儲
-
分析
-
展示
-
報警
-
處理
監(jiān)控指標(biāo)
硬件監(jiān)控
- 機(jī)器硬件:CPU溫度、物理磁盤、虛擬磁盤、主板溫度、磁盤陣列
IPMI工具無法獲取到硬件的狀態(tài),可以借助MegaCli工具探測Raid磁盤隊列狀態(tài)
https://www.ibm.com/developerworks/cn/linux/l-ipmi/
系統(tǒng)監(jiān)控
-
主機(jī)存活 -
CPU、內(nèi)存、硬盤、使用率 -
inode -
負(fù)載 -
網(wǎng)卡出入帶寬 -
TCP連接數(shù) -
磁盤讀寫、只讀
應(yīng)用監(jiān)控
MySQL
- 服務(wù)可用性
- 內(nèi)存使用率
- 磁盤使用
- 主從不同步及延遲
- 備份情況
- 連接數(shù)
Redis、Redis Cluster
- 負(fù)載
- 內(nèi)存使用率
- 連接數(shù)量
- qps
Nginx
- 狀態(tài)碼
- 連接狀態(tài)信息
- RabbitMQ
- PHP-FPM
- OpenLDAP
- 接入IP
- 調(diào)用次數(shù)
- Zimbra
- OpenVPN
- 版本信息、當(dāng)前在線
- 用戶、分配IP、客戶端連接IP、通過IP獲取地址位置、接收發(fā)送流量 連接時間 時長 連接ID
- ELK
- Graylog
- GitLab
- Jenkins
- MongoDB
- HAproxy
網(wǎng)絡(luò)監(jiān)控
- 網(wǎng)絡(luò)質(zhì)量
- 公網(wǎng)出口
- 專線帶寬
- 網(wǎng)絡(luò)設(shè)備
流量分析
日志監(jiān)控
安全監(jiān)控
- URL、API監(jiān)控
- 自研
- 阿里云方案
性能監(jiān)控(APM)java|php|go|nodejs|分布式鏈路追蹤
- PinPoint
- Zipkin
- SkyWalking
- CAT、Jaeger
業(yè)務(wù)監(jiān)控
電商業(yè)務(wù)為例:
- 每分鐘產(chǎn)生多少訂單
- 每分鐘注冊多少用戶
- 每分鐘多少活躍用戶
- 每天有多少推廣活動
- 推廣活動引入多少用戶
- 推廣活動引入多少流量
- 推廣活動引入多少利潤
其他
- SSL證書監(jiān)控
- 存活性 進(jìn)程是否還在,端口監(jiān)聽、Log滾動
- 健康指標(biāo) MQ消息堆積量
- 接口監(jiān)控 API成功率,延遲情況,QPS等等
監(jiān)控報警
- 郵件
- 短信
- 釘釘、微信、企業(yè)微信等其他即時通信軟件
- 電話
報警處理
故障自愈: 服務(wù)器宕機(jī)自動啟動。利用軟件機(jī)制supervisor,systemd或者自定義腳本實現(xiàn)
綜合監(jiān)控
硬件監(jiān)控
通過SNMP來進(jìn)行路由器交換機(jī)的監(jiān)控、其他內(nèi)容使用IPMI實現(xiàn)。如果都是公有云,可以忽略這部分內(nèi)容。案例:Open-Falcon監(jiān)控H3C-ER3260G2路由器
系統(tǒng)監(jiān)控
服務(wù)監(jiān)控
- 服務(wù)自帶
- Nginx自帶status模塊
- PHP相應(yīng)status模塊
- MySQL利用percona官方工具進(jìn)行監(jiān)控
- 通過自定義方法獲取數(shù)據(jù)
- MySQL show global status xxx;
- Redis info指令信息
- 網(wǎng)絡(luò)監(jiān)控(混合云架構(gòu))
- smokeping
- smartping
- 安全監(jiān)控
- 云服務(wù)直接用云安全組即可,或者補(bǔ)充本機(jī)iptables
- 硬件防火墻
- Web服務(wù)使用Nginx+Lua實現(xiàn)Web層面的防火墻,或者Openresty
- 日志監(jiān)控
ELK、Graylog實現(xiàn)異常日志,錯誤日志關(guān)鍵字的監(jiān)控 - 業(yè)務(wù)監(jiān)控
確定監(jiān)控指標(biāo),監(jiān)控起來,業(yè)務(wù)不同各不相同 - 流量分析
建議使用百度統(tǒng)計,google統(tǒng)計,商業(yè),研發(fā)嵌入代碼實現(xiàn)。或者使用piwik
- 可視化
dashboard - 自動化監(jiān)控
通過API,批量操作
監(jiān)控總結(jié)
完整的監(jiān)控系統(tǒng),需要對業(yè)務(wù)有詳盡的了解,軟件只是手段。
來源:https://zhuanlan.zhihu.com/p/34280983