Zabbix介紹:php
1.1 Zabbix是一個企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,能夠自由下載使用,運做團隊靠提供收費的技術支持贏利。html
zabbix是一個C/S結構的監控系統,server端偵聽在10051端口,客戶端偵聽在10050端口,用戶界面使用php開發,數據存儲在MySQL裏面。Zabbix經過C/S模式採集數據,經過B/S模式在web端展現和配置。前端
被監控端:主機服務器經過安裝agent方式採集數據,網路設備經過SNMP方式採集數據mysql
Server端:經過收集SNMP和agent發送的數據,寫入MySQL數據庫,再經過Apache等軟件在web前端顯示web
Server:Zabbix Server 需運行在LAMP(Linux+Apache+MySQL+PHP)環境下,對硬件要求低sql
Agent:目前已有的agent基本支持市面上常見的OS,包涵Linux、HPUX、Solaris、Sun、Windows數據庫
SNMP:支持各種常見的網絡設備安全
1.2 zabbix功能服務器
具有常見的商業監控軟件所具有的功能;(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通信協議的監控、多種告警方式、詳細的報表圖表繪製)。網絡
支持自動發現網絡設備和服務器;
支持分佈式,能集中顯示、管理分佈式的監控點;
支持polling和trapping機制;
擴展性強,server提供通用接口,能夠本身開發完善各種監控。
無代理監控;
有安全的用戶認證功能;
可靈活地分配用戶權限;
基於web的接口;
可靈活地預約網絡事件並使用郵件通知;
高等級的資源監控;
日誌審計功能;
1.3 優劣勢
優勢:開源,無軟件成本投入 Server對設備性能要求低
支持設備多 支持分佈式集中管理 開放式接口,擴展性強
缺點:全英文,界面不友好 數據量太大時,清理不是很方便
一 軟件環境
rhel-server-6.3-x86_64 zabbix-2.0.2.tar.gz
httpd-2.2.15 (自帶)php-5.3.3 (自帶)
mysql-5.1.61 (自帶)
服務器:172.168.6.2
客戶端:172.168.6.3
2、服務器安裝lamp
[root@localhost ~]# yum install mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql php-mbstring php-bcmath httpd -y
一、編譯zabbix:
[root@localhost ~]# tax xf zabbix-2.0.2.tar.gz
[root@localhost ~]# cd zabbix-2.0.2
[root@localhost ~]#./configure --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-libcurl --with-net-snmp
#這裏將zabbix服務器與客戶端安裝在同一個機器上的配置:
[root@localhost ~]# Make install
二、添加用戶
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd zabbix -g zabbix
3、配置zabbix
1.配置mysql
[root@localhost ~]#mysqladmin -uroot -p password ‘123123’ #mysql設置密碼123123
[root@localhost ~]#mysql -uroot –p123123
[root@localhost ~]#mysql> create database zabbix character set utf8; #創建zabbix數據庫
[root@localhost ~]#mysql> grant all on zabbix.* to zabbix@'%' identified by '123123';
#受權zabbix數據庫裏面的全部表給經過遠程zabbix用戶登陸的全部權限
[root@localhost ~]#mysql>flush privileges;
將數據導入mysql:schema.sql--- p_w_picpaths.sql---data.sql
[root@localhost ~]#mysql -uzabbix –p123123 zabbix < schema.sql
[root@localhost ~]#mysql –uzabbix –p123123 zabbix <p_w_picpaths.sql
[root@localhost ~]#mysql –uzabbix –p123123 zabbix < data.sql
服務器端配置文件/usr/local/zabbix/etc/zabbix_server.conf須要修改的有:使用mysql做爲數據庫,則須要指定數據庫名稱,用戶及密碼。
4、配置web安裝
[root@localhost ~]#mkdir /var/www/html/zabbix/
[root@localhost ~]#cp -rfa frontends/php/* /var/www/html/zabbix/
修改文件/etc/php.ini
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
mbstring.func_overload = 2
[root@localhost ~]#sed -i 's/^\(.*\)date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)post_max_size =.*$/post_max_size = 16M/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)max_execution_time =.*$/max_execution_time = 300/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)max_input_time =.*$/max_input_time = 300/g' /etc/php.ini
[root@localhost ~]#cp misc/init.d/fedora/core5/zabbix_* /etc/init.d/
[root@localhost ~]#chmod -R 777 /var/www/html/zabbix/conf
打開源碼包目錄下面的misc/init.d/選擇對應的系統版本,將啓動文件複製到/etc/init.d下面
個人系統是rhel6的,可是裏面沒有redhat目錄所以misc/init.d/fedora/core5/zabbix_*
這裏面的腳本,注意腳本里面的命令路徑要和你的安裝路徑一致。
5、Http://IP/zabbix web圖形下一路安裝
檢查php環境時報錯
檢查沒經過 修改/etc/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M 663 [Date]
;Defines the default timezone used by the date functions
date.timezone = Asia/Shanghai
檢查發現少裝了軟件包
rpm -ivh php-mbstring-5.3.3-3.el6_2.8.x86_64.rpm
php-bcmath-5.3.3-3.el6_2.8.x86_64.rpm
php-xml-5.3.3-3.el6_2.8.x86_64
根據報錯少裝了上面幾個軟件包缺乏的軟件包可在http://rpm.pbone.net上面找到。
(若是是編譯版PHP的時候出了添加MySQL的擴展外,還須要以下擴展:
Php BC math:編譯php的時候加上--enable-bcmath
Php mb string:編譯php的時候加上--enable-mbstring
Php GD:編譯的時候加上--with-gd)
裝好後的所有經過
數據庫配置
主機IP,端口預覽配置
默認登錄用戶名密碼是 admin/zabbix
6、在另外一臺服務器安裝客戶端,此次新版本採用源碼安裝
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd zabbix -g zabbix
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar zxf zabbix-2.0.2.tar.gz
[root@localhost src]# cd zabbix-2.0.2
[root@localhost zabbix-2.0.2]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@localhost zabbix-2.0.2]# make install
[root@localhost zabbix-2.0.2]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.0.2]#sed -i
's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
[root@localhost zabbix-2.0.2]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=172.168.1.2
Hostname=Zabbix-client
[root@localhost zabbix-2.0.2]# /etc/init.d/zabbix_agentd start
[root@localhost zabbix-2.0.2]# tail -f /tmp/zabbix_agentd.log
7、命令行驗證zabbix安裝是否正確
a、在命令行輸入下列命令,啓動zabbix服務器守護程序與zabbix客戶端:
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd
輸入netstat -tunlp | grep zabbix,有相似下面輸出,說明zabbix正常啓動:'
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 26828/sbin/zabbix_a
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 26772/sbin/zabbix_s c、在命令行輸入/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k agent.hostname。若是輸出Zabbix server,證實zabbix服務器端跟客戶端能夠正常通訊*