筆者在浩瀚的網絡海洋中安裝測試了,netxms,cacti,zabbix三款系統監控軟件。將在博文裏詳細介紹zabbix的安裝,部署和配置。系統監控很多方法都可以實現,譬如號稱屎上奇葩的SCOM,比如各硬件廠商推出各種收費的服務,都可以對硬件,系統進行監控。開源的監控軟件也是很多,有一二十種,基本上都是基於agent,snmp協議。在選擇上,選取一款自己使用舒服的工具,爲我等所用。
概述: zabbix官方網站:http://www.zabbix.com,支持中文,基於C/S採集數據,基於B/S展示和配置,其配置環境是LAMP(Linux+Apache+Mysql+PHP)。可以監控Windows,Unix,Linux,Mysql,Oracle,支持SNMP的網絡設備。
1、安裝Linux (筆者寫了兩篇博文,介紹安裝centos 6.0的步驟:http://2801578.blog.51cto.com/2791578/784764;http://2801578.blog.51cto.com/2791578/784758)
2、保證主機能夠連接Internet(筆者使用的是vmware虛擬機,網絡類型選擇NAT,設置其網絡)
3、服務器環境準備
- 通過yum下載安裝包,建立LAMP環境:#yum install mysql-server httpd php
- 下載其他的安裝包:#yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml
4、數據庫準備
- 啓動數據庫:#service mysqld start
- 修改數據庫root密碼爲root(原密碼爲空):#mysqladmin –u root -p password root
提示鍵入原密碼,回車
- 嘗試連接數據庫:#mysql –uroot -proot
- 建立名爲zabbix的數據庫:#create database zabbix character set utf8;
- 利用腳本導入數據庫:
#exit
從www.zabbix.com,下載zabbix的源文件,加壓縮tar文件:
#tar zxvf zabbix-1.8.10.tar.gz
#cd zabbix-1.8.10
# cat ./create/schema/mysql.sql |mysql -uroot -proot zabbix
# cat ./create/data/data.sql |mysql -uroot -proot zabbix
# cat ./create/data/images_mysql.sql |mysql -uroot -proot zabbix
5、編譯安裝
注意前邊yum沒有完整安裝,編譯時會出現問題,zabbix安裝不上
# ./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix
#make
#make install
6、配置
- 配置完成後,用如下命令會顯示端口,如果沒有手動添加(Vi編輯器),筆者曾遇到過添加後,正常工作。
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 –r ./misc/conf/* /etc/zabbix
# chown -R zabbix:zabbix /etc/zabbix
- 修改DBPassword=root(數據庫zabbix的密碼)
# vi /etc/zabbix/zabbix_server.conf
- 修改Agentd配置文件,更改HOST NAME 爲本機名(hostname查看)
#vi /etc/zabbix/zabbix_agentd.conf
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix
7、修改php相關參數
# vi /etc/php.ini
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重啓apache
#service httpd restart
啓動瀏覽器,地址欄輸入:“http://主機ip/zabbix” ,setup1:
setup2:
setup3:看到報錯,修改php.ini
# vi /etc/php.ini
max_input_time = 600
重啓阿帕奇
#service httpd restart
retry
setup4:填寫數據庫密碼
setup5:(Next)
setup6:
setup7:按提示下載配置文件到Server的/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php
setup8:install sucessful
配置完成後,出現登陸界面,默認的用戶爲:admin,密碼爲:zabbix
8、啓動Server
安裝完成後的server程序在/usr/local/zabbix/sbin/目錄下,可以直接啓動
#/usr/local/zabbix/sbin/zabbix_server
爲了便於啓停Server,我們做一些小配置
複製控制程序
# cp ./misc/init.d/redhat/zabbix_* /etc/init.d/
修改配置目錄,將如下兩個文件中的BASEDIR=改爲/usr/local/zabbix, 下面兩個配置中的bin改爲sbin,ZABBIX_AGENTD,ZABBIX_SUCKERD
# vi /etc/init.d/zabbix_server_ctl
# vi /etc/init.d/zabbix_agentd_ctl
加入開機啓動
# 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
啓動Server和Agentd(可以通過start stop restart來操作)
# zabbix_agentd_ctl start
# zabbix_server_ctl start
檢查啓動是否正常,查看進程是否起來,分server和agentd
#ps –ef|grep zabbix
如果進程沒起來,可以查看對應的日誌錯誤,默認在/tmp/zabbix-*.log
至此Zabbix Server的安裝已完成
9、配置Agent
Zabbix需要在被監控的host上安裝agent,在zabbix官網上下載相應平臺的agent包到各被監控端,按如下方式在被監控上運行agent。(注:官網上下載的agent包裏沒有運行agentd所必須的配置文件,可以從zabbix server上拷貝一份zabbix_agentd.conf,這個conf文件是所有平臺都通用的)
Linux、UX:
Linux、UX上的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