zabbix是開源的,它基於web界面的,提供分佈式系統監視以及網絡監視功能,是一個all-in-one的高度集成的企業級監控解決方案。zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。Zabbix由一箇中心的Zabbix Server和若干可能安裝有Zabbix Agent被監控設備構成,主要特性可歸納爲如下幾點;php
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)等系統之上。html
數據庫爲PostgreSQL,Mysql,Oracle,SQLite或DB2。
可配置歷史和趨勢數據的保存時間
內建舊清理程序防止數據膨脹mysql
詳細請參考小橋河西的博客,很實用:http://blog.chinaunix.net/uid-20726500-id-4513716.htmlweb
官方文檔:https://www.zabbix.com/documentation/2.4/manual/installation/install#from_the_sourcessql
安裝開發軟件包shell
yum -y groupinstall "Development Tools"
安裝LAMP(Linux,Apache, Mysql, Php)環境及zabbix所需644的依賴包
數據庫
yum -y install httpd mysql mysql-server php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath
備註:除LAMP以外,還有常見的LNMP(Linux, Nginx, MySQL, Php)。
apache
groupadd zabbix useradd -g zabbix zabbix passwd zabbixuser #修改用戶密碼
啓動mysql服務:vim
chkconfig mysqld on #設置mysql服務開機啓動 service mysqld start 或者/etc/init.d/mysqld start #來啓動mysql服務
進入mysql的sql命令狀態,建立zabbix運行所須要的數據庫及用戶權限:centos
[root@cloudstack local]# mysqladmin -u root –h 127.0.0.1 password "123456" --root用戶初始化後無密碼,此處設定密碼爲123456 [root@cloudstack local]# mysql –u root –h 127.0.0.1 –p -- -p是強制輸入密碼 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> --建立zabbix數據庫 mysql>create database zabbix character set utf8; --插入zabbix用戶 mysql>grant all privileges on zabbix.* to zabbixuser@'%' identified by 'zabbixpassword'; --或者insert into mysql.user(Host,User,Password) values("localhost","zabbixuser",password("zabbixpassword")); Query OK, 1 row affected, 3 warnings (0.00 sec) mysql>flush privileges;
mkdir /lyy cd /lyy wget #將源碼包下載到/lyy目錄下 tar -zxvf zabbix-2.4.7.tar.gz #解壓
cd zabbix-2.4.7 ./configure --sysconfdir=/usr/local/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql
若是configure過程當中提示少包,能夠及時安裝,如:yum –y install mysql-devel。
Configure正確完成後,根據提示執行:
make install
注意:此處sysconfdir指定配置文件的路徑(zabbix_server.conf和zabbix_agent.conf),指定就在/usr/local/zabbix/目錄下的etc目錄了,若是不指定默認在/usr/local/下的etc目錄下。
cp /lyy/zabbix-2.4.7/misc/init.d/tru64/zabbix_agentd /etc/init.d/ cp /lyy/zabbix-2.4.7/misc/init.d/tru64/zabbix_server /etc/init.d/ chown zabbixuser:zabbixuser /etc/init.d/zabbix_*
以上配置完畢後,能夠直接在zabbixuser用戶下的任意目錄,執行
service zabbix_server start/stop/restart
若是不配置以上系統服務腳本,則需執行/usr/local/zabbix/sbin/zabbix_server(或者缺省的usr/local/sbin/zabbix_server)啓動服務。
mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/schema.sql mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/images.sql mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/data.sql
登陸數據庫查看下錶是否都建立成功
將zabbix的頁面文件copy到指定目錄(跟apache配置的相同便可)
mkdir /var/www/html/zabbix cp -rf /lyy/zabbix-2.4.7/frontends/php/* /var/www/html/zabbix/ chown -R zabbixuser.zabbixuser /var/www/html/zabbix/
vim /etc/php.ini
date.timezone = Asia/Shanghai max_execution_time = 300 max_input_time = 300 post_max_size = 32M memory_limit = 128M
注意: 其中參數mbstring.func_overload = 2是要求註釋掉的,不然會在後邊產生錯誤。
4.7配置zabbix server端的配置文件
修改zabbix_server.conf(缺省位置在/usr/local/etc/zabbix_server.conf,此處爲/usr/local/zabbix/etc/zabbix_server.conf),定義其中數據庫的IP、用戶名、密碼參數。
vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=192.168.229.131 DBName= zabbix DBUser=zabbixuser DBPassword=zabbixpassword #後面的供參考 StartPollers=30 #開啓多線程數,通常不要超過30個 StartTrappers=20 #trapper線程數 StartPingers=10 #fping線程數 StartDiscoverers=120 MaxHousekeeperDelete=5000 CacheSize=1024M #用來保存監控數據的緩存數,根據監控主機的數量適當調整 StartDBSyncers=8 #數據庫同步時間 HistoryCacheSize=1024M TrendCacheSize=128M #總趨勢緩存大小 HistoryTextCacheSize=512M AlertScriptsPath=/etc/zabbix/alertscripts LogSlowQueries=1000
vim /etc/httpd/conf/httpd.conf
ServerName 192.168.229.131 <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName 192.168.229.131 </VirtualHost>
chkconfig httpd on #設置開機啓動httpd服務 service httpd start #啓動httpd服務
此時查看並確認服務(主要是httpd,mysqld, zabbix_server)啓動狀況:
[root@localhost html]# netstat -plunt | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1623/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 497/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 705/master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 63120/zabbix_agentd tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 63499/zabbix_server tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3517/mysqld tcp 0 0 :::80 :::* LISTEN 63459/httpd tcp 0 0 :::22 :::* LISTEN 1623/sshd tcp 0 0 ::1:631 :::* LISTEN 1497/cupsd tcp 0 0 ::1:25 :::* LISTEN 1705/master
在瀏覽器中輸入:http://192.168.229.131/zabbix/ ,而後根據網頁提示一步一步往下進行。
注意如下常見錯誤及解決:
當遇到配置/var/www/html/zabbix/conf/zabbix.conf.php失敗的狀況,以下圖:
解決方法:
根據提示下載配置文件zabbix.conf.php,並拷貝到/var/www/html/zabbix/conf/目錄下,並給zabbixuser受權,以後點擊網頁上的重試便可。
[root@cloudstack conf]# cp /home/centos6/Desktop/zabbix.conf.php /var/www/html/zabbix/conf/ [root@cloudstack conf]# chown zabbixuser:zabbixuser zabbix.conf.php
一切準備完畢後,進入登錄界面,初始的用戶名是admin和密碼是zabbix,以後會進入主界面。
注意如下常見錯誤及解決:
1.在zabbix主界面遇到如下報錯:
date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PST/-8.0/no DST' instead [dashboard.php:130 →
解決方法:
第1步
[root@cloudstack init.d]# vi /etc/php.ini 配置date.timezone = Aisa/Shanghai
第2步
[root@cloudstack init.d]# vi /var/www/html/zabbix/include/page_header.php 在最前邊添加ini_set('date.timezone','Asia/Shanghai');
2.在zabbix主界面遇到報錯:server is not running
解決方法:
1.先看日誌狀況
vi /tmp/zabbix_server.log
2. 查看防火牆設置狀況
3.參考http://my.oschina.net/jincon/blog/269870,能夠其中一個函數被禁用致使的問題,解決:
vi /etc/php.ini 將其中disable_function=註釋掉便可。
更多使用方法介紹,請參考官方使用手冊https://www.zabbix.com/documentation/2.4/manual/quickstart/login .