線上應用: ZABBIX監控部署安裝

本文出自 “dongyahu_blog” 博客,請務必保留此出處http://www.dongyahui.cn

 

 

本人已操作完成。。操作過程 如有疑問或者錯誤無法解決,可留言本文,謝謝配合

 

一、 Zabbix簡介

Zabbix是一個企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。

官方網站:http://www.zabbix.com

Zabbix 1.8官方文檔:http://www.zabbix.com/documentation/1.8/start

Zabbix通過C/S模式採集數據,通過B/S模式在web端展示和配置。

被監控端:主機通過安裝agent方式採集數據,網絡設備通過SNMP方式採集數據

Server端:通過收集SNMPagent發送的數據,寫入MySQL數據庫,再通過php+apacheweb前端展示。

Zabbix運行條件:

Server

Zabbix Server需運行在LAMPLinux+Apache+Mysql+PHP)環境下,對硬件要求低

Agent

目前已有的agent基本支持市面常見的OS,包含LinuxHPUXSolarisSunwindows

SNMP

支持各類常見的網絡設備

 

二. Zabbix功能

具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通用協議監控、多種告警方式、詳細的報表圖表繪製)

支持自動發現網絡設備和服務器

支持分佈式,能集中展示、管理分佈式的監控點

擴展性強,server提供通用接口,可以自己開發完善各類監控

 

三、 優劣勢

優點:

開源,無軟件成本投入

Server對設備性能要求低(實際測試環境:虛擬機Redhat EL AS52GCPU 1G內存,監控5臺設備,CPU使用率基本保持在10%以下,內存剩餘400M以上)

支持設備多

支持分佈式集中管理

開放式接口,擴展性強

缺點:

全英文,界面不友好

無廠家支持,出現問題解決比較麻煩

需在被監控主機上安裝agent

 

部署安裝:

 

一、 服務端環境準備

Zabbix Server需要運行在CentOSRedHat LinuxDebainLinux系統上,這裏以RHEL AS5作爲部署環境。

Root用戶安裝必須的包,建議配置好yum,通過yum安裝下列包,解決包的依賴關係。

編譯環境安裝:

#yum -y install gcc openssl-devel zlib-devel pcre-devel libjpeg-devel libpng-devel libtool-ltdl-devel
#yum groupinstall "Development Tools" "Development Libraries" -y

LAMP環境

#yum install mysql-server httpd php

其他需要用到的包:

#yum install mysql-devel gcc net-snmp-devel libcurl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml

下載最新的Zabbix安裝包(官網:http://www.zabbix.com)到本地,解壓

#tar zxvf zabbix-1.8.1.tar.gz

增加zabbix用戶和組

#groupadd zabbix

#useradd –g   zabbix –m zabbix

 

一、 數據庫準備

啓動MySQL數據庫:

#service mysqld start

修改MySQL root用戶密碼(默認密碼爲空)

# mysqladmin -u root -p password   redhat

輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改爲redhat

測試能否正常登陸數據庫

#mysql –uroot –proot

創建Zabbix數據庫

Mysql> create database zabbix character set utf8;

導入數據庫sql腳本

#cd zabbix-1.8.1

# cat ./create/schema/mysql.sql |mysql -uroot -predhat zabbix

# cat ./create/data/data.sql |mysql -uroot -predhat zabbix

# cat ./create/data/p_w_picpaths_mysql.sql |mysql -uroot -predhat zabbix

 

編譯安裝

配置編譯,prefix是安裝後程序目錄

# ./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix

# make install

 

配置文件及web前端文件修改

添加服務端口,添加後如下

# grep zabbix /etc/services

#vi /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

 

添加配置文件

# mkdir -p /etc/zabbix

# cp ./misc/conf/* /etc/zabbix

# chown -R zabbix:zabbix /etc/zabbix

 

修改Server配置文件

基本不用修改,用默認配置即可,只需修改一項DBPassword=密碼

# vi /etc/zabbix/zabbix_server.conf

 

修改Agentd配置文件,更改HOST NAME 爲本機的hostname就好了

#vi /etc/zabbix/zabbix_agentd.conf

 

添加web前端php文件

# cd frontends/

# cp -rf php /var/www/html/

# cd /var/www/html

# mv php zabbix

# chown -R zabbix:zabbix zabbix

 

一、 web前端安裝配置

修改php相關參數

# vi /etc/php.ini    找到如下幾項,改成下面的值,前面有;號的要刪掉

date.timezone = Asia/Shanghai

post_max_size = 32M

upload_max_filesize = 16M

max_execution_time = 600 ; Maximum execution time of each script, in seconds

max_input_time = 600 ; Maximum amount of time each script may spend parsing request data

memory_limit = 256M ; Maximum amount of memory a script may consume

重啓apache

#service httpd restart

在本地瀏覽器上訪問Zabbis Serve地址開始web前端配置,http://ServerIP/zabbix

按提示一步步next,其中Step 3 Check of pre-requisites 必須全部項目OK後才能繼續配置,如有提示fail,去server上檢查是否安裝這個包或配置是否按上述更改。

Step 4 填入Zabbix Server 登陸mysql的用戶和密碼

Step 7 按提示下載配置文件到Server/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php

注: 此處需生成文件 zabbix.conf.php  拷貝至/var/www/html/zabbix/conf/

配置完成後,出現登陸界面,默認的用戶爲:admin,密碼爲:zabbix

 

PS:小技巧....ZABBIX支持中英文切換,選擇Chinese(CN)即可

 

 

啓動Server服務

安裝完成後的server程序在/usr/local/zabbix/sbin/目錄下,可以直接啓動

 

#/usr/local/zabbix/sbin/zabbix_server

 

爲了便於啓停Server,我們做一些小配置

 

複製控制程序

# cp ./misc/init.d/redhat/zabbix_* /etc/init.d/

 

修改配置目錄文件zabbix_server_ctl和 zabbix_agentd_ctl

/etc/init.d/zabbix_server_ctl

/etc/init.d/zabbix_agentd_ctl

兩個文件中的BASEDIR=改爲/usr/local/zabbix

# vi /etc/init.d/zabbix_server_ctl

修改其中ZABBIX_SUCKERD所在行:

ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server

修改後:

# base zabbix dir
BASEDIR=/usr/local/zabbix
# PID file
PIDFILE=/var/tmp/zabbix_server.pid
# binary file
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server

 

# vi /etc/init.d/zabbix_agentd_ctl

修改其中ZABBIX_AGENTD所在行:

ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

 

修改後:

# base zabbix dir
BASEDIR=/usr/local/zabbix
# pid file (as of 1.0 beta 10)
PIDFILE=/var/tmp/zabbix_agentd.pid
# binary file
ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

 

加入開機啓動

# echo '/etc/init.d/zabbix_server_ctl start &'  >>/etc/rc

# echo '/etc/init.d/zabbix_agentd_ctl start &'  >>/etc/rc

 

創建快鍵方式

# ln -s /etc/init.d/zabbix_server_ctl /usr/bin/zabbix_server_ctl

# ln -s /etc/init.d/zabbix_agentd_ctl /usr/bin/zabbix_agentd_ctl

 

啓動ServerAgentd(可以通過start stop restart來操作)

# zabbix_agentd_ctl start

# zabbix_server_ctl start

檢查啓動是否正常,查看進程是否起來,serveragentd

#ps –ef|grep zabbix

如果進程沒起來,可以查看對應的日誌錯誤,默認在/tmp/zabbix-*.log

至此Zabbix Server的安裝已完成

 

 

 

 在hosts上配置agent

 

Zabbix需要在被監控的host上安裝agent,在zabbix官網上下載相應平臺的agent包到各被監控端,按如下方式在被監控上運行agent

注:官網上下載的agent包裏沒有運行agentd所必須的配置文件,可以從zabbix server上拷貝一份zabbix_agentd.conf,這個conf文件是所有平臺都通用的

LinuxUX

LinuxUX上的agent是編譯好了的,不用安裝

 

#cd /usr/local/zabbix

#tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz

 

取一份server上的zabbix_agnetd.conf到本地,然後按說明修改,一般我們只需修改如下3個參數:

Hostname=本機名

Server=Zabbix Server IP

LogFile=本機agentd日誌保存文件

 

修改完成後,運行agentd

 

#/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &

#ps –ef|grep zabbix_agentd

 

如果進程沒起來,可查看agentd.log日誌來排查問題。

注:啓動時建議用全路徑,否則可能會出錯)

 

加入開機運行

#echo ‘/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &'     >>/etc/rc

 

 

Windows:

Windows下解壓客戶端包到c:,

下載修改好的zabbix_agentd.conf文件也放到c:,

打開cmd命令行,執行

 

C:>zabbix_agentd –-install

 

安裝後會在系統服務裏添加一個zabbix_agentd服務,會自動開機運行

 

如果需要將客戶端和配置文件放在其他目錄,請執行

 

C:>DIR/zabbix_agentd –c DIR/zabbix_agentd.conf –-install

 

啓動agentd服務

 

C:>zabbix_agentd –-start

 

或是通過管理->服務找到zabbix_agentd來啓動

 

配置使用

 

通過本地瀏覽器訪問http://ServerIP/zabbix來開始配置和使用zabbix

使用zabbix進行監控之前,要理解zabbix監控的流程。

一次完整的監控流程可以簡單描述爲:

Host Groups(設備組)->Hosts(設備)->Applications(監控項組)->Items(監控項)->Triggers(觸發器)->Actions(告警動作)->Medias(告警方式)->User Groups(用戶組)->Users(用戶)

 

一、 添加 Hosts

HostZabbix監控的基本載體,所有的監控項都是基於host的。

通過Configuration->Hosts->Create Host來創建監控設備

 

 

按提示填入NameGroupsIP ,其他選項默認即可,Link Templates 處選擇一個模板,save即可成功添加設備。

注:如果host上沒安裝agent,添加後的狀態會是unmonitor,會採集不到值,Zabbix自帶大量的設備監控模板,我們添加主機時通過link到這些模板,就可以快速添加主機的監控項和告警觸發條件。

一類的hosts可以歸屬到同一個Host Group,便於分類管理同一類設備,在Configuration->Host Group->Create Host Group 可以添加設備組

 

 

 

二、 添加 Items

Item是監控項,是監控的基本元素,每一個監控項對應一個被監控端的採集值。

Configuration->Hosts界面,我們能看到每個host所包含的items總數,點擊對應主機的items項,可以看到具體的每個item信息,這些items可以引用自templates,也可以自己創建。

通過點擊具體item名字可以修改已有監控項的屬性,點擊Satus的鏈接可以禁用/啓用這個監控項。(注:我們可以通過新建一個template,在template中禁用掉所有不需要用到的items,然後把同一類hosts link to這個template,就不用一臺臺主機去更改items

新增item可以通過點擊右上角的create item來創建

 

 

 

 

 

 

 

 

 

 

按提示逐項填入相關信息即可,其中keyzabbix已經自帶的取值方法,Application類似於host groups,是item的組。(item key也可以自定義,後面會講到如何自定義監控項

Zabbix自帶非常多的監控採集項及方法,基本能滿足當前所有的監控功能,這些都包含在item的 item key中了,更多的typekey的解釋請參考:

http://www.zabbix.com/documentation/1.8/manual/config/items

 

三.添加 Triggers

Trigger是觸發器,當Items採集值滿足triggers的觸發條件時,就會產生actions

每一個trigger必須對應一個item,但一個item可以對應多個trigger

同樣,通過點擊Configuration->Hosts->Triggers中某個trigger的名字,可以修改trigger的屬性。(注意:引用自templatetrigger觸發值是不能單獨修改的,必須在template中修改,或是複製一個同樣的trigger再修改,然後禁用掉之前的

新增trigger可以通過點擊右上角的create trigger來創建

 

 

 

 

Expression中選擇對應的item、觸發方式及觸發值,Severity是告警級別,根據trigger的嚴重性來選擇。

Zabbix 提供多種trigger觸發方式供選擇,常用的我們可以選擇last value </>/=/#/N(最近一次採集值),或是選擇maximal value for period of time (一段時間內的最大值),等等。可以根據實際需要來設定觸發方式。更多的解釋請參考:

http://www.zabbix.com/documentation/1.8/manual/config/triggers

 


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