CentOS7/RHEL7已經(jīng)發(fā)布一年多了,很多運維人員還沒有完全習(xí)慣,Zabbix3.0也已發(fā)布兩周,但是官方只提供7版本的安裝包,沒關(guān)系本文將指導(dǎo)你如何在CentOS6/RHEL6版本的操作系統(tǒng)中部署Zabbix3.0。
※ 對于Zabbix3.0在CentOS7/RHEL7系統(tǒng)中的安裝包部署步驟與6版本基本相同,唯獨不同的是創(chuàng)建數(shù)據(jù)庫目錄結(jié)構(gòu)的SQL腳本合并為一個create.sql.gz包,將以前導(dǎo)入數(shù)據(jù)庫的命令替換成zcat create.sql.gz | mysql -uroot zabbix即可, 6版本安裝教程請參見<<Zabbix安裝部署教程>>。
本文采用CentOS 6.7版本使用Zabbix3.0源碼包方式安裝
1. 安裝前關(guān)閉selinux并配置好centos 安裝源,關(guān)閉防火墻或放行zabbix使用端口10050-10055
2. 安裝編譯環(huán)境及LAMP,Zabbix3.0要求PHP版本不得小于5.4.0,PHP5.4目前無法從發(fā)行版安裝源中安裝,可從其他第三方源(例webtatic或remi)中通過RPM安裝或從PHP.net官方獲取源碼包編譯安裝,不建議初學(xué)者使用源碼安裝,本文以三方源webtatic安裝為例。
#rpm -Uvh
https://mirror.webtatic.com/yum/el6/latest.rpm#yum install httpd mysql-server mysql-devel net-snmp-devel gcc php54w php54w-gdphp54w-bcmath php54w-xml php54w-ldap php54w-mbstring php54w-mysql php54w-cliphp54w-common php54w-pdo
3. 創(chuàng)建zabbix系統(tǒng)用戶
#groupadd zabbix
#useradd -g zabbix zabbix
4. 編譯安裝
# tar -xvf zabbix-3.0.0.tar.gz
# cd zabbix-3.0.0
#./configure --prefix=/usr/local --enable-server --enable-agent --enable-ipv6--with-mysql --with-net-snmp
※ 可編譯更多功能例如:--with-ldap --with-libcurl--with-libxml2 --with-openssl --with-openipmi --with-ssh2 編譯過程會提示缺少什么庫文件,對應(yīng)安裝相關(guān)的devel包即可,zabbix3.0加密通信特性可選擇--with-openssl、--with-gnutls或--with-mbedtls其中之一
※ prefix安裝目錄可自行指定,安裝在/usr/local可省去配置系統(tǒng)PATH變量和修改init腳本的步驟。
#make && make install
5. 啟動數(shù)據(jù)庫
#service mysqld start
6. 使用mysqladmin修改數(shù)據(jù)庫root用戶密碼(單引號內(nèi)為密碼明文)
# /usr/bin/mysqladmin -u root password ‘zabbix’
7. 使用root用戶登錄數(shù)據(jù)庫
# mysql -u root -p
Enter password:
8. 創(chuàng)建名為zabbix的數(shù)據(jù)庫,字符編碼utf8 (數(shù)據(jù)庫名稱可自定義)
mysql> create database zabbix character set utf8collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
9. 創(chuàng)建并為zabbix用戶授予zabbix庫所有的權(quán)限
mysql> grant all privileges on zabbix.* tozabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
10.刷新數(shù)據(jù)庫用戶權(quán)限
mysql>flush privileges
11.退出數(shù)據(jù)庫
mysql> \q
12.導(dǎo)入Zabbix庫表結(jié)構(gòu)及數(shù)據(jù)
在源碼包的database目錄下對應(yīng)使用的數(shù)據(jù)庫目錄下分別導(dǎo)入data.sql、images.sql、data.sql
# mysql -uzabbix -pzabbix zabbix <database/mysql/schema.sql
# mysql -uzabbix -pzabbix zabbix <database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix <database/mysql/data.sql
13.修改zabbix_server及zabbix_agent配置文件:(對應(yīng)配置自行修改)
Zabbix_server.conf:
# vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/run/zabbix/zabbix_traps.tmp
Include=/etc/zabbix/zabbix_server.conf.d/*.conf
※ 以上配置對應(yīng)數(shù)據(jù)庫主機、數(shù)據(jù)庫名、數(shù)據(jù)庫用戶、數(shù)據(jù)庫用戶對應(yīng)密碼.
Zabbix_agentd.conf:
# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
修改完成后需要創(chuàng)建兩個目錄并修改權(quán)限
# mkdir /var/run/zabbix
# mkdir /var/log/zabbix
# chown -R zabbix:zabbix /var/run/zabbix/var/log/zabbix
14.啟動zabbix-server和zabbix-agentd
此時已可以通過命令行啟動zabbix-server和zabbix-agentd了
# zabbix-server
# zabbix-agentd
※ 在源碼包中的misc/init.d/fedora/core5目錄有init啟動腳本,將腳本復(fù)制到/etc/init.d目錄下通過chkconfig --addzabbix-server或 zabbix-agentd即可通過SysV來管理服務(wù)的啟停。
15.查看日志
# cat /var/log/zabbix/zabbix_server.log
# cat /var/log/zabbix/zabbix_agentd.log
16.拷貝前端WEB頁面
# mkdir /usr/share/zabbix
# cd frontends/php
# cp -a . /usr/share/zabbix
# chown -R apache:apache /usr/share/zabbix
※ frontedns/php在源碼包目錄中
創(chuàng)建apache配置文件/etc/httpd/conf.d/zabbix.conf或?qū)⒁韵聝?nèi)容追加在/etc/httpd/conf/httpd.conf內(nèi)
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
OptionsFollowSymLinks
AllowOverride None
Orderallow,deny
Allowfrom all
<IfModule mod_php5.c>
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
</IfModule>
</Directory>
<Directory"/usr/share/zabbix/conf">
Orderdeny,allow
Deny fromall
<files*.php>
Orderdeny,allow
Denyfrom all
</files>
</Directory>
<Directory "/usr/share/zabbix/app">
Orderdeny,allow
Deny fromall
<files*.php>
Orderdeny,allow
Denyfrom all
</files>
</Directory>
<Directory"/usr/share/zabbix/include">
Orderdeny,allow
Deny fromall
<files*.php>
Orderdeny,allow
Denyfrom all
</files>
</Directory>
<Directory"/usr/share/zabbix/local">
Orderdeny,allow
Deny fromall
<files*.php>
Orderdeny,allow
Denyfrom all
</files>
</Directory>
※ 重啟httpd后生效
17.最后一步,為前端頁面修改數(shù)據(jù)庫連接配置,通過WEB頁面方式配置與舊版本相同,如需參考請見<<Zabbix安裝部署教程>>或直接修改前端頁面目錄下的conf/zabbix.conf.php.example文件,并存為zabbix.conf.php(修改完去掉example后綴,對應(yīng)本文保存的配置文件為
/usr/share/zabbix/conf/zabbix.conf.php 內(nèi)容如下),界面漢化方法與2.4版本一致如需參考請見<<Zabbix用戶界面漢化指南>>
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
備注:我只是大自然的搬運工:
http://mp.weixin.qq.com/s?__biz=MzA4OTQ ... t_redirect