1、通過傳感器,采集數據,存儲,輸出顯示器,如果采集到數據達到閾值就會報警
SNMP協議工作模式:
–NMS主動請求agent采集數據
–agent主動向NMS監控端發送報告,NMS端和agent端都須監控在socket上
–NMS端主動請求agent端修改改變數據
SNMP的組件:
MIB:management information base,管理信息庫,實現定義監控端或被監控端數據采集規范 定義被管理對象的屬性,屬相權限,數據類型等,agent在本地必須有MIB庫,MIB庫中定義了監控指標 MIB視圖可定義MIB庫中部分指標(需要的指標),每一個視圖用一個數字或者名稱標記,每一個被監控的 對象都有其唯一的OID,MIB樹的概念 SIM:MIB表示符號 SNMP協議 SNMP協議版本: V1,V2,V3, v2c,基于社區管理機制,NMS--->agent發起數據請求時,傳送社區標識(秘鑰),純文本的,用的多 V3,新版本功能強,用得少,支持認證加密解密 Linuxs實現SNMP包:net-snmp程序包 NMS可發起的操作: Get,GetNext,Set,Trap, Agent可發起的操作: Respose 基于UDP: NMS:162 Agent:161 SNMP只實現數據采集,存儲,報警等沒有實現Nagios只關心狀態轉換,并完成報警 Cacti數據收集展示,狀態轉換敏感度較低 Nagios+Cacti以前比較常見,但是這是屬于兩套監控系統,比較麻煩,然后就有了Zabbix 注明的開源監控工具: Zabbix,Zennos,Opennms,Catcti,Nagios(Icinga),Ganglia 監控功能的實現: 專用agent ssh SNMP(標準協議,標準接口) IPMI:智慧平臺管理接口,Intel構架企業系統周邊設備采用的一種工業標準,免費 Zabbix2.2版本之前使用JSON格式(XML),明確告訴agent具體指標意義,agent無需在本地約定MIB庫, JSON具有元數據,消耗帶寬 Zabbix2.4比2.2版本之前流量帶寬節省三分之一 Zabbix:具有專用的agent的監控工具 監控主機:Linux Windows FreeBSD 網絡設備:SNMP SSH(并非所有)
可監控對象: 設備/軟件 設備:服務器 路由器 交換機 IO系統 軟件:OS 網絡 應用程序 偶發性的故障: 主機down 服務不可用 主機不可達 嚴重事件: 主機性能指標: 趨勢,事件序列數據: 數據存儲: Cacti:rrd,環狀數據庫, Zabbix:mysql pgsql Zabbix發展歷史: 1998-2009(1.8)-2012(2.0)-2015(2.4)
Zabbix監控手段: Zabbix agent SNMP agent IPMI agent Agentless monitoring Web monitoring Database monitoring Internal check Caculated monitoring Custom command monitor 監控指標: Web 響應時間 下載速度 響應代碼等 報警手段: E-mail ,SMS ,Jabber ,Chat message ,Command Exeution(命令執行) Zabbix architecture:
Zabbix架構組件: Zabix—server(c語言研發) OS :Zabbix agent Zabbix-database Zabbix-web:用于實現zabbix設定和表示(PHP研發) Zabbix-proxy:分布式監控環境中的專用組件 Zabbix-database:MYSQL PGSQL(postgreSQL) Oracle DB2 SQLite,并非實際組件,協調server Zabbix基于JMX監控java程序
Zabbix常用術語: 主機主機(host):要監控的網絡設備,可由IP或或DNS名稱指定; 主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組內的主機和模板不能互相鏈 接;主機組通常在給用戶或用戶組指派監控權限時使用; 監控項(item):一個特定監控指標的相關的數據,這些數據來自于被監控對象;item是是zabbix 進行數據收集的核心,沒有item,將沒有數據;相對某監控對象來說,每個item都由“key”進行標識; 觸發器(trigger):一個表達式,用于評估某監控對象的某特定item內所接收到的數據是否在合 理范圍內,即閾值;接收到的數據量大于閾值時,觸發器狀態將從到的數據量大于閾值時,觸發器狀態將從 “OK”轉變為轉變為“Problem”,當數據量再次回歸到合理范圍時,其狀態將從“Problem”轉換回“OK” 事件(event):即發生的一個值得關注的事情,例如觸發器的狀態轉變,新的狀態轉變,新的agent或重 新上線的或重新上線的agent的自動注冊等; 動作(action):指對于特定事件事先定義的處理方法,通過包含操作(如發送通知如發送通知)和條 件(何時執行操作何時執行操作);; 報警升級(escalation):發送警報或執行遠程命令的自義定方案,如每隔案,如每隔5分鐘發送一次警 報,共發送分鐘發送一次警報,共發送5次等; 媒介(media):發送通知的手段或通道,如Email、、Jabber或SMS等; 通知(notification):通過選定的媒介向用戶發送的有關某事件的信息; 遠程命令(remote command):預定義的命令,可在被監控主機處于某特定條件下時自動執行; 模板模板(template):用于快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、 screen、application以及以及low-level discovery rule;模板可以直接鏈接至單個主機; 應用(application):一組item的集合; web場景(web scennario):用于檢測web站點可用性的一個站點可用性的一個或多個或多個HTTP請求; 前端(frontend)::Zabbix的的web接口; Zabbix產生數據主要由四部分組成: 配置數據 歷史數據:50Bytes 歷史趨勢數據:128Bytes 事件數據:130Bytes Zabbix安裝過程; 準備好mariadb數據庫,創建Zabbix數據庫---->CREATE DATABASE zabbix; 創建Zabbix數據庫用戶----->GRANT ALL on zabbix.* TO 'zbxuser'@'$(hostname)' IDENTIFIED BY 'zbxpasswd'; 生效創建的用戶---->FLUSH PRIVILEGES; 將Zabbix官方yum源加入本地/etc/yum.repos.d/*.repo,如下: [zabbix] name=zabbix baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/ gpgcheck=0 enable=1 安裝相應的Zabbix軟件包 ---->yum install zabbix-release zabbix-server zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-sender 將安裝完成的/usr/share/doc/zabbix-server-xxxx/(zabbix版本不同,文件不相同,2.2版本下 在create目錄下存在三個腳本,schema.sql--->image.sql---->data.sql) ---->mysql -uzabbix zabbix < schema.sql ---->mysql -uzabbix zabbix < image.sql ---->mysql -uzabbix zabbix < data.sql 這里我安裝的是3.4版本,/usr/share/doc/zabbix-server-xxxx目錄下存在一個create.ql.gz文件, 將其導入數據庫中 ---->zcat /usr/share/doc/zabbix-serve-xxx/create.ql.gz | mysql -uzabbix -h172.20.10.3 -pzaxpasswd zabbix /etc/zabbix/zabbix-server.conf下: DBhost=172.20.10.3,其為mysql數據庫的主機IP,生產中mysql數據庫基本是獨立的主機,所以這 里不使用localhost來指定 DBpassword一般默認為空,這里補全創建zabbix數據庫中用戶密碼,DBpassword=zaxpasswd
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95650