zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。zabbix agent可以運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。
zabbix server可以單獨監視遠程服務器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。
zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分布式監視以及WEB集中管理功能
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- 通過WEB界面設置或查看監視結果
- email等通知功能
等等
安裝zabbix前提是已經搭建lnmp或lamp環境
下面具體介紹在linux2.6.18-194.el5 中的安裝過程
下載地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.1/zabbix-2.0.1.tar.gz/download
編譯安裝 zabbix-2.0.1
zabbix-2.0的安裝方式和以往的zabbix1.0各版本有不同的地方 ,如果遇到一些錯誤是可以google並加以解決的。下面是我的安裝方法,如果不想多走彎路可以按照步驟step by step
准備工作
添加用戶
- groupadd -r zabbix
- uaseradd -g zabbix -M -s /sbin/nologin zabbix
- export PATH=$PATH:/usr/local/webserver/mysql/bin
初始化mysql數據庫,為編譯安裝做准備工作
- mysql -e "create databese zabbix;"
- mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
- yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath
- tar xf zabbix-1.8.9.tar.gz
- cd zabbix
- mysql -uroot -hlocalhost -p"123456" zabbix <database/mysql/schema.sql
- mysql -uroot -hlocalhost -p"123456" zabbix <database/mysql/images.sql
- mysql -uroot -hlocalhost -p"123456" zabbix <database/mysql/data.sql
查看php所安裝的模塊:
php -m 檢查是否包括以下內容
bcmath ,mbstring ,sockets, gd ,gd PNG support ,gd JPEG support ,gd FreeType support ,libxml,
xmlwriter, xmlreader ,ctype , session ,gettext
以gettext為例 說明添加gettext模塊
- cd /data2/software/php-5.4.4/ext/gettext/
- ./configure –with-php-config=/usr/local/webserver/php/bin/php-config
- make && make install
會在/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/目錄下生成gettext.so
編輯php.ini
- extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/"
- extension = "gettext.so"
重啟nginx php-fpm 如果是apache也需重啟服務
編譯並安裝zabbix-2.0.1
- ./configure --prefix=/usr/local/webserver/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/local/webserver/mysql/bin/mysql_config --with-net-snmp --with-libcurl
- make && make install
在/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
配置server
- vim /usr/local/webserver/zabbix/etc/zabbix/zabbix_server.conf
- DBName=zabbix
- DBUser=zabbix
- DBPassword=zabbix