zabbix入門知識

来源:http://www.cnblogs.com/shenxm/archive/2017/11/26/7900571.html
-Advertisement-
Play Games

zabbix入門知識 zabbix中文手冊 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介紹 2.zabbix系統架構圖 3.zabbix的組件 4.zabbix支持的通訊協議 5.zabbix的工作模式 6.zabbix的監控過 ...


zabbix入門知識

zabbix中文手冊
https://www.zabbix.com/documentation/3.4/manual/

1.zabbix介紹

    Zabbix 是一個企業級的分散式開源監控方案。
    Zabbix是一款能夠監控各種網路參數以及伺服器健康性和完整性的軟體。
    Zabbix使用靈活的通知機制,提供了出色的報告和數據可視化功能
    Zabbix支持主動輪詢和被動捕獲。
    Zabbix基於Web的前端頁面進行訪問。
    Zabbix是免費的。
    特點:
        數據收集
        靈活的閥值定義
        高度可配置化的告警
        實時圖表繪製
        Web監控功能
        豐富的可視化選項
        歷史數據存儲
        配置簡單
        使用模板
        網路發現
        簡潔的Web界面
        Zabbix API
        許可權管理系統
        功能強大並易於擴展的監控代理
        二進位代碼
        為複雜環境準備

2.zabbix系統架構圖

![1.png](C:\Users\shenpc\Desktop\1.png)

![4.png](C:\Users\shen\Desktop\4.png)

![2.png](C:\Users\shenpc\Desktop\2.png)

![3.png](C:\Users\shenpc\Desktop\3.png)

![5.png](C:\Users\shenpc\Desktop\5.png)

3.zabbix的組件

    zabbix agent:部署在被監控主機上,負責收集本地數據併發往server端或porxy端。
    zabbix server:負責接收agent發送的報告信息的核心組件,所有配置信息、統計數據及操作數據都由其組織進行。
    zabbix database:用於存儲所有zabbix的配置信息、監控數據的資料庫。
    zabbix web:zabbix的web界面,通過web界面管理zabbix的配置以及查看zabbix相關的監控信息,可以單獨部署在獨立的伺服器上,是server的一部分,通常是在一臺物理機上,若使用使用SQLite則必須在一臺上。
    zabbix proxy:用於分散式監控環境中,zabbix proxy某程度上相當於server端,完成局部區域內的信息收集,最終統一發往server端。可幫server分擔負載壓力。
    zabbix數據流:
        為了創建一個監控項用於採集數據,必須先創建一個主機。轉換到Zabbix功能的其他部分,你必須先有一個監控項來創建觸發器,你必須有一個觸發器來創建動作。 因此,如果你想收到X伺服器CPU負載過高的告警,你必須先為X伺服器創建一個主機實體並關聯一個用於對CPU進行監控的監控項,然後如果CPU負載太高便會激活觸發器,接著會執行一個動作,給你發送告警郵件。雖然看起來有很多步驟,但是使用模板的話可以會很簡單。同時,這個設計可以創建一個非常靈活的配置。

4.zabbix支持的通訊協議

    理論上,zabbix能夠監控幾乎所有與業務相關的硬體資源。但是,能監控的前提是能相互間穩定通信。而zabbix支持的協議如下。
    agent:通過專用的代理程式進行監控,與常見的master/agent模型類型。若支持的話,優先選用agent。
    ssh、telnet:通過遠程式控制制協議進行通信。
    SNMP:simple network management protocol,通過snmp協議進行監控,大部分網路設備都支持這種協議,與常見的master/agent模型類型,一般是在這些設備中內置有snmp的agent。
    IPMI:通過IPMI介面進行監控,來監控對象的物理特征,如電壓,溫度等。
    JMX:java management extensions,通過jmx監控jvm虛擬機。

5.zabbix的工作模式

    被動(passive)模式和主動(active)模式
    工作模式是對於agent端來說的。
    當agent端將採集完的數據主動發往server端的模式為主動模式。
    當agent端等待server端來垃圾數據的模式為被動過模式。
    主動模式與被動模式在agent端並不衝突,可以同時存在。
    agent端使用zabbix_sender工具測試能否向server端發數據,server端使用zabbix_get工具測試能否從agent端拉取數據。

6.zabbix的監控過程

    zabbix agent部署在被監控的主機上,由agent採集數據並報告給負責監控的中心主機,中心主機就是master/agent中的master;
    負責監控的中心主機為zabbix server,server將從agent端接收信息並存儲到zabbix database中;
    管理員是從zabbix web支持的web GUI上查看各種監控信息的,而zabbix web是有php編寫,所以依賴與LAMP環境;
    zabbix server和zabbix web都需要與zabbix database相互通信來獲取數據。
    當監控規模非常龐大時,就需要用到分散式監控,使用zabbix proxy作為代理來接收agent的提交的數據信息,然後將數據統一發送給zabbix server處理,在局部proxy就相當於server。

7.zabbix常用術語

    主機 (host):要監控的網路設備,用IP或DNS名錶示
    主機組 (host group):主機的邏輯組;它包含主機和模板。一個主機組裡的主機和模板之間並沒有任何直接的關聯。通常在給不同用戶組的主機分配許可權時候使用主機組。
    監控項 (item):要接收的主機的特定數據,一個度量數據,某個監控指標。
    鍵(key):想要獲取監控項對應的數據,就需要通過某個key去獲取,可以把key當然調用命令的對應的命令別名。
    觸發器 (trigger):一個被用於定義問題閾值和“評估”監控項接收到的數據的邏輯表達式。當接收到的數據高於閾值時,觸發器從“OK”變成“Problem”狀態。當接收到的數據低於閾值時,觸發器保留/返回一個“OK”的狀態。
    事件 (event):單次發生的需要註意的事情,例如觸發器狀態改變或發現有監控代理自動註冊
    異常 (problem):一個處在“異常”狀態的觸發器
    動作 (action): 一個對事件做出反應的預定義的操作,由操作(例如發出通知)和條件(當時操作正在發生)組成
    升級 (escalation): 一個在動作內執行操作的自定義場景; 發送通知/執行遠程命令的序列
    媒介 (media):發送告警通知的手段;告警通知的途徑
    通知 (notification):利用已選擇的媒體途徑把跟事件相關的信息發送給用戶
    遠程命令 (remote command):一個預定義好的,滿足一些條件的情況下,可以在被監控主機上自動執行的命令
    模版 (template):一組可以被應用到一個或多個主機上的實體(監控項,觸發器,圖形,聚合圖形,應用,LLD,Web場景)的集合,模版的任務就是加快對主機監控任務的實施;也可以使監控任務的批量修改更簡單。模版是直接關聯到每台單獨的主機上。
    應用 (application):一組監控項組成的邏輯分組
    web 場景 (web scenario):利用一個或多個HTTP請求來檢查網站的可用性
    前端 (frontend):Zabbix提供的web界面
    Zabbix API:Zabbix API允許你使用JSON RPC協議來創建、更新和獲取Zabbix對象(如主機、監控項、圖形和其他)信息或者執行任何其他的自定義的任務
    Zabbix server:Zabbix軟體實現監控的核心程式,主要功能是與Zabbix proxies和Agents進行交互、觸發器計算、發送告警通知;並將數據集中保存等
    Zabbix agent:一個部署在監控對象上的,能夠主動監控本地資源和應用的程式
    Zabbix proxy:一個幫助Zabbix Server收集數據,分擔Zabbix Server的負載的程式

8.zabbix安裝

1)配置倉庫

    wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm(這是個配置倉庫的安裝包,會自動倉庫)
    配置好倉庫後,使用yum install來進行安裝

2)zabbix server的安裝

    yum install mariadb mariadb-libs mariadb-server zabbix-get zabbix-server-mysql.x86_64 ##(根據安裝的資料庫來選擇包)                                     
    初始化zabbix資料庫
        安裝mysql數據
        創建zabbix資料庫和用戶
            MariaDB [(none)]> create database zabbix charset 'utf8';
            MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'xm1234';  ##這裡設置的本地
            MariaDB [(none)]> flush privileges;
        初始化zabbix資料庫
            通過rpm -ql zabbix-server-mysql找到create.sql.gz。
            解壓得到create.sql腳本
                gunzip crete.sql.gz
            進行初始化
                mysql -uroot -p -Dzabbix < create.sql
            查看初始情況
                msyql -uroot -p
                MariaDB [(none)]> use zabbix
                MariaDB [zabbix]> show tables;
        根據需要配置/etc/zabbix-server.conf
            DBPassword=
        啟動服務
            systemctl start zabbix-server

3)zabbix proxy的安裝

    yum install zabbix-get zabbix-proxy-mysql.x86_64(根據安裝的資料庫來選擇包)
    初始化配置和server差不多

4)zabbix web的安裝

    yum install zabbix-web.noarch  zabbix-web-mysql ##依賴了很多包,包括httpd和php
    初始化
        創建lamp環境
            安裝httpd和php(應該是在安裝zabbix-web時,由依賴關係的原因以下都已安裝,僅需要配置啟動)
                yum install httpd php(php-fpm)php-mysql  maradb mariadb-libs mariadb-server
            啟動httpd
                systemctl enable httpd
                systemctl start httpd
            啟動maradb
            配置啟動php
                兩種方法,選其一。
                    1)modules:
                        yum install php php-mysql
                        vim /etc/httpd/conf/httpd.conf
                            在文件尾部加兩行
                                AddType application/x-httpd-php .php
                                AddType application/x-httpd-php-source .phps
                            添加修改下麵行
                                <IfModule dir_module>
                                    DirectoryIndex index.php index.html
                                </IfModule>
                        systemctl restart httpd
                    2)fastcgi:
                        yum install php-fpm php-mysql
                        vim /etc/httpd/conf/httpd.conf
                            在文件尾部加四行
                            AddType application/x-httpd-php .php
                            AddType application/x-httpd-php-source .phps
                            ProxyRequests Off 
                            ProxyPassMatch  ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
                            修改下麵行
                            <IfModule dir_module>
                                DirectoryIndex index.php index.html
                            </IfModule>
                        systemctl restart httpd
                        systemctl start php-fpm

        配置/etc/httpd/conf.d/zabbix.conf
            vim  /etc/httpd/conf.d/zabbix.conf
                在文件頭部添加
                    <VirtualHost 192.168.213.175:80>
                    servername zabbix-server
                    documentroot /usr/share/zabbix
                在文件尾部添加
                    </VirtualHost>
                修改
                    php_value date.timezone Asia/Shanghai
        重啟httpd服務
    systemctl restart httpd

5)zabbix agent的安裝

    agent 的運行
        Zabbix agent運行在被監控主機上。
        Zabbix agent在linux上以守護進程運行。
        Zabbix agent是是設計在非root賬戶下的。它會以其他任何非root用戶啟動的進程一樣的方式運行。所以,您可以使用任意非root用戶運行agent,且不會產生任何問題。
        如果您在’root’賬戶下運行,它將切換到硬編碼的“zabbix”用戶,該用戶必須存在於您的系統上。如果您只想以’root’方式運行proxy,您必須在proxy配額文件里修改‘AllowRoot‘參數。
        Zabbix agent成功退出時退出碼為0,異常則退出碼為1。
    安裝
        yum install zabbix-agent zabbix-sender
    配置
        vim /etc/zabbix/zabbix_agentd.conf|
        ##### Passive checks related  ##被動監控相關配置
            Server=IP1, IP2, ...##允許那台伺服器拉取當前伺服器的數據,用於實現基於ip的訪問控制,若多個ip可用逗號隔開。
            ListenPort=10050 ##server端訪問的監聽埠,預設為10050
            ListenIP=0.0.0.0  ##本地監聽的地址,預設為0.0.0.0,表示監聽本地所有地址
            StartAgents=3  ##用於指定預生成的agent進程數量
        ##### Active checks related  ##主動監控相關配置,agent端主動向server周期性發送數據;
            ServerActive=IP1[:port], IP2[:port], ... ##信息推送到那台server伺服器上,若多個ip可用逗號隔開。
            Hostname=Unique_HOSTNAME  ##指定當前主機名,用於server端的識別。
                必須與伺服器配置的監控主機的主機名稱保持一致;
    啟動
        systemctl start zabbix-agent

9.zabbix web界面初始化

http://zabbix_web_ip/zabbix
    1)進入安裝界面,點擊next step
    2)進入check of pre-requisites,確認所有狀態都為ok,點擊next step
    3)進入configure DB connection,配置資料庫類型,ip,埠,資料庫名,用戶密碼,點擊next step
        
        埠0表示使用預設埠3306
    4)進入zabbix server details,配置ip地址,埠,servername,添加name,這個name是你在/etc/httpd/conf.d/zabbix.conf中配置的servername,點擊next step。
    5)進入pre-installation summary,檢查,點next step
    6)進程如install,點擊finish
        
    7)進入登錄界面,預設username為admin,password為zabbix。
    8)登錄後,可以修改英文為中文。
        若出現部分字體不能顯示的情況
            1》確保/usr/share/zabbix/include/locales.inc.php 中的
                'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true]
            2》上傳你喜歡的字體文件到/usr/share/zabbix/fonts,文件是以.ttf結尾的,不是也修改成。
                編輯/usr/share/zabbix/include/defines.inc.php中的
                    define('ZBX_GRAPH_FONT_NAME',       'simkai'); // font file name
                    define('ZBX_FONT_NAME', 'simkai');
            確保simkai是你上傳的字體文件的文件名

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這個系列大致想跟大家分享以下篇章(我會持續更新的↖(^ω^)↗): 1、mongo 3.4分片集群系列之一:淺談分片集群 2、mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3、mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 4、mongo 3.4分片集群系列之 ...
  • 什麼是資料庫系統? 資料庫系統=資料庫(DataBase(DB))+資料庫管理系統(Database Management System (DBMS))+資料庫應用程式(Database Application (DBA)) 資料庫:為了滿足一個機構的信息需求而設計的邏輯上相關的可共用的數據及數據描 ...
  • 最近有個需求,需要整合所有店鋪的數據做一個離線式分析系統,曾經都是按照店鋪分庫分表來給各自商家通過highchart多維度展示自家的店鋪經營 狀況,我們知道這是一個以店鋪為維度的切分,非常適合目前的線上業務,這回老闆提需求了,曾經也是一位數據分析師,sql自然就溜溜的,所以就來了 一個以買家維度展示 ...
  • 給大家介紹一下虛擬機和Xshell5連接的基本配置1.安裝虛擬機,跟著提示一步一步安裝即可,註意添加鏡像文件,虛擬機就完成了.2.下載一個Xshell5,安裝好之後.要修改虛擬機的網卡狀態 1).編輯ifcfg-eth0, 2).點一下i,出現--inner--,修改ONBOOT=YES,Esc退出 ...
  • 1.創建mysql用戶,mysql組. # useradd -s /bin/nologin -M mysql 查看是否創建成功. # id mysql 2.講mysql的二進位包解壓到/usr/local/目錄下. # cd /usr/local/ # tar -zxvf mysql-5.7.20- ...
  • Mysql的許可權 mysql中存在4個控制許可權的表,分別為user表,db表,tables_priv表,columns_priv表。 mysql許可權表的驗證過程為: 先從user表中的Host,User,Password這3個欄位中判斷連接的ip、用戶名、密碼是否存在,存在則通過驗證。 通過身份認證 ...
  • grep 簡介 grep(Global search REgular expression and Print out the line)是Linux上的文本處理三劍客之一,另外兩個是sed和awk. grep是文本搜索工具,根據用戶指定的pattern(由文本字元及正則表達式元字元編寫的過濾條件) ...
  • 首先安裝expect # yum -y install expect 命令格式 # ./expect IP COMM #expect是獨立的工具,所以不能用sh來執行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/expect ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...