阿里P9架構師談:高併發網站的監控系統選型、比較、核心監控指標

在高併發分佈式環境下,對於訪問量大的業務、接口等,需要及時的監控網站的健康程度,防止網站出現訪問緩慢,甚至在特殊情況出現應用服務器雪崩等場景,在高併發場景下網站無法正常訪問的情況,這些就會涉及到分佈式監控系統,對於核心指標提前監控,防患於未然。

常見的開源監控系統

1.Zabbix

Zabbix是一個基於WEB界面的提供分佈式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網用戶中使用最廣的監控軟件。

入門容易、上手簡單、功能強大並且開源免費。

Zabbix易於管理和配置,能生成比較漂亮的數據圖,其自動發 現功能大大減輕日常管理的工作量,豐富的數據採集方式和API接口可以讓用戶靈活進行數據採集,而分佈式系統架構可以支持監控更多的設備。

2.Nagios

Nagios是一款開源的企業級監控系統,能夠實現對系統CPU、磁盤、網絡等方面參數的基本系統監控,以及 SMTP,POP3,HTTP,NNTP等各種基本的服務類型。另外通過安裝插件和編寫監控腳本,用戶可以實現應用監控,並針對大量的監控主機和多個對象 部署層次化監控架構。

Nagios最大的特點是其強大的管理中心,儘管其功能是監控服務和主機的,但Nagios自身並不包括這部分功能代碼,所有的監控、告警功能都是由相關插件完成的。

3.開源監控工具比較

4.建議首選Zabbix,免費開源監控首選,以下我主要以Zabbix爲例,主要談監控流程和核心監控指標。

Zabbix監控流程

Zabbix的監控流程可以簡單描述爲:

數據採集-->數據存儲-->數據分析-->數據展示-->監控報警

數據採集:Zabbix通過SNMP、Agent、ICMP、SSH、IPMI等進行數據採集

數據存儲:Zabbix存儲在MySQL上,也可以存儲在其他數據庫

數據展示:web界面展示、(移動APP、java_php開發一個web界面也可以)

數據報警:郵件報警、微信報警、短信報警、報警升級機制

Zabbix的監控配置流程可以簡單描述爲:

告警是由一系列的流程組成,首先是觸發器達到閥值,產生一個事件,接下來由Action對事件信息進行處理,其中包括兩部分:

第一部分是發送消息,即將告警信息發送給用戶。

第二部分是執行命令,即將事件用命令進行處理,達到對事件故障自動嘗試恢復的效果。

Host groups(主機組)→Hosts(主機)→template(模板)→Applications(監控項組)→Items(監控項)→graph(圖形) →screen (圖形分組)→Triggers(觸發器)→Event(事件)→Actions(處理動作)→Media types(告警升級|1.執行遠程命令2.發送告警郵件)→User groups(用戶組)→Users(用戶)→Medias(告警郵件)

在實際生產使用的時候,Items、Trigger、Graph採用模板來進行監控,模板特點就是可以重複的事情一次完成,修改了模板等於修改了所有調用此模板的主機。

Zabbix監控功能

1.監控指標

主機的性能監控

網絡設備性能監控

數據庫性能監控

多種告警方式

詳細的報表圖表繪製

監控主機zabbix有專用的agent,可以監控Linux,Windows,FreeBSD等 。

監控網絡設備zabbix通過SNMP,ssh(不多用)

2.可監控對象

設備:服務器,路由器,交換機

軟件:OS,網絡,應用程序

主機性能指標監控

故障監控: down機,服務不可用,主機不可達

3.基礎監控數據

主要包括以下幾個類別:

CPU

Load

內存

磁盤

IO

網絡相關

內核參數

ss 統計輸出

端口採集

核心服務的進程存活信息採集

關鍵業務進程資源消耗

NTP offset採集

DNS解析採集

對於這些基礎監控選項全部理解透徹的時刻,也就是對Linux運行原理及命令進階的時刻。

4.JVM監控

對於Java作爲主要開發語言的大多數公司,對於JVM的監控不可或缺。

每個JVM應用的參數,比如:

GC

類加載

JVM內存

進程

線程等

而這些參數的獲得,都可以通過MxBeans實現。

5.mysql四大性能指標

查詢吞吐量

查詢執行性能

連接情況

緩衝池使用情況

6.業務應用監控

對於業務需要監控的接口,比如響應時間等。

以上就是分佈式監控系統總結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章