zabbix是什么在此就不多作介紹了占调,可以參考之前的文章零代碼如何打造自己的實(shí)時(shí)監(jiān)控預(yù)警系統(tǒng),這篇主要介紹安裝及注意事項(xiàng)。
主要分為服務(wù)端和客戶端安裝,客戶端又分為Linux诺核、Windows抄肖。
服務(wù)端安裝環(huán)境
CentOS6.8
Zabbix3.2
Mysql5.6
Apache
PHP56w
環(huán)境準(zhǔn)備
關(guān)閉selinux
setenforce 0
進(jìn)入mysql,創(chuàng)建zabbix用戶并授權(quán)
mysql -uroot -p CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';
安裝apache窖杀、php
依次安裝憎瘸,雖然說是離線安裝,但還是需要聯(lián)網(wǎng)下載一些包陈瘦,如果自己手動(dòng)下載再安裝的話會(huì)掉入一個(gè)個(gè)連環(huán)坑。
yum install php-pecl-ssh2.x86_64 libssh2-devel.x86_64 net-snmp* OpenIPMI OpenIPMI-devel -y
yum install --skip-broken rpm-build curl* curl-devel httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y
yum install gcc libxml2-devel unixODBC-devel net-snmp-devel
libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel –y
在這里centos6.8里面的php是一個(gè)低版本php54w的潮售,因此需要安裝php56w,并重啟httpd 和mysqld服務(wù)
修改php配置文件
vim /etc/php.ini
post_max_size=16M
max_execution_time=300
max_input_time=300
date.timezone=Asia/Shanghai
always_populate_raw_post_data=-1
啟動(dòng)apache
service httpd start
調(diào)整防火墻配置痊项,沒加會(huì)訪問出錯(cuò)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
添加zabbix服務(wù)端口
vim /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
保存退出!
安裝zabbix
創(chuàng)建用戶
groupadd zabbix
useradd -g zabbix zabbix
創(chuàng)建zabbix文件夾
mkdir /usr/local/zabbix
cd /usr/local/zabbix
下載zabbix3.2
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz
解壓
tar zxvf zabbix-3.2.0.tar.gz
進(jìn)入zabbix文件數(shù)據(jù)庫導(dǎo)入表
cd /usr/local/zabbix/zabbix-3.2.0/database/mysql
mysql -u zabbix -p zabbixzabbix
mysql -u zabbix -p zabbixzabbix
mysql -u zabbix -p zabbixzabbix
下載依賴包
yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel fping
編譯安裝zabbix
這里面的zabbix為編譯后的zabbix文件夾酥诽,zabbix-3.2.0為源文件
cd /usr/local/zabbix/zabbix-3.2.0/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --enable-proxy -with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --with-java-gateway
make install
修改zabbix_server配置文件
或在編譯目錄下/usr/local/zabbix/etc/zabbix_agentd.conf
vim /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
FpingLocation=/usr/sbin/fping
DBSocket=/usr/local/mysql5.6/data/mysql.sock 這里填你本機(jī)數(shù)據(jù)庫的sock //我發(fā)現(xiàn)如果不加鞍泉,zabbix會(huì)一直報(bào)connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket mysql.sock'。
ListenIP=你的zabbix_server監(jiān)聽的IP地址 這里的配置一定要寫正確肮帐,否則后面會(huì)出很多問題
創(chuàng)建zabbix-web頁面文件夾
在/var/www/html/下創(chuàng)建文件夾 zabbix
mkdir /var/www/html/zabbix
拷貝 php 頁面文件到/var/www/html/zabbix 目錄下并授權(quán)
cd zabbix-3.2.0
cp -R ./frontends/* /var/www/html/zabbix
創(chuàng)建一個(gè)規(guī)則允許web服務(wù)器訪問前端文件
chcon -Rv --type=httpd_sys_content_t /var/www/html
chmod +x /var/www/html/zabbix/php/conf/
運(yùn)行Apache和zabbix訪問外網(wǎng)
setsebool -P httpd_can_network_connect=1
setsebool -P zabbix_can_network=1
編輯zabbix前端的PHP配合配置
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai //主要去掉# 改成上海
不設(shè)置會(huì)導(dǎo)致異常:Time zone for PHP is not set (configuration parameter "date.timezone").
拷貝啟動(dòng)腳本到/etc/init.d
cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
chkconfig --add /etc/init.d/zabbix_server
chkconfig --add /etc/init.d/zabbix_agentd
修改 basedir:這里面的zabbix為編譯后的zabbix文件夾
vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/換成BASEDIR=/usr/local/zabbix
vi /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/換成BASEDIR=/usr/local/zabbix
ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/
ln -s /usr/local/zabbix/sbin/ /usr/local/sbin/
解決前端顯示中文問題
cd /var/www/html/zabbix/fonts/
將中文字體放入
msyh.ttf
修改php配置文件
vim /var/www/html/zabbix/include/defines.inc.php
define('ZBX_FONT_NAME', 'msyh');
define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name
進(jìn)入主頁面:下面進(jìn)行咖驮,將語言改為中文。
vim /usr/share/zabbix/include/locales.inc.php
找到第55行训枢,將false改為true
啟用Zabbix服務(wù)器,Apache和MySQL服務(wù)啟動(dòng)
chkconfig httpd on
chkconfig mysqld on
chkconfig zabbix_server on
chkconfig zabbix_agentd on
全面啟動(dòng)
service zabbix_server start
service zabbix_agentd start
登陸zabbix
http://192.168.80.32/zabbix/setup.php
默認(rèn)用戶名/密碼:Admin/zabbix
此時(shí)會(huì)出現(xiàn)安裝界面托修,然后點(diǎn)下一步
點(diǎn)擊next配置mysql:
不要用localhost,用主機(jī)IP
點(diǎn)擊下一步恒界。此步出現(xiàn)錯(cuò)誤睦刃,發(fā)現(xiàn)無法連接數(shù)據(jù)庫,最后發(fā)現(xiàn)zabbix這個(gè)數(shù)據(jù)庫中十酣,沒有任何數(shù)據(jù)涩拙,檢查時(shí)加紅色的那部分出問題。
next到最后
默認(rèn)用戶名/密碼:Admin/zabbix
點(diǎn)擊zabbix右上角小人耸采,進(jìn)行修改:
再重新刷新頁面
至此Zabbix服務(wù)端全部搭建完畢兴泥。
Zabbix客戶端安裝
下載zabbix3.2
zabbix-3.2.0.tar.gz
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz
添加服務(wù)
vim /etc/services
zabbix-agent 10050/tcp # ZabbixAgent
zabbix-agent 10050/udp # ZabbixAgent
zabbix-trapper 10051/tcp # ZabbixTrapper
zabbix-trapper 10051/udp # ZabbixTrapper
添加用戶
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -s /sbin/nologin zabbix
解壓
tar -zxvf zabbix-3.2.0.tar.gz
cd zabbix-3.2.0
./configure --prefix=/usr/local/zabbix --enable-agent
make install
修改agentd配置文件
vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server= 192.168.80.32?#服務(wù)端ip地址
ServerActive= 192.168.80.32?#服務(wù)端ip地址
Hostname=192.168.80.30 ?#必須與創(chuàng)建主機(jī)時(shí)的hostname一致(客戶端IP)
修改啟動(dòng)配置,添加軟鏈接
mkdir /var/log/zabbix
chown zabbix.zabbix /var/log/zabbix
cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod 755 /etc/init.d/zabbix_agentd
ln -sv /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -sv /usr/local/zabbix/bin/* /usr/local/bin/
轉(zhuǎn)換文件用戶
chown -R zabbix:zabbix?/usr/local/zabbix
設(shè)置自啟動(dòng)
chkconfig zabbix_agentd on
service zabbix_agentd start
在Server端使用以下命令測試是否能連接到Agent端:
# zabbix_get -s 192.168.80.30?-p 10050 -k "system.uptime"
若沒有添加zabbix_get軟連接虾宇,則加上編譯文件夾路徑
/usr/local/zabbix/bin/zabbix_get??-s 192.168.80.30?-p 10050 -k "system.uptime"
啟動(dòng)zabbix web端添加主機(jī)
注意上面的IP搓彻,與zabbix_agent中配置的hostname要一致
給服務(wù)器添加監(jiān)控模板(自帶了一些模板,如果不滿足后面可以自己創(chuàng)建)
在監(jiān)控項(xiàng)圖表中可查看記錄了嘱朽,如果沒數(shù)據(jù)可能要等一會(huì)好唯。
Windows中安裝客戶端
下載
官網(wǎng):https://www.zabbix.com/download
下載 zabbix_agents_3.2.0.win.zip
解壓縮zabbix_agents_3.2.0.win.zip
在應(yīng)用程序中文件夾中創(chuàng)建配置目錄及文件 conf\zabbix_agent.conf
配置
LogFile=c:\zabbix_agentd.log
EnableRemoteCommands=1 ##激活遠(yuǎn)程執(zhí)行腳本
Server=192.168.80.32
ServerActive=192.168.80.32
Hostname=192.168.80.33
注冊(cè)zabbix agent服務(wù)
1 運(yùn)行cmd進(jìn)入windows命令行控制臺(tái),下面我是將程序放在D:\Soft文件夾下燥翅,且對(duì)文件夾重命名zabbix_agents_320win
2 運(yùn)行D:\Soft\zabbix_agents_320win\bin\win64\zabbix_agentd.exe -c D:\Soft\zabbix_agents_320win\conf\zabbix_agentd.conf -i
注:-c表示配置文件路徑 -i表示安裝
啟動(dòng)
在命令行運(yùn)行services.msc進(jìn)入windows服務(wù)控制臺(tái)骑篙,找到zabbix_agent服務(wù),右鍵啟動(dòng)即可
總得來說zabbix客戶端中windows比linux安裝容易森书。
最后一點(diǎn)就是如果能用CentOS7就盡量用靶端,6.8的版本有些基礎(chǔ)插件版本低谎势,需要自己升級(jí)所以安裝的時(shí)候不是差這就差那的。如果是CentOS7就簡單了杨名,導(dǎo)入源:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
安裝zabbix服務(wù)包
yum -y install zabbix-server-mysql zabbix-web-mysql
我們給本機(jī)也安裝上客戶端
yum -y install zabbix-agent
不過安裝的位置是默認(rèn)的脏榆。
安裝問題匯總
zabbix_server啟動(dòng)報(bào)錯(cuò)---解決方法
Starting Zabbix Server: /opt/app/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
vim /etc/ld.so.conf 加入
/usr/local/mysql5.6/lib ?mysql安裝路徑換成自己的
zabbix web頁面中添加的主機(jī)的可用性狀態(tài)顯示“received empty response from zabbix agent at.......”
解決方法:agent配置文件中的Server填寫的IP不對(duì),一定要填寫zabbix_server的監(jiān)聽IP台谍。確認(rèn)配置文件沒問題后须喂,還有一個(gè)原因,在創(chuàng)建主機(jī)的時(shí)候趁蕊,IP地址填寫的不正確坞生,要填寫agent的IP地址。更改即可
vi /etc/zabbix/zabbix_agentd.conf //修改zabbix_agentd.conf參數(shù)
Server=192.168.80.32 //安裝zabbix服務(wù)端的機(jī)器的IP
ServerActive=192.168.80.32 //安裝zabbix服務(wù)端的機(jī)器的IP
Hostname=192.168.80.31?//我這以被監(jiān)控的機(jī)器的ip作為Hostname掷伙,注意是被監(jiān)控的是己,而且要與監(jiān)控頁面的監(jiān)控主機(jī)名一致
安裝過程中遇到Requires: libc.so.6(GLIBC_2.17)(64bit) 怎么辦?
網(wǎng)上有說
cp /usr/local/glibc-2.17/lib/libc-2.17.so /lib64/libc-2.17.so
mv /lib64/libc.so.6 /lib64/libc.so.6.bak (但這樣會(huì)導(dǎo)致整個(gè)系統(tǒng)錯(cuò)誤任柜,結(jié)果悲劇了 登錄不了服務(wù)器卒废,最后只能找其它方法修復(fù)系統(tǒng),libc.so是一個(gè)系統(tǒng)級(jí)的文件宙地,不能隨便刪除摔认,但在centos7環(huán)境下不存在此問題)