監控系統
監控系統介紹 (P1)
什么是監控系統
監控系統資源以及性能的硬件或者軟件
監控軟件又分為單一監控程序和分布式監控程序
為什么需要監控系統
為用戶提供穩定、高效、安全的服務
監控系統功能
告警是監控的重要功能,告警功能主要是由告警策略和告警發送兩部分組成
監控系統組成
開源監控系統現狀
Grafana是可以非常美觀的展示和分析監控數據的工具
監控系統趨勢
如何選擇監控系統
Zabbix發展介紹 (P2)
- Zabbix有兩個顯著的特點
- 一個是監控任何東西 monitor anything就是監控任何設備資源
- 可以無線擴展、分布式部署、高可用並且注重安全
zabibix是由前端、服務端、代理段、客戶端、Java監控網關幾個組件完成
zabbix是一個跨平合的軟件。可以在windows、limux、Unix等操作系統上部署
Zabbix-Monitor Anything
創建者:Alexei vladishev
開發維護:Zabbix LLC
n)s8|2城舉
碼im6Pieg s
開發語言:C、PHP、JAVA
操作系統:跨平台
許可協議:GPLv2
官網:www.zabbix.com
zabbix版本
開源軟件介紹
第一個是Linux內核和Git的創始人,第二個是GNU開源軟件的創始人
開源軟件許可協議
Apache Licence鼓勵代碼共享就是允許代碼修改在發布可以作為開源或商業軟件發布
GPL協議是不允許修改后和衍生的代碼作為閉源的商業軟件發布和銷售
Zabbix4.0+ 功能介紹 (P3)
Zabbix 數據收集
zabbix客戶端占用的系統資源很少開源獲取CPU、內存網卡、磁盤、日志等信息
對於無法安裝zabbix客戶端它支持通過SNMP(簡單玩好咯管理協議)獲取監控數據不僅可以監控網絡設備也可以監控打印機、存儲、UPS
只要是聯網的設備都可以通過SNMP協議獲取,也支持通過IPMI獲取硬件的溫度、風扇、硬盤、電源等
IPMI(智能平台管理接口)是一個開放的硬件管理接口標准
通過IPMI不僅可以獲取監控數據也可以管理硬件設備,重啟、關機、獲取硬件日志等等
有的服務不支持客戶都按安裝同時也不支持SNMP這類服務我們可以通過Zabbix自帶的檢測進行監控支持TCP、ICMP、SSH、Telnet檢測方式
Zabbix支持自定義監控通過shell、python、ruby、perl、powershell任何可執行的腳本收集監控數據
Zabbix數據展示
Zabbix故障檢測
Zabbix支持8種運算符,29個函數可以任意組合使用,完全可以滿足我們的告警閾值設置需求
Zabbix告警發送
zabbix提供了告警關聯分析功能,可以有效降低告警風暴同時讓技術人員只關注事件的根本原因
Zabbix安全和認證
Zabbix支持多種認證方式可以是本地用戶,HTTP基礎認證,LDAP認證
Zabbix任意兩個組件之間都可以通過TLS加密傳輸數據這種設置一般是多地域、多機房的情況會用到避免數據在傳輸過程中被竊聽或者篡改
TLS全稱是Transport Layer Security 傳輸層安全性協議.SSL是TLS的前身
Zabbix自動化
-
針對海量設備Zabbix提供兩個自動化手段幫助設備監控
- 網絡掃描,通過網絡掃描發現網段中滿足條件的設備比如安裝了Agent、打開了SNMP,開啟了特定的服務滿足條件的這些設備可以設置操作自動加入監控應用對應的監控模板或者是執行某個處理腳本
- Agent自動注冊,只要安裝了Agent的設備並且配置為主動上報模式,Zabbix服務端會根據客戶端傳過來的信息執行監控
-
如果監控系統的內部比如網卡流量、掛在的文件系統這就是用到了Zabbix的LLD低級自動發現的功能,低級發現功能可以自動發現並創建監控項、告警策略、圖表
Zabbix API
通過Zabbix API 可以獲取監控數據,自動化配置管理與第三方系統聯動,開發自己的監控API等
Zabbix 4.0+特性
Zabbix 架構組成 (P4)
Zabbix 架構
主要組件
- Zabbix Agent:Zabbix客戶端、負責數據收集上傳
- Zabbix Server:Zabbix的服務端,負責數據匯總、處理告警策略、告警發送等
- Zabbix Web:Zabbix前端頁面,提供了有好多展示和操作界面,負責數據的展示、監控系統的配置管理、用戶權限管理等等
- DataBase:數據和配置存儲數據庫、Zabbix支持多種數據庫包括MySQL、Oracle、DB2
- Java GateWay:Java網關、負責通過JMX監控收集Java應用程序性能數據
- Zabbix Proxy:Zabbix代理,分布式部署架構會用到主要是收集設備的監控數據並將數據發送給對應的Zabbix Server
數據通過Zabbix客戶端收集並發送給Zabbix服務端,Zabbix服務端負責存儲、分析數據、觸發告警等等,用戶或管理員可以通過Zabbix前端頁面進行數據展示;如果涉及到多設備可以通過Zabbix Proxy實現分布式架構部署
Zabbix Server組成
- Poller進程主要是負責Server主動拉取類型的監控數據
- Trapper進程主要負責Agent主動上報的監控數據
- Http Poller進程主要負責URL 監控類型的數據收集
- icmp pinger進程負責ping存活監控數據的收集
- java gateway進程負責和Java Gateway通信處理數據
- java poller進程負責拉取JMX類型數據獲取
- ipmi poller 進程負責IPMI類型數據獲取
- timer進程負責處理和時間有關的數據以及告警
- VMware collector 進程負責收集VMware虛擬化環境監控數據
- unreachable poller 負責處理無法到達類的監控處理
- preprocessing進程會對監控數據進行預處理然后服務端的history syncer 進程負責將數據分析並保存到數據庫中
- housekeeper進程負責定期清理歷史數據
- 告警是通過alerter進程處理發送的,而alerter manager是負責管理alerter進程的
- escalator進程是負責處理告警過程中的各個步驟,比如有告警升級之類的
- 分布式通信是由proxy poller進程負責的
- discovery process是負責設備自動發現功能
Zabbix基本數據 (P5)
組件功能
監控收集
value processing 監控項數據預處理就是數據再存入數據庫之前按照規定預處理
宏可以認為是一個變量
數據展示
screen聚合圖表
告警相關
認證和授權
UserType Zabbix提供三種用戶類型普通用戶、管理員、超級管理員