zabbix的面試題目總結


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