溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Zabbix簡單的入門應(yīng)用

發(fā)布時間:2020-06-28 17:47:15 來源:網(wǎng)絡(luò) 閱讀:1008 作者:m591892406 欄目:數(shù)據(jù)庫

Zabbix:
      是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,非常強大的一款工具。一般zabbix都是選擇mysql作為存儲數(shù)據(jù),所以當(dāng)zabbix監(jiān)控的主機越來越多,數(shù)據(jù)量也會越來越大,這是mysql就會成為瓶頸。

      zabbix的版本:

              長期維護的版本有2.2和3.0,還有2.0和2.4 

      zabbix的功能:
          1、數(shù)據(jù)采集:    可以根據(jù)zabbix內(nèi)置的key,也可以使用自定義的UserParameter

          2、實時繪圖:    展示采集的結(jié)果,由graph和screen

          3、告警      :    超出定義的觸發(fā)器的值就告警,可以通過郵件、短信、QQ、微信的方式通知

          4、數(shù)據(jù)存儲:    采集的數(shù)據(jù)存儲在數(shù)據(jù)庫中 

          5、支持使用模塊: 

          6、網(wǎng)絡(luò)自動發(fā)現(xiàn): 只要在主機上定義好ip和端口,zabbix通過掃描機制自動添加監(jiān)控

          7、分布式監(jiān)控:    可以通過代理收集區(qū)域內(nèi)的主機采集信息,然后發(fā)送給zabbix,減緩zabbix的壓力     

    

      zabbix程序的構(gòu)成:

           zabbix_server:服務(wù)端守護進程,監(jiān)聽的端口是10050

           zabbix_agentd: agent端守護進程,監(jiān)聽的端口是10051

           zabbix_proxy:  代理服務(wù)器,可選組件

           zabbix_get:    命令行工具,手動測試數(shù)據(jù)采集;

           zabbix_sender: 命令行工具,運行于agent端,手動向server端發(fā)送數(shù)據(jù)

           zabbix_java_gateway: java網(wǎng)關(guān),只用于監(jiān)控jvm虛擬機的

    

一、安裝zabbix,以3.0為例:

~]# yum -y install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-get mariadb-server

編輯配置文件:/etc/zabbix/zabbix_server.conf:

   ListenPort=10051     //監(jiān)聽的端口
   SourceIP=            //服務(wù)端IP
   LogType=file         //日志格式,自我獨立進行的格式(file)、system(系統(tǒng)記錄)
   LogFile=/var/log/zabbix/zabbix_server.log   //日志文件
   LogFileSize=0|1      //日志是否需要滾動
   PidFile=/var/run/zabbix/zabbix_server.pid   
   DBHost=localhost     //數(shù)據(jù)庫服務(wù)器地址
   DBName=zabbix        //數(shù)據(jù)庫名稱
   DBUser=zabbix        //登錄數(shù)據(jù)庫名稱
   DBPassword=zabbix    //數(shù)據(jù)庫密碼
   DBSocket=/var/lib/mysql/mysql.sock   //指明數(shù)據(jù)庫的sock路徑

編輯zabbix-web文件:

vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai    //修改時區(qū)

編輯php.ini文件:

vim /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai         //修改時區(qū)

授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建zabbix存儲的數(shù)據(jù)庫:

> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
> create database zabbix charset 'utf8';

zabbix_server數(shù)據(jù)庫的初始化:

~]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/
~]# gzip -d create.sql.gz
~]# mysql -uzabbix -h227.0.0.1 -p zabbix <create.sql
Enter password:

啟動zabbix,web服務(wù):

]# service zabbix-server start
]# service httpd start

根據(jù)指示一步步填寫信息,最后登錄zabbix:

Zabbix簡單的入門應(yīng)用



二:配置需要監(jiān)控的主機:

 ~]# yum -y install zabbix-agent zabbix-sender

編輯配置文件:

~]# vim /etc/zabbix/zabbix_agentd.conf
LogFileSize=1               //日志是否需要滾動
EnableRemoteCommands=1      //是否允許遠程命令執(zhí)行
LogRemoteCommands=1         //記錄遠程命令的執(zhí)行日志
Server=172.18.250.77    //被動模式下zabbix的地址,允許哪些zabbix-server來拉取數(shù)據(jù)
ListenPort=10050            //監(jiān)聽的端口
ListenIP=0.0.0.0            //監(jiān)聽的IP,表示監(jiān)聽任何主機發(fā)送的信息
StartAgents=3               //啟用多少進程來采集數(shù)據(jù)
ServerActive=172.18.250.77     //主動模式下zabbix的地址,主機主動發(fā)送數(shù)據(jù)給zabbix-server
Hostname=zabbix.node1       //主機名

啟動agent服務(wù):

~]# service zabbix-agent start


三、配置監(jiān)控主機狀態(tài)

     1、先創(chuàng)建一個host group組

Zabbix簡單的入門應(yīng)用

     2、創(chuàng)建hosts主機

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

     3、創(chuàng)建監(jiān)控項,監(jiān)控目標(biāo)主機上的80端口:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

Store value:  

       As is: 數(shù)據(jù)不做任何處理

              Delta(simple change):  本次采樣數(shù)據(jù)減去前一次采集數(shù)據(jù)

              Delta(speed per second):   本次采樣數(shù)據(jù)減去前一次采樣數(shù)據(jù),而后除以采樣間隔時長

這樣基本上就能監(jiān)控目標(biāo)主機上的端口了。

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

      4、定義觸發(fā)器,只要檢測到端口為0就發(fā)送警告,并發(fā)送告警郵件

Zabbix簡單的入門應(yīng)用

可以點Monitoring的Dashboard,查看告警信息:

Zabbix簡單的入門應(yīng)用

設(shè)置發(fā)送告警信息到郵箱:

   1、先創(chuàng)建一個用戶組和用戶:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

定義發(fā)送媒介:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

定義zabbix用戶給系統(tǒng)用戶發(fā)郵件:

Zabbix簡單的入門應(yīng)用

查看系統(tǒng)是否收到報警郵件:

~]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N  1 zabbix@localhost.loc  Fri May 20 19:37  23/1047  "PROBLEM: zabbix.node.port"
& 1
Message  1:


   5、對于多個監(jiān)控項可以整合到一個圖形當(dāng)中,比如監(jiān)控網(wǎng)卡流量:
Zabbix簡單的入門應(yīng)用

定義網(wǎng)卡的進口流量和出口流量,點擊Hosts中的node1主機中的Graphs,創(chuàng)建圖像

Zabbix簡單的入門應(yīng)用

添加完后查看圖形界面:

Zabbix簡單的入門應(yīng)用


如果有多個主機監(jiān)控了流量的話可以聚合在一個頁面,方便查看:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用


四、配置模板,直接讓主機套用模板,而不用一個個添加監(jiān)控項:

    模板可以直接用系統(tǒng)自帶的,也可以自定義一個模板:

Zabbix簡單的入門應(yīng)用

生成一個模板后,之后只要添加各種監(jiān)控項,觸發(fā)器,和應(yīng)用集等,添加完后直接套用在主機上即可:

Zabbix簡單的入門應(yīng)用


五、配置宏定義 (macro,預(yù)設(shè)的文本替換模式)

       兩種:

              內(nèi)置   {MACRO}  調(diào)用不需要加$

              自定義 {$MACRO} 調(diào)用和定義都需要加$

         級別:

               全局

               模板

               主機             

       優(yōu)先級:  主機 --> 模板 -->全局

定義端口全局宏:   

Zabbix簡單的入門應(yīng)用

定義一個模板宏:
Zabbix簡單的入門應(yīng)用

定義一個主機宏:

Zabbix簡單的入門應(yīng)用

直接修改node1的監(jiān)聽端口的值:
Zabbix簡單的入門應(yīng)用

查看是否生效:

Zabbix簡單的入門應(yīng)用


六:配置key

     key也分內(nèi)建和自定義,有時候系統(tǒng)沒有的key只能自己定義,自定義的key是在agent端實現(xiàn):

語法格式:

        UserParameter=<key>,<command>

~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=menory.info,awk '/^MemFree/{print $2}' /proc/meminfo 
UserParameter=memory.usage[*],awk '/^$1/{print $$2}' /proc/meminfo    //傳遞參數(shù)

重啟zabbix-agent服務(wù):

~]# service zabbix-agent restart
~]# zabbix_get -s 172.18.250.75 -p 10050 -k "memory.info"    //在zabbix-server端測試
693772
~]# zabbix_get -s 172.18.250.75 -p 10050 -k "memory.usage[MemTotal]"
1012352

測試key能否在主機上應(yīng)用:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用


七:配置zabbix的分布式監(jiān)控:

     當(dāng)zabbix-server監(jiān)控的主機太多時,每個item都需要server端去建立tcp連接,這時server會扛不住,所以可以根據(jù)布置分布式代理來建立item連接,然后收集數(shù)據(jù),并一起發(fā)給server端。

~]# yum -y install zabbix-proxy-mysql mariadb-server

授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建proxy存儲的數(shù)據(jù)庫:

> grant all on proxy.* to 'proxy'@'localhost' identified by 'proxy';
> create database proy charset 'utf8';

zabbix_server數(shù)據(jù)庫的初始化:

~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.2/
~]# gzip -d scheam.sql.gz
~]# mysql -uproxy -h227.0.0.1 -p proxy <create.sql
Enter password:

授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建zabbix存儲的數(shù)據(jù)庫:

> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
> create database zabbix charset 'utf8';

zabbix_server數(shù)據(jù)庫的初始化:

~]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/
~]# gzip -d create.sql.gz
~]# mysql -uzabbix -h227.0.0.1 -p zabbix <create.sql
Enter password:

編輯配置文件:

]# vim /etc/zabbix/zabbix_proxy.conf
Server=172.18.250.77             //指向server端
Hostname=proxy.zabbix
LogFileSize=1
DBName=proxy
DBUser=proxy
DBPassword=proxy
DBSocket=/var/lib/mysql/mysql.sock

編輯proxy管理區(qū)域內(nèi)的agent主機:

]# vim /etc/zabbix/zabbix_agent.conf
LogFileSize=1               //日志是否需要滾動
EnableRemoteCommands=1      //是否允許遠程命令執(zhí)行
LogRemoteCommands=1         //記錄遠程命令的執(zhí)行日志
Server=172.18.250.78    //被動模式下zabbix的地址,允許哪些zabbix-proxy來拉取數(shù)據(jù)
ListenPort=10050            //監(jiān)聽的端口
ListenIP=0.0.0.0            //監(jiān)聽的IP,表示監(jiān)聽任何主機發(fā)送的信息
StartAgents=3               //啟用多少進程來采集數(shù)據(jù)
ServerActive=172.18.250.78     //主動模式下zabbix的地址,主機主動發(fā)送數(shù)據(jù)給zabbix-proxy
Hostname=node1.proxy

啟動服務(wù):

]# service zabbix-proxy start    //proxy服務(wù)
]# service zabbix-agent start    //監(jiān)控的agent主機

創(chuàng)建代理主機:

Zabbix簡單的入門應(yīng)用

創(chuàng)建監(jiān)控的agent主機:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

創(chuàng)建個監(jiān)控項,看是否能正常監(jiān)控:

Zabbix簡單的入門應(yīng)用

Zabbix簡單的入門應(yīng)用

如果還需要監(jiān)控其他主機或者監(jiān)控項,只需添加模板就行。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI