先通過lnmp一鍵安裝包吧nginx和數(shù)據(jù)庫、php搞起來!然后:
實現(xiàn):1. 獲取zabbix
- centos:獲取依賴庫: yum安裝zabbix需要依賴庫
yum -y install net-snmp-devel curl-devel
對于ubuntu系統(tǒng)獲取依賴:
sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
zabbix編譯安裝的依賴包#安裝編譯套件sudo apt-get install build-essential#安裝php前端需要的包sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql#安裝zabbix需要的包,snmp\curl\ssl\fpingsudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
新建zabbix用戶、創(chuàng)建zabbix庫及初始化、編譯安裝zabbix新建zabbix用戶
useradd -M -s /sbin/nologin zabbix //新建zabbix用戶,無家目錄,不可登陸
創(chuàng)建zabbix庫及初始化
tar zxvf zabbix-2.0.13.tar.gz# cd zabbix-2.0.3
mysql -uroot -p> create database zabbix character set utf8;
//新建zabbix數(shù)據(jù)庫> grant all on zabbix.* to zabbix@localhost identified by'redhat';
//授權(quán)zabbxi使用zabbix這個數(shù)據(jù)庫,或者
grant all on zabbix.* to zabbix@'%' identified by'zabbix';
然后去源碼包,江這3個結(jié)構(gòu)傳到zabbix數(shù)據(jù)庫中,
mysql -uzabbix -p'redhat' zabbix < database/mysql/schema.sql //zabbix的數(shù)據(jù)庫表結(jié)構(gòu)
mysql -uzabbix -p'redhat' zabbix < database/mysql/images.sql //待查
mysql -uzabbix -p'redhat' zabbix < database/mysql/data.sql //zabbix的數(shù)據(jù)庫數(shù)據(jù),將zabbix源碼包中的數(shù)據(jù)導(dǎo)入到新建的zabbix數(shù)據(jù)庫,這一步是zabbix2.0.13與舊版不同的地方,在版本2.0.13里數(shù)據(jù)庫的結(jié)構(gòu)和名字都變了,而且導(dǎo)入也要嚴(yán)格按照順序來。
編譯安裝zabbix
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-java# make && make install
--prefix指定zabbix安裝目錄,--enable-server 支持zabbix服務(wù)器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服務(wù)器,--with-mysql 使用MySQL客戶端庫可以選擇指定路徑mysql_config,--with-net-snmp 使用net - snmp軟件包,擇性地指定路徑NET - SNMP配置,--with-libcurl 使用curl包。若./configure 出現(xiàn)hecking for mysql_config... configure: error:MySQL library not found,可以使用find /-name "mysql_config"來查看mysql_config位置,用--with-mysql指定;若./configure出現(xiàn)錯誤configure: error:Invalid NET-SNMP directory - unable to find net-snmp-config,可以通過yum install net-snmp-devel來解決。若已安裝net-snmp-devel卻報error while loading shared libraries: libnetsnmp.so.30" 錯誤的原因和解決辦法,可以通過find / -name libnetsnmp.so.30,查看libnetsnmp.so.30位置,將libnetsnmp.so.30位置添加到/etc/ld.so.conf,/sbin/ldconfig后,再編譯即可
為zabbix server添加端口(可以去zabbix-server.conf配置文件中修改)
cat >> /etc/services <<eofzabbix-agent 10050/tcp #ZabbixAgentzabbix-agent 10050/udp #Zabbix Agentzabbix-trapper 10051/tcp #ZabbixTrapperzabbix-trapper 10051/udp #Zabbix Trappereof
更改zabbix-server.conf配置文件中關(guān)于數(shù)據(jù)庫部分。默認(rèn)的配置文件在/usr/local/zabbix安裝目錄下
vim /usr/local/zabbix/etc/zabbix_server.conf //修改以下內(nèi)容DBName=zabbixDBUser=zabbixDBPassword=redhat //DBPassword 默認(rèn)是被注釋掉的,需要自己添加DBSocket=/tmp/mysql.sock //我發(fā)現(xiàn)如果不加下面這2條,zabbix會一直報connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'。即使mysql賬號、權(quán)限是正確的,/var/lib/mysql/mysql.sock存在也是一樣會報錯。DBPort=3306
給zabbix-2.0.3服務(wù)端程序做軟鏈接(可以不做)
cd /usr/local/zabbix/bin/
for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
cd /usr/local/zabbix/sbin/# for i in *;
do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
拷貝zabbix前端到web目錄下 (將解壓包目錄下的frontends/下的php拷貝到web目錄下)
cp -r zabbix-2.0.3/frontends/php /www/coolnull.com/zabbix
chown -R www:www /www/coolnull.com/zabbix
拷貝修改zabbix服務(wù)端、客戶端啟動腳本
cp zabbix-2.0.13/mi sc/init.d/fedora/core/zabbix_server /etc/init.d/
cp zabbix-2.0.13/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_*
ubuntu系統(tǒng)的啟動腳本在這里:
為腳本加上可執(zhí)行權(quán)限# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix //分別修改/etc/init.d/zabbix_server、zabbix_agentd將其中的BASEDIR改為實際zabbix的安裝位置,如我們這里的/usr/local/zabbix
啟動zabbix,并且添加開機(jī)自啟動
修改啟動文件配置文件vim /etc/init.d/zabbix_server、vim /etc/init.d/zabbix_agent:
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start //啟動服務(wù)
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on //開機(jī)自啟動
在nginx中添加zabbix虛擬主機(jī)
vim /usr/local/nginx/conf/vhosts/zabbix.coolnull.com.conf //內(nèi)容如下
server {
listen 80;
server_namezabbix.test.com; #訪問域名
access_log/data/wwwlogs/zabbix/zabbix.test.com_nginx.logcombined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/none.conf;
root/data/wwwroot/zabbix; #web根目錄
location ~ [^/].php(/|$) {
fastcgi_passremote_php_ip:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
includefastcgi.conf;
}
location ~..(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires30d;
access_logoff;
}
location ~ ..(js|css)?$ {
expires7d;
access_logoff;
}
}
fastcgi_pass unix:/tmp/php-cgi.sock; php-cgi.sock在php-fpm中又配置地址。
CGI全稱是“公共網(wǎng)關(guān)接口”(Common GatewayInterface),HTTP服務(wù)器與你的或其它機(jī)器上的程序進(jìn)行“交談”的一種工具,其程序一般運(yùn)行在網(wǎng)絡(luò)服務(wù)器上。CGI可以用任何一種語言編寫,只要這種語言具有標(biāo)準(zhǔn)輸入、輸出和環(huán)境變量。如php,perl,tcl等。
修改PHP配置文件php.ini內(nèi)容
vim /usr/local/webserver/php/etc/php.ini //修改以下地方date.timezone =Asia/Shanghaipost_max_size =32Mmax_execution_time =300max_input_time =300
修改完重啟,
瀏覽器訪問 http://ip/zabbix
第一次會出現(xiàn),配置有錯誤的地方,配置/etc/php.ini(根據(jù)提示配置大小,并設(shè)置date.timezone=Asia/Shanghai
設(shè)置完成后需要重啟httpd # /etc/init.d/httpd restart
回到web頁面點retry按鈕,全部顯示OK,繼續(xù)下一步;
然后在授權(quán)一個用戶:mysql -uroot -e
"grant all on zabbix.* to 'zabbix'@localhost identified by 'zabbix'"
輸入mysql相關(guān)信息, 首先要測試一下,如果不通過,則需要調(diào)試,測試通過后,點next
Name 寫127.0.0.1,(可以自定義)
下一頁顯示之前填寫的信息,安裝完成后點finish按鈕;
填寫的配置文件為:"/etc/zabbix/web/zabbix.conf.php"
默認(rèn)管理員賬號為admin:zabbix
登錄后會提示“zabbix server is notrunning”這樣的錯誤,需要編輯一下 /etc/zabbix/zabbix_server.conf,配置DBUser, DBPassword
DBPassword=zabbix
保存退出后,重啟服務(wù)生效 /etc/init.d/zabbix-server restart
重啟后zabbix狀態(tài)顯示yes;(有時候防火墻和selinux沒關(guān)閉也不能成功)
更改語言:
右上角profile——language里面選擇chinese zh_cn,中文顯示;
如果沒有中文的話,可以查查這個文件的路徑:
[root@localhost ~]# find / -name locales.inc.php
/usr/share/zabbix/include/locales.inc.php
[root@localhost ~]# vim /usr/share/zabbix/include/locales.inc.php
想要那種語言,吧false改成true就OK了!
登錄web界面后,如果出現(xiàn)以下提示 :
則表示zabbix沒有啟動,需要去修改/etc/zabbix_server.conf配置文件,在配置文件加一行 DBPasswd=密碼,修改完后重啟zabbix-server服務(wù),、etc/init/zabbix-serverreatart,(有事重啟失敗,但是服務(wù)起來了,可以用pstree查看有沒有起來)
然后就是亂碼問題,去windows的控制面板——字體,宿便找一個放到桌面上,然后上傳到web目錄下的/fronts/,
,將文字文件的名字改成這個名字 然后重啟zabbix-server,亂碼就解決了!
注意:自己寫的腳本監(jiān)控,要在zabbix_agentd.conf中的
:超時時間最好也設(shè)置大點,
:在zabbix_agentd.conf加上服務(wù)端的地址—
21139:20170206:102320.804 no active checks on server[172.31.75.118:10051]: host [172.31.75.118] not found
比如上面的Hostname=172.31.75.118,那么web中也要一致,如下:
:客戶端的設(shè)置為0,服務(wù)端的設(shè)置為1,,,[](http://photo.blog.sina.com.cn/showpic.html#blogid=14e63d3fe0102wkqv&url=http://album.sina.com.cn/pic/0067FxJIzy77kypKRf0d6)
zabbix數(shù)據(jù)庫分庫:http://www.jb51.net/article/73173.htm http://www.iyunv.com/thread-25724-1-1.html 官方文檔:https://www.zabbix.org/wiki/Docs/howto/mysql_partition