zabbix監控

1)安裝LAMP環境

Zabbix監控管理控制檯需要通過Web頁面展示出來,並且還需要使用MySQL來存儲數據,因此需要先爲Zabbix準備基礎LAMP環境。

copytextpop-up
  1. [root@zabbixserver ~]# yum -y install gcc gcc-c++ autoconf httpd \

  2. >php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl \

  3. >mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc \

  4. >mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel crul-devel

  5. [root@zabbixserver ~]# rpm -vih php-bcmath-5.3.3-22.el6.x86_64.rpm

  6. [root@zabbixserver ~]# rpm -vih php-mbstring-5.3.3-22.el6.x86_64.rpm

[root@zabbixserver ~]# yum -y install gcc gcc-c++ autoconf httpd \
>php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl \
>mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc \
>mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel crul-devel
[root@zabbixserver ~]# rpm -vih php-bcmath-5.3.3-22.el6.x86_64.rpm
[root@zabbixserver ~]# rpm -vih php-mbstring-5.3.3-22.el6.x86_64.rpm

2)修改PHP配置文件

通過修改php.ini配置文件設置時區、內存限制等來滿足Zabbix運行的需要。

copytextpop-up
  1. [root@zabbixserver ~]# vim /etc/php.ini

  2. date.timezone = Asia/Shanghai        //設置時區

  3. max_execution_time = 300            //最大執行時間,秒

  4. post_max_size = 32M                //POST數據最大容量

  5. max_input_time = 300                //服務器接收數據的時間限制

  6. memory_limit = 128M                //PHP內存佔用的容量限制

  7. mbstring.func_overload = 2

[root@zabbixserver ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai		//設置時區
max_execution_time = 300			//最大執行時間,秒
post_max_size = 32M				//POST數據最大容量
max_input_time = 300				//服務器接收數據的時間限制
memory_limit = 128M				//PHP內存佔用的容量限制
mbstring.func_overload = 2

3)源碼安裝Zabbix

源碼安裝時,因爲是監控服務器,所以使用--enable-server;因爲需要使用Zabbix監控本機,所以使用--enable-agent作爲被監控主機。

copytextpop-up
  1. [root@zabbixserver ~]# useradd -201 zabbix                    //創建普通賬戶

  2. [root@zabbixserver ~]# ls

  3. frontend.po

  4. php-bcmath-5.3.3-22.el6.x86_64.rpm

  5. php-mbstring-5.3.3-22.el6.x86_64.rpm

  6. zabbix-2.2.1.tar.gz

  7. [root@zabbixserver ~]tar zabbix-2.2.1.tar.gz -/usr/src

  8. [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/

  9. [root@zabbixserver zabbix-2.2.1]./configure \                    //編譯Zabbix

  10. >--prefix=/usr/local/zabbix --enable-server --enable-proxy \

  11. >--enable-agent --with-mysql=/usr/bin/mysql_config \

  12. > --with-net-snmp --with-libcurl

  13. [root@zabbixserver zabbix-2.2.1]# make && make install

[root@zabbixserver ~]# useradd  -u 201 zabbix					//創建普通賬戶
[root@zabbixserver ~]# ls
frontend.po
php-bcmath-5.3.3-22.el6.x86_64.rpm
php-mbstring-5.3.3-22.el6.x86_64.rpm
zabbix-2.2.1.tar.gz
[root@zabbixserver ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src
[root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/
[root@zabbixserver zabbix-2.2.1]# ./configure \					//編譯Zabbix
>--prefix=/usr/local/zabbix --enable-server --enable-proxy \
>--enable-agent --with-mysql=/usr/bin/mysql_config \
> --with-net-snmp --with-libcurl
[root@zabbixserver zabbix-2.2.1]# make && make install

4)創建數據庫並導入數據

Zabbix會將獲取的監控數據存儲在數據庫中,可以使用MySQL或Oracle數據庫存儲,本案例中我們選擇MySQL數據庫存儲監控數據。

copytextpop-up
  1. [root@zabbixserver ~]# mysql

  2. mysql> create database zabbix character set utf8;

  3. mysql> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;

  4. [root@zabbixserver ~]# cd /usr/src/zabbix.2.2.1/database/mysql

  5. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

  6. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < p_w_picpaths.sql

  7. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
[root@zabbixserver ~]# cd /usr/src/zabbix.2.2.1/database/mysql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < p_w_picpaths.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

5)創建連接並將Zabbix加入系統服務

Zabbix安裝路徑爲/usr/local/zabbix,爲了更方便進行操作,需要創建相關鏈接文件。複製軟件包中提供的啓動腳本到/etc/init.d目錄,適當修改腳本內容,即可實現開機啓動服務。

copytextpop-up
  1. [root@zabbixserver ~]# mkdir /var/log/zabbix

  2. [root@zabbixserver ~]chown zabbix.zabbix /var/log/zabbix

  3. [root@zabbixserver ~]# ln -/usr/local/zabbix/etc /etc/zabbix

  4. [root@zabbixserver ~]# ln -/usr/local/zabbix/bin/* /usr/bin/

  5. [root@zabbixserver ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

  6. [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core

  7. [root@zabbixserver core]# cp zabbix_* /etc/init.d/            //複製啓動腳本

  8. [root@zabbixserver core]# vim /etc/init.d/zabbix_server        //修改啓動腳本

  9. BASEDIR=/usr/local/zabbix

  10. [root@zabbixserver core]# vim /etc/init.d/zabbix_agentd        //修改啓動腳本

  11. BASEDIR=/usr/local/zabbix

  12. [root@zabbixserver ~]# vim /etc/services                    //修改服務端口信息

  13. zabbix-agent    10050/tcp        #Zabbix Agent

  14. zabbix-agent    10050/udp        #Zabbix Agent

  15. zabbix-server    10051/tcp        #Zabbix Trapper

  16. zabbix-server    10051/udp        #Zabbix Trapper

[root@zabbixserver ~]# mkdir /var/log/zabbix
[root@zabbixserver ~]# chown zabbix.zabbix /var/log/zabbix
[root@zabbixserver ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
[root@zabbixserver ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[root@zabbixserver ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
[root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core
[root@zabbixserver core]# cp zabbix_* /etc/init.d/			//複製啓動腳本
[root@zabbixserver core]# vim /etc/init.d/zabbix_server		//修改啓動腳本
BASEDIR=/usr/local/zabbix
[root@zabbixserver core]# vim /etc/init.d/zabbix_agentd		//修改啓動腳本
BASEDIR=/usr/local/zabbix
[root@zabbixserver ~]# vim  /etc/services					//修改服務端口信息
zabbix-agent	10050/tcp		#Zabbix Agent
zabbix-agent	10050/udp		#Zabbix Agent
zabbix-server	10051/tcp		#Zabbix Trapper
zabbix-server	10051/udp		#Zabbix Trapper

6)修改Zabbix配置文件

本機作爲監控服務器同時作爲被監控端,需要同時修改zabbix_server.conf和zabbix_agentd.conf文件。

copytextpop-up
  1. [root@zabbixserver ~]# vim /etc/zabbix/zabbix_server.conf

  2. DBName=zabbix                                    //設置數據庫名稱

  3. DBUser=zabbix                                    //設置數據庫賬戶

  4. DBPassword=zabbix                                //設置數據庫密碼

  5. LogFile=/var/log/zabbix/zabbix_server.log        //設置日誌

  6. [root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf

  7. Server=127.0.0.1,192.168.194.10                //設置監控服務器IP

  8. ServerActive=192.168.194.10:10051                //主動監控服務器IP

  9. Hostname=zabbixserver.tarena.com                //設置主機名

  10. LogFile=/var/log/zabbix/zabbix_server.log        //設置日誌

  11. UnsafeUserParemeters=1                        //是否允許自定義key

[root@zabbixserver ~]# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix									//設置數據庫名稱
DBUser=zabbix									//設置數據庫賬戶
DBPassword=zabbix								//設置數據庫密碼
LogFile=/var/log/zabbix/zabbix_server.log		//設置日誌
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.194.10				//設置監控服務器IP
ServerActive=192.168.194.10:10051				//主動監控服務器IP
Hostname=zabbixserver.tarena.com				//設置主機名
LogFile=/var/log/zabbix/zabbix_server.log		//設置日誌
UnsafeUserParemeters=1						//是否允許自定義key

7)複製Web頁面,啓動Zabbix服務

copytextpop-up
  1. [root@zabbixserver ~]# cd /usr/src/zabblix-2.2.1

  2. [root@zabbixserver zabbix-2.2.1]# cp -r frontends/php /var/www/html/zabbix

  3. [root@zabbixserver ~]# chwon -R apache.apache /var/www/html/zabbix

  4. [root@zabbixserver ~]service zabbix_server start

  5. Starting zabbix_server                    [OK]

  6. [root@zabbixserver ~]chkconfig zabbix_server on

  7. [root@zabbixserver ~]service zabbix_agentd start

  8. Starting zabbix_agentd                [OK]

  9. [root@zabbixserver ~]chkcofig zabbix_agentd on

[root@zabbixserver ~]# cd  /usr/src/zabblix-2.2.1
[root@zabbixserver zabbix-2.2.1]# cp -r  frontends/php  /var/www/html/zabbix
[root@zabbixserver ~]# chwon -R apache.apache /var/www/html/zabbix
[root@zabbixserver ~]# service zabbix_server start
Starting zabbix_server					[OK]
[root@zabbixserver ~]# chkconfig zabbix_server on
[root@zabbixserver ~]# service zabbix_agentd start
Starting zabbix_agentd				[OK]
[root@zabbixserver ~]# chkcofig zabbix_agentd on

8)登錄Web管理頁面,初始化管理平臺

首次使用Zabbix管理平臺,需要進行簡單的初始化操作,主要是MySQL數據庫設置,如圖-2所示,Web管理頁面默認初始賬戶admin,密碼爲zabbix。

p_w_picpath002.png

圖-2

步驟二:部署被監控主機

1)源碼安裝Zabbix Agent

被監控端主機安裝Zabbix僅需要開啓Agent模式即可,不需要使用Zabbix服務器模式。

copytextpop-up
  1. [root@zabbixclient ~]# useradd -201 zabbix                    //創建賬戶

  2. [root@zabbixclient ~]# yum -y install gcc gcc-c++

  3. [root@zabbixclient ~]tar zabbix-2.2.1.tar.gz -/usr/src        //解壓

  4. [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/

  5. [root@zabbixserver zabbix-2.2.1]./configure \                    //參數配置

  6. >--prefix=/usr/local/zabbix --enable-agent

  7. [root@zabbixserver zabbix-2.2.1]# make && make install

[root@zabbixclient ~]# useradd -u 201 zabbix					//創建賬戶
[root@zabbixclient ~]# yum -y install gcc gcc-c++
[root@zabbixclient ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src		//解壓
[root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/
[root@zabbixserver zabbix-2.2.1]# ./configure \					//參數配置
>--prefix=/usr/local/zabbix --enable-agent
[root@zabbixserver zabbix-2.2.1]# make && make install

2)創建目錄及鏈接文件

copytextpop-up
  1. [root@zabbixclient ~]# mkdir /var/log/zabbix

  2. [root@zabbixclient ~]chown zabbix.zabbix /var/log/zabbix/

  3. [root@zabbixclient ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core/

  4. [root@zabbixclient core]# zabbix_agentd /etc/init.d/

  5. [root@zabbixclient ~]# chmod 755 /etc/init.d/zabbix_agentd

  6. [root@zabbixclient ~]# ln -/usr/local/zabbix/etc /etc/zabbix

  7. [root@zabbixclient ~]# ln -/usr/local/zabbix/bin/* /usr/bin/

  8. [root@zabbixclient ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

  9. [root@zabbixclient ~]# tail -4 /etc/services

  10. zabbix-agent    10050/tcp        # Zabbix Agent

  11. zabbix-agent    10050/udp        # Zabbix Agent

  12. zabbix-trapper    10051/tcp        # Zabbix Trapper

  13. zabbix-trapper    10051/udp        # Zabbix Trapper

[root@zabbixclient ~]# mkdir /var/log/zabbix
[root@zabbixclient ~]# chown zabbix.zabbix /var/log/zabbix/
[root@zabbixclient ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core/
[root@zabbixclient core]# zabbix_agentd /etc/init.d/
[root@zabbixclient ~]# chmod 755 /etc/init.d/zabbix_agentd
[root@zabbixclient ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
[root@zabbixclient ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[root@zabbixclient ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
[root@zabbixclient ~]# tail -4 /etc/services
zabbix-agent	10050/tcp		# Zabbix Agent
zabbix-agent	10050/udp		# Zabbix Agent
zabbix-trapper	10051/tcp		# Zabbix Trapper
zabbix-trapper	10051/udp		# Zabbix Trapper

3)修改配置文件,啓動Agent

copytextpop-up
  1. [root@zabbixclient ~]# cd /etc/zabbix/

  2. [root@zabbixclient ~]vim zabbix_agentd.conf

  3. [root@zabbixclient ~]# grep -Ev '^$|^#' zabbix_agentd.conf

  4. LogFile=/var/log/zabbix/zabbix_agentd.log

  5. Server=127.0.0.1,192.168.194.10                //監控服務器IP

  6. ServerActive=192.168.194.10:10051                //主動監控服務器IP

  7. Hostname=zabbixclient

  8. UnsafeUserParameters=1                        //是否允許自定義key

  9. [root@zabbixclient ~]chkconfig zabbix_agentd on

  10. [root@zabbixclient ~]# vim /etc/init.d/zabbix_agentd

  11. BASEDIR=/usr/local/zabbix

  12. [root@zabbixclient ~]service zabbix_agentd start

[root@zabbixclient ~]# cd /etc/zabbix/
[root@zabbixclient ~]# vim zabbix_agentd.conf
[root@zabbixclient ~]# grep -Ev '^$|^#' zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.194.10				//監控服務器IP
ServerActive=192.168.194.10:10051				//主動監控服務器IP
Hostname=zabbixclient
UnsafeUserParameters=1						//是否允許自定義key
[root@zabbixclient ~]# chkconfig zabbix_agentd on
[root@zabbixclient ~]# vim /etc/init.d/zabbix_agentd 
BASEDIR=/usr/local/zabbix
[root@zabbixclient ~]# service zabbix_agentd start

2 使用Zabbix監控Linux服務

通過Zabbix監控平臺,添加被監控主機並鏈接監控模板即可。

2.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:添加監控主機

p_w_picpath003.png

添加被監控主機時,需要根據提示輸入被監控Linux主機的主機名稱、IP地址等參數,具體參考圖-4。

p_w_picpath004.png

圖-4

步驟二:爲被監控主機添加監控模板

Zabbix通過監控模板來對監控對象實施具體的監控功能,根據模板來定義需要監控哪些數據,對於Linux服務器的監控,Zabbix已經內置了相關的模板(Template OS Linux),選擇模板並鏈接到主機即可,

p_w_picpath005.png

步驟三:查看監控數據

查看監控數據及圖形,登錄Zabbix Web控制檯,點擊監控中,在監控組和監控主機中選擇需要查看數據的監控主機,並在圖形後面選擇需要查看哪些監控數據,如圖-6所示。

p_w_picpath006.png

3 創建自定義監控

3.1 問題

沿用練習二,使用Zabbix實現自定義監控,實現以下目標:

  • 監控Linux服務器系統賬戶的數量

3.2 方案

需要使用Zabbix自定義key的方式實現自定義監控,參考如下操作步驟:

  1. 創建自定義key

  2. 創建監控項目

  3. 創建監控圖形

  4. 將監控模板關聯到主機

3.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:被監控主機創建自定義key

1)創建自定義key

自定義key語法格式爲:UserParameter=自定義key名稱,命令。

自定義的key文件一般存儲在//etc/zabbix/zabbix_agentd.conf.d/目錄,這裏還需要修改zabbix_agentd.conf文件,來讀取該目錄下的所有文件 。

copytextpop-up


  1. [root@zabbixclient ~]# vim /etc/zabbix/zabbix_agentd.conf

  2. Include=/etc/zabbix/zabbix_agentd.conf.d/        //加載配置文件目錄

  3. [root@zabbixclient ~]# cd /etc/zabbix/zabbix_agentd.conf.d

  4. [root@zabbixclient zabbix_agentd.conf.d]vim count.line.passwd

  5. UserParameter=count.line.passwd,wc -/etc/passwd | awk ' {print $1} '

[root@zabbixclient ~]# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.conf.d/		//加載配置文件目錄
[root@zabbixclient ~]# cd /etc/zabbix/zabbix_agentd.conf.d
[root@zabbixclient zabbix_agentd.conf.d]# vim count.line.passwd
UserParameter=count.line.passwd,wc -l /etc/passwd | awk ' {print $1} '

2)測試自定義key是否正常工作

copytextpop-up
  1. [root@zabbixclient ~]service zabbix_agentd restart

  2. [root@zabbixclient ~]# zabbix_get -127.0.0.1 -k count.line.passwd

  3. 34

[root@zabbixclient ~]# service zabbix_agentd restart
[root@zabbixclient ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
34

步驟二:設置Zabbix監控控制檯

1)添加模板

登錄Zabbix Web監控控制檯,通過Configuration-->Template-->Create template創建模板,如圖-7所示。

p_w_picpath007.png

圖-7

爲創建的模板設置模板名稱及組名稱,如圖-8所示。

p_w_picpath008.png

圖-8

2)創建應用

創建完成模板後,默認模板中沒有任何應用、項目、觸發器、圖形等資源。這裏需要點擊模板後面的Application鏈接打開創建應用的頁面,如圖-9所示。

p_w_picpath009.png

圖-9

點擊Application後,會刷新出圖-10所示頁面,在該頁面中點擊Create application按鈕創建應用。

p_w_picpath010.png

圖-10

設置應用名稱如圖-11所示。

p_w_picpath011.png

圖-11

3)創建項目

與創建應用一樣,在模板中還需要創建監控項目,如圖-12所示,並在刷新出的新頁面中選擇Create items創建項目,如圖-13所示。

p_w_picpath012.png

圖-12

p_w_picpath013.png

圖-13

接下來,還需要給項目設置名稱及對應的自定義key,如圖-14所示。

p_w_picpath014.png

圖-14

最後激活該監控項目,如圖-15所示。

p_w_picpath015.png

圖-15

4)創建圖形

爲了後期可以通過圖形的方式展示監控數據,還需要在模板中創建圖形,設置方法與前面的步驟一致,如圖-16所示。

p_w_picpath016.png

圖-16

創建圖形後,還需要爲圖形設置名稱及選擇對應的監控項目,選擇爲哪個項目繪製圖形,如圖-17所示。

p_w_picpath017.png

圖-17

5)將模板鏈接到被監控主機

將完整的監控模板製作完成後,就可以將模板鏈接到主機實現監控功能了。首先找到被監控主機,如圖-18所示。

p_w_picpath018.png

圖-18

點擊被監控主機鏈接,打開監控主機設置頁面,在Template(模板)頁面中選擇需要鏈接到該主機的模板,在此選擇剛剛創建的模板count_line.passwd添加即可,如圖-19所示。

p_w_picpath019.png


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