天天看點

使用zabbix監控伺服器運作狀态-

使用zabbix監控伺服器運作狀态-

一:實驗目标

安裝zabbix監控伺服器運作狀态

二:實驗環境

zabbix-agent:xuegod63.cn IP:192.168.1.63

zabbix server:xuegod63.cn IP:192.168.1.63

zabbix-agent:xuegod64.cn IP:192.168.1.64

服務概述:

  zabbix(音同zbix)是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。

  zabbix能監視各種網絡參數,保證伺服器系統的安全營運;并提供靈活的通知機制以讓系統管理者快速定位/解決存在的各種問題。

  zabbix由2部分構成,zabbix server與可選元件zabbix agent。zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠端伺服器/網絡狀态的監視,資料收集等功能,它可以運作在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。zabbix agent需要安裝在被監視的目标伺服器上,它主要完成對硬體資訊或與作業系統有關的記憶體,CPU等資訊的收集。zabbix server可以單獨監視遠端伺服器的服務狀态;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視資料(trapping方式),同時還可被動接收zabbix agent發送的資料(trapping方式)。

運作機制: 

zabbix的主要特點: - 安裝配置簡單,學習成本低 - 支援多語言(包括中文) - 免費開源 - 自動發現伺服器不網絡裝置 - 分布式監視以及WEB集中管理功能 - 可以無agent監視 - 使用者安全認證和柔軟的授權方式 - 通過WEB界面設定戒檢視監視結果 - email等通知功能等等

Zabbix主要功能: - CPU負荷 - 記憶體使用 - 磁盤使用 - 網絡狀況 - 端口監視

三:實驗代碼

Zabbix+Linux+nginx+mysql+php

zabbix server端 xuegod63

1)安裝zabbix環境

[root@xuegod63 ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

2)建立使用者賬号(server,agent)

[root@xuegod63 ~]# useradd -s /sbin/nologin zabbix

3)建立zabbix資料庫并導入zabbix資料庫資料(server)

[root@xuegod63 ~]#  mysql -u root -p123456

mysql> create database zabbix;

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql> exit

4)安裝zabbix,導入資料

[root@xuegod63 ~]# tar zxvf zabbix-2.0.8.tar.gz

[root@xuegod63 ~]# cd zabbix-2.0.8

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

修改root密碼:

[root@xuegod63 etc]# mysqladmin -u root password 123456

5)編譯安裝xuegod63  上的zabbix伺服器端

[root@xuegod63 zabbix-2.0.8]# ./configure --prefix=/usr/local/zabbix-2.0.8 --enable-server --enable-agent --with-mysql=/server/mysql-5.5/bin/mysql_config --with-net-snmp --with-libcurl

//--prefix指定zabbix安裝目錄,--enable-server支援zabbix伺服器,--enable-agent支援zabbix代理,--with-mysql使用MySQL用戶端庫可以選擇指定路徑mysql_config,如果是rpm包安裝的mysql資料庫,直接使用--with-mysql,不用指定具體路徑,--with-net-snmp使用net -snmp軟體包,擇性地指定路徑NET -SNMP配置, --with-libcurl使用curl包

***********************************************************

*            Now run 'make install'                       *

*                                                         *

*            Thank you for using Zabbix!                  *

*              <http://www.zabbix.com>                    *

[root@xuegod63 zabbix-2.0.8]# make install#不需要執行make,直接make install

[root@xuegod63 zabbix-2.0.8]# cd /usr/local/zabbix-2.0.8/

[root@xuegod63 zabbix-2.0.8]# ls

bin  etc  sbin  share

6)配置服務端配置檔案:xuegod63

[root@xuegod63 etc]# cd /usr/local/zabbix-2.0.8/etc/

[root@xuegod63 etc]# vim zabbix_server.conf

修改如下内容:

LogFile=/var/log/zabbix_server.log#可以不修改,

DBHost=localhost

DBName=zabbix

DBUser= zabbix

DBPassword= zabbix

7)修改zabbix_agentd.conf,實作自己監控自己。如下内容:

[root@xuegod63 etc]# vim /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

[root@xuegod63 etc]# grep ^[^#] zabbix_agentd.conf

LogFile=/var/log/zabbix_agentd.log

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1 

8)啟動守護程序xuegod63  

[root@xuegod63 zabbix-2.0.8]# /usr/local/zabbix-2.0.8/sbin/zabbix_server

[root@xuegod63 zabbix-2.0.8]# netstat -anutp | grep 10051  # server啟動端口為10051

tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      14453/zabbix_server

9)添加注冊的端口:注:如果看不到啟動端口,需要添加注冊的端口,

[root@xuegod63 zabbix-2.0.8]#cat >>/etc/services<<EOF

zabbix-agent 10050/tcp Zabbix Agent

zabbix-agent 10050/udp Zabbix Agent

zabbix-trapper10051/tcp Zabbix Trapper

zabbix-trapper 10051/udp Zabbix TrapperEOF

通過浏覽器安裝zabbix

10)複制zabbix PHPweb網站檔案

[root@xuegod63 etc]# cp -r /root/zabbix-2.0.8/frontends/php/ /server/nginx-1.2.8/html/zabbix

#zabbix的終端程式是用php寫的,是以需要一個支援php腳本解析的web伺服器。然後将frontends/php 下面的php檔案拷貝到web伺服器html檔案目錄下面。

10)修改參數

[root@xuegod63 ~]# vim /server/php-5.4-nginx-v2/php.ini

改:;date.timezone =

為:date.timezone = Asia/Chongqing

[root@xuegod63 etc]# /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm  done

#確定所有依賴的軟體都正确安裝。檢視到幾處不符合要求以及需修改該PHP檔案配置檔案參數:

[root@xuegod63 etc]# vim /server/php-5.4-nginx-v2/php.ini

查找如下參數并修改為:

----------------

729 post_max_size = 16M

440 max_execution_time = 300

450 max_input_time = 300

[root@xuegod63 etc]# /etc/init.d/php-fpm restart 

11)測試登入

   在你的浏覽器中,輸入url:http://192.168.1.63/zabbix/index.php,你将看到前端安裝向導的第一個畫面。

<a href="http://s2.51cto.com/wyfs02/M02/89/23/wKiom1gIoC3wBy94AAKjTAXKomA491.png-wh_500x0-wm_3-wmp_4-s_3042734372.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M00/89/23/wKiom1gIoC7h_3lTAAFtzD7qojg782.png-wh_500x0-wm_3-wmp_4-s_2716578451.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/89/20/wKioL1gIoC6iPIzwAAEwqla5y9A444.png-wh_500x0-wm_3-wmp_4-s_1030644964.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoC_yfiW5AAD8MjBuX6A656.png-wh_500x0-wm_3-wmp_4-s_4281352996.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M00/89/23/wKiom1gIoC_wVUDiAAE6vKWsxQY724.png-wh_500x0-wm_3-wmp_4-s_4003533193.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoDCRCQ2IAAD1Sphfswo915.png-wh_500x0-wm_3-wmp_4-s_1053341217.png" target="_blank"></a>

将下載下傳文檔上傳并拷貝到html中

[root@xuegod63 ~]# cp zabbix.conf.php /server/nginx-1.2.8/html/zabbix/conf

<a href="http://s3.51cto.com/wyfs02/M01/89/20/wKioL1gIoEOxYwtUAADTykary5o841.png-wh_500x0-wm_3-wmp_4-s_2125567904.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/23/wKiom1gIoEPQ1or1AAHpoZYKJ8g115.png-wh_500x0-wm_3-wmp_4-s_1112439507.png" target="_blank"></a>

接着,就可以登入到Zabbix系統的主界面。預設使用者名:admin 密碼是:zabbix

<a href="http://s2.51cto.com/wyfs02/M00/89/20/wKioL1gIoFGARJnSAADektOpYw8035.png-wh_500x0-wm_3-wmp_4-s_3262143845.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M02/89/20/wKioL1gIoFHiGbXTAACDDVQKn0k287.png-wh_500x0-wm_3-wmp_4-s_1614553206.png" target="_blank"></a>

修改顯示語言為中文:

zabbix agent端 xuegod63與xuegod64

配置xuegod63的zabbix agent

1)配置環境

[root@xuegod64~]#yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

2)建立使用者賬号

[root@xuegod64~]# useradd -s /sbin/nologin zabbix

3)配置client: xuegod64.cn

[root@xuegod64 ~]# tar zxvf zabbix-2.0.8.tar.gz

[root@xuegod64 ~]# cd zabbix-2.0.8

[root@xuegod64 zabbix-2.0.8]# ./configure --prefix=/usr/local/zabbix-2.0.8 --enable-agent

*            Thank youfor using Zabbix!                  *

[root@xuegod64 zabbix-2.0.8]#make install

檢視安裝後,生成的檔案:

[root@xuegod64 zabbix-2.0.8]# cd /usr/local/zabbix-2.0.8/

[[email protected]]# ls

主配置檔案:

[root@xuegod64 etc]# ls /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

4)注冊服務端口

[root@xuegod64 zabbix-2.0.8]# vim /etc/services#最後,添加以下内容

zabbix-agent    10050/tcp               # Zabbix Agent

zabbix-agent    10050/udp               # Zabbix Agent

zabbix-trapper10051/tcp               # Zabbix Trapper

zabbix-trapper  10051/udp               # Zabbix Trapper

5)建立服務管理腳本

[root@xuegod64 zabbix-2.0.8]# cp /root/zabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/

6)修改程式家目錄

[root@xuegod64 zabbix-2.0.8]# vim /etc/init.d/zabbix_agentd

改:BASEDIR=/usr/local

為:BASEDIR=/usr/local/zabbix-2.0.8

root@xuegod64 zabbix-2.0.8]# chmod  +x /etc/init.d/zabbix_agentd

[root@xuegod64 zabbix-2.0.8]#chkconfig --add zabbix_agentd

[root@xuegod64 zabbix-2.0.8]#chkconfig zabbix_agentd on

配置xuegod64的zabbix agent

1)配置用戶端

[[email protected]]## vim  /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

Server=192.168.1.63 #指定誰是zabbix server

ServerActive=127.0.0.1 #指的是開啟主動檢查模式

Hostname=xuegod64.cn

UnsafeUserParameters=1

參數說明:

Server=192.168.1.63#zabbix server的ip位址或主機名,可同時列出多個,需要用逗号隔開

ServerActive=127.0.0.1#開啟主動檢查

2)啟動服務

[root@xuegod64 zabbix-2.0.8]# /etc/init.d/zabbix_agentd start

[root@xuegod64 zabbix-2.0.8]# netstat -antup | grep 10050

tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      12504/zabbix_agentd

3)測試:zabbix服務端與用戶端通信

[root@xuegod63 etc]# /usr/local/zabbix-2.0.8/bin/zabbix_get -s 192.168.1.64 -p10050 -k"net.if.in[eth0,bytes]"

15986311#可以得到網卡資訊說明用戶端與服務端可以正常通信。

4)建立服務管理腳本

[[email protected]]# cp /root/zabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

5)修改程式家目錄

[[email protected]]# vim /etc/init.d/zabbix_agentd

[email protected]]# chmod  +x /etc/init.d/zabbix_agentd

[[email protected]]#chkconfig --add zabbix_agentd

[[email protected]]#chkconfig zabbix_agentd on

6)修改用戶端xuegod63.cn配置檔案 

[[email protected]]# vim  /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

[root@xuegod63etc]# grep ^[^#] /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf#修改以下紅色内容

Server=192.168.1.63 #可以寫成127.0.0.1的

7)啟動服務

[[email protected]]# /etc/init.d/zabbix_agentd start

[[email protected]]# netstat -antup | grep 10050

WEB界面搭建監控伺服器運作狀态

1:添加被監控資訊

<a href="http://s5.51cto.com/wyfs02/M01/89/23/wKiom1gIoQby6WVmAABaIxqJpxI203.png-wh_500x0-wm_3-wmp_4-s_914379944.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/89/20/wKioL1gIoQajVWGIAADllNaNiOk291.png-wh_500x0-wm_3-wmp_4-s_197008907.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M02/89/23/wKiom1gIoQai-MS4AAD6O759IWY509.png-wh_500x0-wm_3-wmp_4-s_2770753427.png" target="_blank"></a>

#這個時候顯示受監控了,但是監控中心還不知道監控着什麼,是以顯示灰色。

2:通過Zabbix内模組化版的方法來監控CPU,記憶體,交換分區,磁盤空間等系統資訊。登入WEB界面中選擇内置模闆Template OS LinuxConfiguration -Templates 

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoRqRN5HiAAGjICi9XhU921.png-wh_500x0-wm_3-wmp_4-s_693943352.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/89/20/wKioL1gIoRrxnaTpAACf0rVPku4405.png-wh_500x0-wm_3-wmp_4-s_198445929.png" target="_blank"></a>

3:在Host清單中,可以看到xuegod64.cn已經處于綠色的被監控狀态了Configuration -Hosts

4:以圖形圖像的形式顯示被監控資訊

監控如下

1)監控CPU:

2)監控磁盤空間,Disk space usage磁盤使用空間

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoTOCZ5chAADkV0gfvUg789.png-wh_500x0-wm_3-wmp_4-s_1210827606.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/89/23/wKiom1gIoTTzMC-uAADb45kGWIg874.png-wh_500x0-wm_3-wmp_4-s_2657313411.png" target="_blank"></a>

5:監控網絡流量的圖表:network traffic eth0  #這裡要修改成英文的,才能檢視到

注:預設的自動發現配置為每個小時執行一次,是以在沒有修改配置的情況下需要1個小時以後才能看到這些圖表。修改發現時間:(手動修改可以通過Configuration -Hosts -xuegod64.cn-Discovery rules中修改對應的Interval的值)

手動修改步驟如下

<a href="http://s2.51cto.com/wyfs02/M00/89/20/wKioL1gIoU3xxT0OAACiJUu3QPc929.png-wh_500x0-wm_3-wmp_4-s_1943826896.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/89/23/wKiom1gIoU6jbWnaAABnJuKvVTw592.png-wh_500x0-wm_3-wmp_4-s_1290786644.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/89/20/wKioL1gIoU7gwflGAACeuq_lCko738.png-wh_500x0-wm_3-wmp_4-s_2257256111.png" target="_blank"></a>

#再次檢視,發現已經有資料了

6:設定Trigger觸發器,指定各個監控項的門檻值

<a href="http://s1.51cto.com/wyfs02/M02/89/23/wKiom1gIoV6xd93iAAB69Z66Mqo722.png-wh_500x0-wm_3-wmp_4-s_4208386690.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M02/89/20/wKioL1gIoWLgAbXXAAk0Ce0dq1M100.png-wh_500x0-wm_3-wmp_4-s_133128776.png" target="_blank"></a>

#預設已經有了不少的Trigger,比如磁盤的報警門檻值就設定為了20%

7:手動修改磁盤的報警門檻值為10%Template -Template OS Linux

<a href="http://s1.51cto.com/wyfs02/M00/89/20/wKioL1gIoYeD0ZhYAAD7b196a_k955.png-wh_500x0-wm_3-wmp_4-s_1411502330.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoYigV5akAABW-gCKirE540.png-wh_500x0-wm_3-wmp_4-s_1008686036.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/20/wKioL1gIoYixGKMXAABOCLSBdvY803.png-wh_500x0-wm_3-wmp_4-s_4152378267.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoYjjre3eAACIM29mTRg990.png-wh_500x0-wm_3-wmp_4-s_4215628205.png" target="_blank"></a>

改為:

等待Discovery rules更新過後,可以看到門檻值已經更新為了10%

8:使用記憶體的報警阈,将預設的&lt;20M ,改為小&lt;100MTemplate -Template OS Linux -Triggers -Lack of available memory on server{HOST.NAME}

<a href="http://s3.51cto.com/wyfs02/M02/89/23/wKiom1gIoaqxmfPdAACzT8SLzYs477.png-wh_500x0-wm_3-wmp_4-s_2853100206.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/20/wKioL1gIoavDNbDtAACLK7l9in8479.png-wh_500x0-wm_3-wmp_4-s_1774842251.png" target="_blank"></a>

點選save後,檢視:

總結:

Zabbix的配置參數主要都是通過Template來統一管理的,是以就需要到Template中進行修改,完成後會自動更新到所引用的Hosts。

自定義各個監控項的繪圖格式和顔色等Template -Template OS Linux -Graphs -CPU 

本文轉自 于學康 51CTO部落格,原文連結:http://blog.51cto.com/blxueyuan/1864009,如需轉載請自行聯系原作者