ZABBIX(三) zabbix 支持的主要監控方式

一、zabbix支持的主要監控方式:

        zabbix主要Agent,Trapper,SNMP,JMX,IPMI這幾種監控方式,本文章主要通過監控理論和實際操作測試等方式來簡單介紹這幾種方式的監控原理和優缺點等 。下面對幾種監控方式的監控原理進行介紹:

    1、Agent監控方式

        在Agent監控方式下,zabbix-agent會主動收集本機的監控信息並通過TCP協議與zabbix-server傳遞信息。Agent監控方式分爲主動和被動模式。在被動模式下,zabbix-agent監聽10050端口,等待zabbix-server的監控信息收集信息請求;在主動模式下,zabbix-agent收集監控信息並通過10050端口主動將數據傳給zabbix-server所在服務器的10051端口。

        優點:

                (1)是zabbix最常用的監控方式,監測指標深入細緻有針對性。

                (2)內置監控功能強大,內置監控項目豐富。

                (3)TCP方式實現通訊,可靠性也有保證。

        缺點:

                (1)需要在被監控機器上安裝zabbix-agent客戶端,部署相對麻煩,最初需要逐個機器安裝代理軟件

                (2)zabbix-agent客戶端運行在被監控機上,會收集本機信息

    2、Trapper監控方式

        Trapper監控方式使用zabbix-sender程序主動向zabbix-server發送數據。key的名稱和發送的數據內容都可以靈活定義。發送的信息採用JSON格式,遵循zabbix-sender協議。可以自定義腳本利用zabbix-sender協議來zabbix-server發送信息。

        優點:

                (1)不需要在被監控機器上安裝zabbix-agent

                (2)不收集被監控機器的信息

                (3)可以自定義發送的信息內容

                (4)可以使用自定義腳本發送信息

        缺點:

                (1)需要自定義發送的信息內容

                (2)無內置監控項目

    3、SNMP監控方式

        SNMP全稱Simple Network Management Protocol,即網絡管理協議,包括進程管理和被管理設備兩部分。作爲一種國際通用的網絡管理協議被廣泛的應用於各種交換機,路由器等網絡設備的管理上,而現在也越來越多被用於對服務器的監控上。

        優點:

                (1)服務器一旦部署SNMPAgent,任何能實現SNMP協議的軟件都可以對其進行監測。

                (2)通過這種手段進行監測不需知道被監測服務器的用戶名和密碼,比較安全。

        缺點:

                (1)很多服務器並非默認安裝SNMPAgent,如果通過這種方式監測則需要對所有服務器安裝部署。

                (2)能監測的參數指標比較固定不夠深入,無法滿足用戶的特殊需求。

                (3)由於SNMP協議是通過UDP方式實現的。在網絡狀況不佳的情況下其可靠性能以保證。

    4、JMX監控方式

        JMX,全稱Java Management Extensions,即Java管理拓展,是Java平臺爲應用程序,設備,系統等植入管理功能的框架。在zabbix中,JMX數據的獲取由zabbix-java-gateway代理程序來負責數據的採集。

        優點:

                (1)可以詳細的監控各類Java程序的運行狀態

        缺點:

                (1)被監控機上需要安裝zabbix-java-gateway

    5、IPMI監控方式

        IPMI,全稱Interlligent Platform Management Interface,即智能平臺管理接口,原本是Intel架構中企業系統的周邊設備所採用的一種工業標準,以後成爲業界通用的標準。用戶可以利用IPMI監控服務器的物理特性,如溫度,電壓,電扇工作狀態,電源供應以及機箱***等指標。

        根據以上對zabbix各主要監控方式的梳理,結論如下:

        (1)根據被監控機器的環境和客戶要求選用適當的監控方式,可同時配合多種監控方式。

        (2)有條件在監控機上部署zabbix-agent客戶端時,該方法爲第一選擇,因爲其功能強大且配置相對簡便。

        (3)需要自定義腳本或者監控信息時,可使用Trapper方式,即使用zabbix-sender程序或者自定義腳本遵循zabbix-sender協議,已JSON形式,通過TCP發送自定義信息。


二、Agent監控方式

    1、通過Agent方式監控Linux服務器

        (1)需要在Linux服務器上安裝zabbix-agent客戶端安裝包,需要先導入軟件安裝源:

         rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

        image.png

       (2) 使用yum源安裝zabbix-agent

        image.png

        (3)zabbix客戶端配置

        編輯zabbix_server配置文件

        vim /etc/zabbix/zabbix_agent.conf

        修改以下配置信息:

        Server=192.168.40.134      #zabbix服務端IP地址

        ServerActive=192.168.40.134    #zabbix服務端IP地址

        ListenPort=10050          #監控服務端口

        啓動zabbix-agent服務

        systemctl start zabbix-agent

        (4)zabbix服務器端添加被監控主機

        選擇“配置”-“主機”,然後選擇“創建主機”:

        image.png

        選擇添加的模板:

        image.png

        添加主機成功:

 image.png

    2、通過Agent方式監控windows服務器 

        (1)下載Windows的zabbix客戶端

        下載地址:https://www.zabbix.com/download_agents

        選擇需要下載的windows版本客戶端:

       image.png         (2)windows上安裝agent

            準備好安裝文件zabbix_agents_3.4.6.win.zip,可以從官網上下載,在此需要注意和server端一致。然後解壓,解壓後的文檔結構如下:

        image.png

        (3)進入conf目錄,對配置文件進行配置

        找到conf下的配置文件zabbix——agent.win.conf,需要修改的內容爲:LogFile、Server、Hostname、ServerActive這幾個參數。具體配置如下:

       Server=192.168.40.134

       ServerActive=192.168.40.134

       Hostname=Windows host 

       ListenPort=10050

        (4)確定被監控主機的系統是32位還是64位

        右鍵“此電腦”,查看操作系統版本,如果是32位,用bin\win32下的應用程序,否則用bin\win64下的應用程序。

        image.png

        (5)安裝zabbix-agent客戶端程序

        用管理員權限打開CMD,進入到zabbix的應用程序目錄,執行安裝命令:

        zabbix_agentd.exe -c D:\zabbix-agent\conf\zabbix_agentd.win.conf -i

        安裝成功後,執行運行命令:

        zabbix_agentd.exe -c D:\zabbix-agent\conf\zabbix_agentd.win.conf -s

        image.png

        (6)在zabbix server端配置agent

        在server端,選擇 配置-主機 界面,然後點擊“創建主機”,在添加主機的界面,輸入被監控主機客戶端的信息。

        image.png

        點擊“添加”,然後過一段時間查看主機狀態

        image.png

    

三、zabbix Trapper監控方式

    1、zabbix Trapper 工作原理

        zabbix獲取數據時有時會出現超時,如果一些數據需要執行較長的時間才能獲取的話,那麼zabbix會出現異常,考慮到這種情況,zabbix增加了Trapper功能,客戶端自己提交數據給zabbix。

        Trapper是被監控主機主動發送數據給zabbix server,與主動模式的區別是不需要安裝客戶端;Trapper方式發送數據是以主機名處理,不是IP地址,所以主機名要唯一。在配置監控項時候Type of information項要選擇text,否則會報not support錯誤。

        Trapper工作模式中,使用zabbix監控類型zabbix Trapper(可以稱爲zabbix捕捉器),在zabbix服務器上必須有一個捕捉項目,然後需要配合zabbix_sender把數據推送給zabbix服務器,該程序由zabbix發行版本自帶,源碼包解壓後在bin目錄下,配合crontab定期發送數據給zabbix server。

        zabbix_sender是一個命令行工具,可以用來發送zabbix服務器處理性能數據。該工具通常用於長時間運行的用戶 腳本,用於定期發送可用性和性能數據。

    2、zabbix_sender命令:

        rpm導入zabbix_sender安裝源:

         rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-sender-4.0.0-1.alpha1.el7.x86_64.rpm

        image.png

        使用rpm安裝,默認在/bin目錄下:

        cd /bin

        ls

        ./zabbix_sender

        usage:zabbix_sender [-Vhv] {[-zpsl] -ko | [-zpl] -T -i <file> -r} [-c<file>]

        參數說明:

        -c --config<file>       配置文件絕對路徑

        -z --zabbix-server<server>   zabbix server的IP地址

        -p --port<server port>   zabbix server 端口默認10051

        -s --host <hostname>   主機名,zabbix客戶端zabbix.agentd.conf配置文件中定義的Hostname(不是服務器的hostname),不是客戶端主機的IP地址

        -l -- source-address <IP address>  源IP

        -k --key <key>  監控項的key值

        -o --value<key value> key值

        -i --input-file<input file>  從文件裏面讀取hostname、key、value一行爲一條數據,使用空格作爲分隔符,如果主機名帶空格,那麼請使用雙引號包起來

        -T --with-timestamps   一行一條數據,空格作爲分隔符:<hostname> <key> <timestamp> <value>,配合 --input-file option,timestamp爲unix時間戳

        -r --real-time      將數據實時提交給服務器

        -v --verbose     詳細模式, -vv 更詳細

    3、監控項配置

        創建監控項(Configuration --> Template --> Items --> Create item 或Configuration --> Host --> Items --> Create item)

        (1)選擇“配置”-“主機”-“新建主機”,添加zabbix-Trapper 客戶端的用戶名:

        image.png

       (2) 添加完主機後,添加監控項,選擇剛添加的主機,點擊“監控項”,然後點擊“創建監控項”:

        添加監控信息,然後點擊更新:

        image.png

        (3)客戶端使用zabbix_sender發送數據

          客戶端設備操作:

          cd /bin

        ./zabbix_sender -s 192.168.40.134 -z 192.168.40.129 -k trappertest11 -o test

        image.png

        -vv 可以顯示具體信息,這裏提示無法連接到zabbix server的10051端口

        服務端:

        netstat -anop | grep -i zabbix

        image.png

         未開放外網的10051端口

        image.png

         ListenIP=127.0.0.1,192.168.40.134

         LIstenPort=10051

        systemctl restart zabbix-service

        netstat -anop | grep -i zabbix

        image.png

        客戶端操作:

        image.png

       

四、Zabbix SNMP監控方式

    1、SNMP監控介紹

        如果要監控打印機、路由器、交換機、UPS等設備,肯定不能使用zabbix agentd,因爲他們不能安裝軟件,但是一般都支持SNMP協議,可以使用SNMP來監控。SNMP檢查基於UDP協議。

        注意事項:如果監控基於SNMPv3協議的設備,確保msgAuthoritativeEngineID(通常叫做snmpEngineID或“Engine ID”)是唯一的。        

                        以前SNMPv3協議只支持MD5和DES加密,從zabbix2.2開始支持SHA與AES加密協議。

    2、Zabbix SNMP監控Linux操作系統

        (1)zabbix服務器端需要先安裝SNMP服務

              使用yum源在線安裝SNMP服務配置

               yum -y install net-snmp*

            image.png    

              配置SNMP配置文件

        vim /etc/snmp/snmpd.conf

        proc mountd   

        proc ntalkd  4

        proc sendmail  10  1

        disk / 10000

        load  12 14  14

        view  systemview  included  .1.3.6.1.2.1.1

        view  systemview  included  .1.3.6.1.2.1.25.1.1

        view  systemview  included  .1     

        設置開機啓動SNMP:

        chkconfig  snmpd on

        chkconfig --list | grep snmpd

        /etc/init.d/snmpd start     啓動snmp服務

        (2)zabbix服務器使用snmpwalk命令測試被監控計算機名

        2c是指採用SNMP V2版本,192.168.40.134是指監控設備開啓了SNMP服務,否則會獲取失敗,sysName是指被監控設備的計算機名。            

        image.png

        (3)被監控設備安裝SNMP服務

        yum -y install net-snmp*

        image.png

        配置SNMP配置文件

        view    systemview    included   .1.3.6.1.2.1.1

        view    systemview    included   .1.3.6.1.2.1.25.1.1

        view    systemview    included   .1

        com2sec notConfigUser  default       zabbix    #zabbix是被監控的團體名   public團體名稱可以修改成自己設置的字符串也可以使用默認public,default字符串默認是所有IP地址都可以訪問,如果把default修改成192.168.40.134(zabbix服務器IP地址),表示只允許zabbix服務器訪問這臺被監控電腦的SNMP服務。

        image.png

        systemctl stop firewalld   關閉防火牆

        /etc/init.d/snmpd start    啓動SNMP服務

        (4)zabbix服務端web界面添加主機

        選擇“配置”-“主機”-“創建主機”,添加要被監控設備的主機信息:

        image.png

        添加模塊:

        image.png

        添加宏:

        image.png

        然後點擊“添加”,主機通過SNMP添加成功;

image.png

        


    3、zabbix SNMP監控windows系統

        (1)windows系統啓動SNMP功能:

        選擇“控制面板”-“程序”-“啓用或關閉windows功能”,選擇“簡單網絡管理協議(SNMP)”

        image.png

        (2)右擊“計算機”-“管理”-“服務”,選擇“snmp server”服務器,右擊“屬性”:

        image.png

        image.png

        (3)zabbix 服務端web界面,選擇“配置”-“主機”,然後點擊“創建主機”

        image.png

        image.png

         大概需要等待五分鐘左右,查看主機是否監控成功

        image.png

 

    4、zabbix SNMP 監控網設備

       “配置”-“主機”-“創建主機”,添寫要監控的設備信息:

     image.png   

     image.png

    image.png

   

五、zabbix JMX監控方式

    1、zabbix JMX 簡介

        在企業中,很多程序是基於Java來編寫的,java程序運行在JVM之上,而JVM自己就可以監聽在某個套接字上,將自己內部的狀態信息輸出出去,所以監控服務器只需要直接連接JVM的套接字就可以獲取到Java進程的相關信息,不需要通過Agent、SNMP;可是zabbix是沒辦法自己連接JVM套接字的,也就是說,zabbix自身是不能夠作爲客戶端來鏈接該套接字的。所以,就需要額外安裝一個服務來連接JVM套接字的。這個服務就是zabbix-java-gateway.x86_64(Java網關);可以通過該網關來監聽多個JVM;zabbix-agent-gateway可以是一個單獨的主機,可以和zabbix server安裝到一臺主機上;

    2、zabbix server 安裝java gateway

        zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個爲應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。

       yum install -y java java-devel zabbix-java-gateway

       image.png

      image.png

    3、添加java環境

         vim /etc/profile

        

    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64

    PATH=$JAVA_HOME/bin:$PATH

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export JAVA_HOME

    export PATH

    export CLASSPATH

        加載環境:

        source /etc/profile


    4、修改java-gateway配置文件

        grep ^[a-Z] /etc/zabbix/zabbix_java_gateway.conf

       image.png

         cd /etc/zabbix

        vim zabbix_java_gateway.conf  修改以下信息:

        LISTEN_IP="0.0.0.0"

        LISTEN_PORT=10052

        PID_FILE="/var/run/zabbix/zabbix_java.pid"

        START_POLLERS=5

        TIMEOUT=3

    5、重啓java-gateway服務

        systemctl restart zabbix-java-gateway

    6、修改zabbix_server配置文件

        find / -name zabbix_java_gateway

        image.png

        vim /usr/sbin/zabbix_java_gateway    修改以下配置信息

        

        JavaGateway=192.168.40.131<br>

        JavaGatewayPort=10052<br>

        StartJavaPollers=5

    7、重啓zabbix_server服務

        systemctl restart zabbix-server

    8、客戶端配置

        在Tomcat下的/bin/catalina.sh文件中添加以下內容:

        CATALINA_OPTS="$CATALINA_OPTS

        -Djavax.management.builder.initial=

        -Dcom.sun.management.jmxremote=true

        -Dcom.sun.management.jmxremote.port=12345

        -Dcom.sun.management.jmxremote.authenticate=false

        -Dcom.sun.management.jmxremote.ssl=false

        -Djava.rmi.server.hostname=192.168.40.131"  

        重啓Tomcat進程:

        image.png

    9、zabbix中添加監控

        選擇配置:主機-模板-選擇-模板-:

        image.png

        image.png

        查看圖形:

        

    

六、zabbix IPMI監控方式  

        IPMI(Intelligent PlatformManagement Interface)既智能平臺管理接口是使硬件管理具備“智能化”的新一代通用接口標準。用戶可以利用IPMI監視服務器的物理特性,如溫度、電壓、電扇工作狀態、電源供應以及機箱***等。Ipmi最大的優勢在於它是獨立於 CPU BIOS 和OS的,所以用戶無論在開機還是關機的狀態下,只要接通電源就可以實現對服務器的監控。Ipmi是一種規範的標準,其中最重要的物理部件就是BMC(Baseboard Management Controller),一種嵌入式管理微控制器,它相當於整個平臺管理的“大腦”,通過它 ipmi 可以監控各個傳感器的數據並記錄各種事件的日誌。

        使用 ipmi 的先決條件,想要實現對服務器的 ipmi 管理,必須在硬件、OS、管理工具等幾個方面都滿足:

        a.服務器硬件本身提供對 ipmi 的支持目前惠普、戴爾和 NEC 等大多數廠商的服務器都支持IPMI 1.5,但並不是所有服務器都支持,所以應該先通過產品手冊或在 BIOS 中確定服務器是否支持 ipmi,也就是說服務器在主板上要具有 BMC 等嵌入式的管理微控制器。

         b.操作系統提供相應的 ipmi 驅動通過操作系統監控服務器自身的 ipmi 信息時需要系統內核提供相應的支持,linux 系統通過內核對OpenIPMI(ipmi 驅動)的支持來提供對 ipmi 的系統接口。

        日常監控中使用IPMI的方式不多,在此不舉例說明了。

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章