zabbix監控注意事項

2021-10-09 06:19:51 字數 4818 閱讀 8404

監視任何事情適用於任何it基礎架構,服務,應用程式和資源的解決方案

注:序列化和反序列化的概念

把物件轉換為位元組序列的過程稱為物件的序列化;把位元組序列恢復為物件的過程稱為物件的反序列化。

zabbix並非監控,而是實現監控的工具

zabbix-server是乙個c/s和b/s結構

安裝zabbbix的伺服器安裝時和php7.1有衝突:若此機器上已經安裝php7.1就安裝不上zabbix

為什麼要使用監控

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

服務監控(監控的服務要求有狀態頁面查詢)

nginx

php-fpm

mysql

tomcat

redis

web監控

請求時間

響應時間

頁面不是200-->觸發報警

自動化監控

自動發現(server端輪詢網段掃瞄發現agent)

自動發現:ip、ftp、ssh、web、pop3、imap、tcp

ip范文自動發現(兩個階段:發現–>動作)

szabbix-web自動發現定義自動監控的網段中的zabixx-agent(配置檔案中server已經定義zabbix-server位址)

自動發現所執行的動作

傳送訊息

新增/刪除主機

啟用/禁用主機

新增主機到組

從組中刪除主機

將主機鏈結到模板/從模板中取消鏈結

執行遠端指令碼命令

主動註冊(agent端主動告訴server端請求加入)

zabbix-server必須開啟自動註冊-->操作-->(通知|加入監控|套用模板)

agent(serveractive=10.0.0.61)-->啟動-->自動加入zabbix-server

zabbix-proxy分布式

zabbix-proxy使用場景

監控遠端位置,解決跨機房

監控主機多,效能跟不上,延遲大

解決網路不穩定

zabbix 是怎麼實施監控的

乙個監控系統執行的大概的流程是這樣的

agentd需要安裝到被監控的主機上,它負責定期收集各項資料,併發送到zabbix server端,zabbix server將資料儲存到資料庫中,zabbix web根據資料在前端進行展現和繪圖。這裡agentd收集資料分為主動和被動兩種模式:

主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的資料提交給server/proxy

被動:server向agent請求獲取監控項的資料,agent返回資料。

主動模式被動模式:預設為zabbix-agent被動模式

主動模式與被動模式主要是站在zabbix-agent身份來說

1.被動模式(zabbix-server輪詢檢測zabbix-agent)

2.主動模式(zabbix-agent主動上報給zabbix-server)優

zabbix主動模式與被動模式選擇

1.當(queue)佇列中有大量的延遲監控項

2.當監控主機超過300+ ,建議使用主動模式

【主動監測】通訊過程如下

zabbix首先向serveractive配置的ip請求獲取active items,獲取並提交active tiems資料值server或者proxy。很多人會提出疑問:zabbix多久獲取一次active items?它會根據配置檔案中的refreshactivechecks的頻率進行,如果獲取失敗,那麼將會在60秒之後重試。分兩個部分

獲取active items列表

agent開啟tcp連線(主動檢測變成agent開啟)

agent請求items檢測列表

server返回items列表

agent 處理響應

關閉tcp連線

agent開始收集資料

主動檢測提交資料過程如下

agent建立tcp連線

agent提交items列表收集的資料

server處理資料,並返回響應狀態

關閉tcp連線

【被動監測】通訊過程如下

server開啟乙個tcp連線

server傳送請求agent.ping\n

agent接收到請求並且響應

server處理接收到的資料

關閉tcp連線

1、新建監控專案時,選擇的是zabbix**還是zabbix端點**程式(主動式),前者是被動模式,後者是主動模式。

2、agentd配置檔案中startagents引數的設定,如果為0,表示禁止被動模式,否則開啟。一般建議不要設定為0,因為監控專案很多時,可以部分使用主動,部分使用被動模式。

zabbix 自定義發現是怎麼做的

1、首先需要在模板當中建立乙個自動發現的規則,這個地方只需要乙個名稱和乙個鍵值。

2、過濾器中間要新增你需要的用到的值巨集。

3、然後要建立乙個監控項原型,也是乙個名稱和乙個鍵值。

4、然後需要去寫乙個這樣的鍵值的收集。

自動發現實際上就是需要首先去獲得需要監控的值,然後將這個值作為乙個新的引數傳遞到另外乙個收集資料的item裡面去。

3、配置zabbix告警,(增加示警媒介型別,新增使用者報警媒介,新增報警動作)。

zabbix 怎麼開啟自定義監控

1、寫乙個指令碼用於獲取待監控服務的一些狀態資訊。

2、在zabbix客戶端的配置檔案zabbix_agentd.conf中新增上自定義的「userparameter」,目的是方便zabbix呼叫我們上面寫的那個指令碼去獲取待監控服務的資訊。

3、在zabbix服務端使用zabbix_get測試是否能夠通過第二步定義的引數去獲取zabbix客戶端收集的資料。

4、在zabbix服務端的web介面中新建模板,同時第一步的指令碼能夠獲取什麼資訊就新增上什麼監控項,「鍵值」設定成前面配置的「userparameter」的值。

5、資料顯示圖表,直接新建圖形並選擇上一步的監控項來生成動態圖表即可。

zabbix 監控了多少客戶端 客戶端是怎麼進行批量安裝

根據實際公司台數回答。

1、使用命令生成金鑰。

2、將公鑰傳送到所有安裝zabbix客戶端的主機。

3、安裝 ansible 軟體,(修改配置檔案,將zabbix 客戶機新增進組)。

4、建立乙個安裝zabbix客戶端的劇本。

5、執行該劇本。

6、驗證。

實戰經驗總結

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, zabbix服務程序被kill,有兩種解決的方法,如果公司為了效能著想加大記憶體,如果公司資有限新增swap,如果是為了服務的效率建議使用新增記憶體的方式,

zabbix3 X安裝注意事項

本人安裝zabbix3.x過程中,遇到了些許問題,下面分享一下,或許對一些人有幫助。1 lamp or lnmp平台 php版本至少5.4.x 2 編譯php引數問題 with gettext with mysql mysqlnd 3 zabbix版本的選擇 注意zabbix3.0漏洞,影響範圍 2...

zabbix3 X安裝注意事項

本人安裝zabbix3.x過程中,遇到了些許問題,下面分享一下,或許對一些人有幫助。1 lamp or lnmp平台 php版本至少5.4.x 2 編譯php引數問題 with gettext with mysql mysqlnd 3 zabbix版本的選擇 注意zabbix3.0漏洞,影響範圍 2...

java DOM 注意事項

1.w3c把標籤內的文字部分也定義成乙個node 2.element物件代表的是xml文件中的標籤元素 繼承於node,亦是node的最主要的子物件 3.attr實際上是包含在element中的,它並不能被看作是element的子物件,因而在dom中attr並不是dom樹的一部分,所以node中的 ...