監視任何事情適用於任何IT基礎架構,服務,應用程序和資源的解決方案php
mysql
監控基礎概論nginx
zabbix並不是監控,而是實現監控的工具web
Zabbix-server是一個c/s和b/s結構redis
安裝zabbbix的服務器安裝時和php7.1有衝突:若此機器上已經安裝php7.1就安裝不上zabbixsql
監控知識體系shell
爲何要使用監控tomcat
1.對系統不間斷實時監控安全
2.實時反饋系統當前狀態服務器
3.保證服務可靠性安全性
4.保證業務持續穩定運行
若是去到一家新的公司,如何入手?
1.硬件監控——路由器、交換機、防火牆
2.系統監控——cpu、內存、磁盤、網絡、進程、tcp
3.服務監控——nginx、php、tomcat、redis、memcache、mysql
4.web監控——響應時間、加載時間、渲染時間
5.日誌監控——ELK、(收集、存儲、分析、展現)日誌
6.安全監控——firewalld、WAF(nginx+lua)、安全寶、牛盾雲、安全狗
單機監控
單機進程cpu查看負載和使用率
單機內存查看
單機磁盤查看
單機查看網絡
引入zabbix分佈式監控系統
使用shell腳原本監控服務器
安裝zabbix
(單機)--> LAMP
(架構)--> LAP + MYSQL
服務端端口:10051
客戶端端口:10050
自定義監控閾值實戰
自定義監控項
單位
值類型
值映射
閾值的定義
單條件
多條件
自定義觸發器(動做)
自定義報警(郵件|微信)郵件發送的信息內容能夠使用系統自帶的宏變量來對應修改(官方站點有宏變量的介紹)
自定義圖形、聚合圖形、幻燈片、網絡拓撲圖、Graphtree
自定義模板(給主機添加)
系統默認自帶的監控項設置閾值要根據生產中的需求來進修修改(閾值的高低)
nginx
PHP-fpm
mysql
tomcat
redis
請求時間
響應時間
頁面不是200-->觸發報警
** 自動發現:server-->輪詢掃描-->ip地址段--> **
自動發現:ip、ftp、ssh、web、pop三、imap、tcp
ip範文自動發現(兩個階段:發現-->動做)
szabbix-web自動發現定義自動監控的網段中的zabixx-agent(配置文件中server已經定義zabbix-server地址)
自動發現所執行的動做
發送消息
添加/刪除主機
啓用/禁用主機
添加主機到組
從組中刪除主機
將主機連接到模板/從模板中取消連接
執行遠程腳本命令
zabbix-server必須開啓自動註冊-->操做-->(通知|加入監控|套用模板)
Agent(ServerActive=10.0.0.61)-->啓動-->自動加入zabbix-server
主動模式被動模式:默認爲zabbix-agent被動模式
主動模式與被動模式主要是站在zabbix-agent身份來講
1.被動模式(zabbix-server輪詢檢測zabbix-agent)
2.主動模式(zabbix-agent主動上報給zabbix-server)優
zabbix主動模式與被動模式選擇
1.當(Queue)隊列中有大量的延遲監控項
2.當監控主機超過300+ ,建議使用主動模式
Zabbix-proxy使用場景:
監控遠程位置,解決跨機房
監控主機多,性能跟不上,延遲大
解決網絡不穩定
1.先查看文檔中有沒有對應的腳本和xml模板
2.在服務端導入模板,查看對應的監控項名稱
3.測試腳本是否能取值,並存放置於/etc/zabbix/scripts目錄下,必定要增長執行權限
4.編寫xx.conf文件,裏面主要存放的是如何定義監控項
5.最後重啓zabbix-agent
6.使用服務端zabbix-get 獲取 zabbix-agent對應的監控項的數據
範例:
公司未啓用swap(swap也是公司中服務器不建議啓用的,由於swap是將磁盤模擬內存使用,消耗cpu的性能,建議關閉swap。加大內存),隨着客戶的流量日益增大,致使將zabbix服務進程強制OOM,