1)安裝LAMP環境
Zabbix監控管理控制檯需要通過Web頁面展示出來,並且還需要使用MySQL來存儲數據,因此需要先爲Zabbix準備基礎LAMP環境。
copytextpop-up
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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。
圖-2
步驟二:部署被監控主機
1)源碼安裝Zabbix Agent
被監控端主機安裝Zabbix僅需要開啓Agent模式即可,不需要使用Zabbix服務器模式。
copytextpop-up
[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
[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
[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
[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
[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
[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 步驟
實現此案例需要按照如下步驟進行。
步驟一:添加監控主機
添加被監控主機時,需要根據提示輸入被監控Linux主機的主機名稱、IP地址等參數,具體參考圖-4。
圖-4
步驟二:爲被監控主機添加監控模板
Zabbix通過監控模板來對監控對象實施具體的監控功能,根據模板來定義需要監控哪些數據,對於Linux服務器的監控,Zabbix已經內置了相關的模板(Template OS Linux),選擇模板並鏈接到主機即可,
步驟三:查看監控數據
查看監控數據及圖形,登錄Zabbix Web控制檯,點擊監控中,在監控組和監控主機中選擇需要查看數據的監控主機,並在圖形後面選擇需要查看哪些監控數據,如圖-6所示。
3 創建自定義監控
3.1 問題
沿用練習二,使用Zabbix實現自定義監控,實現以下目標:
監控Linux服務器系統賬戶的數量
3.2 方案
需要使用Zabbix自定義key的方式實現自定義監控,參考如下操作步驟:
創建自定義key
創建監控項目
創建監控圖形
將監控模板關聯到主機
3.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:被監控主機創建自定義key
1)創建自定義key
自定義key語法格式爲:UserParameter=自定義key名稱,命令。
自定義的key文件一般存儲在//etc/zabbix/zabbix_agentd.conf.d/目錄,這裏還需要修改zabbix_agentd.conf文件,來讀取該目錄下的所有文件 。
copytextpop-up
[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} '
[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
[root@zabbixclient ~]# service zabbix_agentd restart
[root@zabbixclient ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
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所示。
圖-7
爲創建的模板設置模板名稱及組名稱,如圖-8所示。
圖-8
2)創建應用
創建完成模板後,默認模板中沒有任何應用、項目、觸發器、圖形等資源。這裏需要點擊模板後面的Application鏈接打開創建應用的頁面,如圖-9所示。
圖-9
點擊Application後,會刷新出圖-10所示頁面,在該頁面中點擊Create application按鈕創建應用。
圖-10
設置應用名稱如圖-11所示。
圖-11
3)創建項目
與創建應用一樣,在模板中還需要創建監控項目,如圖-12所示,並在刷新出的新頁面中選擇Create items創建項目,如圖-13所示。
圖-12
圖-13
接下來,還需要給項目設置名稱及對應的自定義key,如圖-14所示。
圖-14
最後激活該監控項目,如圖-15所示。
圖-15
4)創建圖形
爲了後期可以通過圖形的方式展示監控數據,還需要在模板中創建圖形,設置方法與前面的步驟一致,如圖-16所示。
圖-16
創建圖形後,還需要爲圖形設置名稱及選擇對應的監控項目,選擇爲哪個項目繪製圖形,如圖-17所示。
圖-17
5)將模板鏈接到被監控主機
將完整的監控模板製作完成後,就可以將模板鏈接到主機實現監控功能了。首先找到被監控主機,如圖-18所示。
圖-18
點擊被監控主機鏈接,打開監控主機設置頁面,在Template(模板)頁面中選擇需要鏈接到該主機的模板,在此選擇剛剛創建的模板count_line.passwd添加即可,如圖-19所示。