天天看點

zabbix監控面試題[通俗易懂]

大家好,又見面了,我是你們的朋友全棧君。

  • 監控基礎概論
    • 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,如果是為了服務的效率建議使用添加記憶體的方式,

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/131073.html原文連結:https://javaforall.cn