zabbix的面試題目總結


參考:https://blog.csdn.net/zhydream77/article/details/89705822

zabbix官方的一句話描述zabbix:

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

  • Monitor anythingSolutions for any kind of IT infrastructure, services, applications, resources

  • 監控基礎概論

    • 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

基礎模板

  • 自定義監控閾值實戰

  • 自定義監控項

    • 單位

    • 值類型

    • 值映射

  • 閾值的定義

    • 單條件

    • 多條件

  • 自定義觸發器(動作)

  • 自定義報警(郵件|微信)郵件發送的信息內容可以使用系統自帶的宏變量來對應修改(官方站點有宏變量的介紹)

  • 自定義圖形、聚合圖形、幻燈片、網絡拓撲圖、Graphtree

  • 自定義模板(給主機添加)

  • 系統默認自帶的監控項設置閾值要根據生產中的需求來進修修改(閾值的高低)

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

  • nginx

  • PHP-fpm

  • mysql

  • tomcat

  • redis

 

web監控

  • 請求時間

  • 響應時間

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

自動化監控:

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

  • ** 自動發現:server-->輪詢掃描-->ip地址段--> **

  • 自動發現: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里面去。

 

zabbix 是怎么微信報警的     ----企業現在用的比較的多

1、首先,需要有一個微信企業號。(一個實名認證的[微信號]一個可以使用的[手機號]一個可以登錄的[郵箱號]

2、下載並配置微信公眾平台私有接口。

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,如果是為了服務的效率建議使用添加內存的方式,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM