一、安装Zabbix 3.0前说明
Zabbix服务器运行的环境为Linux(UNIX)+PHP+Web Service+DataBase,这里的Web Service 可以为Nginx为例,而DataBase 可以为MySQL为例,下面以CentOS6.4_X64 为例介绍如何安装Zabbix 3.0。
系统环境
CentOS 6.5
PHP 7.0
Nginx 1.10.0
MySQL 5.5
Zabbix 3.0
首先要关闭防火墙和SELINUX
$ service iptbales stop
$ setenforce 0
1
2
$serviceiptbalesstop
$setenforce0
顺便把EPEL源添加进来
# CentOS 6 / RHEL 6
$ rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# CentOS 7 / RHEL 7
$ rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
1
2
3
4
5
# CentOS 6 / RHEL 6
$rpm-ivhhttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# CentOS 7 / RHEL 7
$rpm-ivhhttp://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
二、安装配置PHP
安装Zabbix 3.0需要PHP版本大于5.4,这里我直接使用PHP 7.0即可。但是这里我们需要使用到REMI源,Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL较新版本了。
安装最新的Remi源自动安装文件
# CentOS 6 / RHEL 6
$ yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# CentOS 7 / RHEL 7
$ yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
1
2
3
4
5
# CentOS 6 / RHEL 6
$yuminstallhttp://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# CentOS 7 / RHEL 7
$yuminstallhttp://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装PHP相关组件
$ yum --enablerepo=remi,remi-php70 install php php-fpm php-common php-devel php-mysqlnd php-mbstring php-mcrypt \
php-mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath php-opcache
1
2
$yum--enablerepo=remi,remi-php70installphpphp-fpmphp-commonphp-develphp-mysqlndphp-mbstringphp-mcrypt\
php-mysqlphp-gdphp-xmlphp-mbstringphp-ldapphp-pearphp-xmlrpcphp-bcmathphp-opcache
查看PHP版本
$ php -v
PHP 7.0.9 (cli) (built: Jul 20 2016 18:08:08) ( NTS )
1
2
$php-v
PHP7.0.9(cli)(built:Jul20201618:08:08)(NTS)
启动PHP-FPM
$ service php-fpm start
1
$servicephp-fpmstart
三、安装配置MySQL
1)安装MySQL 5.6
首先从MySQL官方网站下载YUM源,地址:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
这里我选择MySQL 5.6的源进行安装MySQL 5.6,手动添加一个YUM源。
$ cat /etc/yum.repos.d/mysql.repo
1
$cat /etc/yum.repos.d/mysql.repo
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=0
1
2
3
4
5
6
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL5.6CommunityServer
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=0
安装启动配置MySQL
$ yum install mysql-community-server mysql-community-devel mysql-community-client mysql-community-common
$ service mysqld start
$ mysql_secure_installation
1
2
3
$yuminstallmysql-community-servermysql-community-develmysql-community-clientmysql-community-common
$servicemysqldstart
$mysql_secure_installation
当然你也可以使用REMI安装MySQL(版本可能比较低)
$ yum --enablerepo=remi install mysql-server mysql-client mysql-common mysql-connector-odbc mysql-devel mysql
$ service mysqld start
$ mysql_secure_installation
1
2
3
$yum--enablerepo=remiinstallmysql-servermysql-clientmysql-commonmysql-connector-odbcmysql-develmysql
$servicemysqldstart
$mysql_secure_installation
2)配置MySQL
mysql> create database zabbix charset utf8;
mysql> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
mysql> flush privileges;
1
2
3
4
mysql>createdatabasezabbixcharsetutf8;
mysql>grantallonzabbix.*tozabbix@'%'identifiedby'zabbix';
mysql>grantallonzabbix.*tozabbix@'localhost'identifiedby'zabbix';
mysql>flushprivileges;
四、安装配置Nginx
说明一下,Nginx在系统YUM源中没有提供,就算使用EPEL源版本也是非常低,所以这里直接使用Nginx官方源。
$ cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
1
2
3
4
5
6
$cat/etc/yum.repos.d/nginx.repo
[nginx]
name=nginxrepo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
直接进行YUM安装Nginx即可
$ yum install nginx
$ service nginx start
$ nginx -v
nginx version: nginx/1.10.1
1
2
3
4
$yuminstallnginx
$servicenginxstart
$nginx-v
nginxversion:nginx/1.10.1
五、安装配置Zabbix
1)先安装Zabbix需要的插件
$ yum install libdbi-dbd-mysql net-snmp-devel curl-devel net-snmp libcurl-devel libxml2-devel
1
$yuminstalllibdbi-dbd-mysqlnet-snmp-develcurl-develnet-snmplibcurl-devellibxml2-devel
2)安装Zabbix就需要导入Zabbix官方的源了,官方版本比较新,其余的系统自带源或EPEL源的Zabbix都很旧,选项源时找好对应的系统版本号以及架构平台。
$ rpm -Uvh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
1
$rpm-Uvhhttp://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
3)有了源之后使用YUM安装即可(yum install zabbix-server),但这里我使用源码安装Zabbix 3.0。先把编译库安装一下。
$ yum groupinstall "Development tools" "Compatibility libraries"
1
$yumgroupinstall"Development tools""Compatibility libraries"
4)接下来添加用户后就进行编译安装了,Zabbix安装包自行官网下载即可。
$ groupadd zabbix
$ useradd -g zabbix zabbix
$ tar xf zabbix-3.0.4.tar.gz
$ cd zabbix-3.0.4
$ ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2
$ make && make install
1
2
3
4
5
6
$groupaddzabbix
$useradd-gzabbixzabbix
$tarxfzabbix-3.0.4.tar.gz
$cdzabbix-3.0.4
$./configure--prefix=/usr/local/zabbix-server--enable-server--with-mysql--with-net-snmp--with-libcurl--with-libxml2
$make&&makeinstall
5)安装完后就进行数据库文件导入操作
$ cd /root/zabbix-3.0.4/database/mysql
1
$cd/root/zabbix-3.0.4/database/mysql
$ mysql -uzabbix -p zabbix $ mysql -uzabbix -p zabbix $ mysql -uzabbix -p zabbix 1 2 3 $mysql-uzabbix-pzabbix $mysql-uzabbix-pzabbix $mysql-uzabbix-pzabbix 6)编辑配置文件 $ vim /usr/local/zabbix-server/etc/zabbix_server.conf ListenPort=10051 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix ListenIP=0.0.0.0 1 2 3 4 5 6 7 $vim/usr/local/zabbix-server/etc/zabbix_server.conf ListenPort=10051 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix ListenIP=0.0.0.0 7)启动Zabbix /usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf 1 /usr/local/zabbix-server/sbin/zabbix_server-c/usr/local/zabbix-server/etc/zabbix_server.conf 8)查看监听端口 $ netstat -nplt | grep zabbix_server tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13677/zabbix_server 1 2 $netstat-nplt|grepzabbix_server tcp 0 00.0.0.0:10051 0.0.0.0:* LISTEN 13677/zabbix_server 9)拷贝zabbix应用到Nginx根目录 $ rm -fr /usr/share/nginx/html/* $ cd /root/zabbix-3.0.4/frontends/php/ $ cp -a . /usr/share/nginx/html/ $ chown -R nginx.nginx /usr/share/nginx/html/* 1 2 3 4 $rm-fr/usr/share/nginx/html/* $cd/root/zabbix-3.0.4/frontends/php/ $cp-a./usr/share/nginx/html/ $chown-Rnginx.nginx/usr/share/nginx/html/* 10)配置PHP $ cat /etc/php.ini date.timezone = Asia/Shanghai post_max_size = 16M max_execution_time = 300 max_input_time = 300 1 2 3 4 5 $cat/etc/php.ini date.timezone=Asia/Shanghai post_max_size=16M max_execution_time=300 max_input_time=300 这几个值必须要改,不然zabbix检测时过不去,就会报这样的错误:Minimum required limit on input parse time for PHP scripts is 300 (configuration option “max_input_time”)。 11)配置Nginx $ cat /etc/nginx/conf.d/default.conf 1 $cat/etc/nginx/conf.d/default.conf server { listen 80; server_name localhost; #charset koi8-r; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log error; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 server{ listen80; server_namelocalhost; #charset koi8-r; access_log/var/log/nginx/access.logmain; error_log/var/log/nginx/error.logerror; location/{ root/usr/share/nginx/html; indexindex.htmlindex.htmindex.php; } # redirect server error pages to the static page /50x.html error_page500502503504/50x.html; location=/50x.html{ root/usr/share/nginx/html; } location~\.php${ root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } $ service nginx restart 1 $servicenginxrestart 好,当这些都安装配置完了并且都成功启动了后就可以用浏览器访问本机IP,并按照提示安装Zabbix即可。 打开浏览器后会看到如下界面,首先会检查Zabbix需要的环境,如果都是OK状态,那么就没有什么问题了,可以继续下一步。如果检查没有通过就要看看缺少什么,然后安装即可。 检查都通过后,就进入到下面这个界面,选择数据库及相关配置信息,其中有数据库地址、端口、用户名及密码。 在操作连接数据库时可能会出现 The frontend does not match Zabbix database. Current database version (mandatory/optional): 2050061/2050061. Required mandatory version: 3000000. Contact your system administrator. 遇到这种问题需要删除一下创建的zabbix库,然后在从新导入zabbix库文件。 数据库信息都填写正确之后,就会进入到下一步,如下图: 这里出现权限报错,将配置文件下载下来保存到/usr/share/nginx/html/conf/zabbix.conf.php文件中。如果手动写入配置文件之后如果还报错,可以忽略,将浏览器关闭并重新打开连接即可。登录账号Admin,登录密码zabbix。 手动写入配置 $ cat /usr/share/nginx/html/conf/zabbix.conf.php 1 $cat/usr/share/nginx/html/conf/zabbix.conf.php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; $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; ?> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // Zabbix GUI configuration file. global$DB; $DB['TYPE'] ='MYSQL'; $DB['SERVER'] ='localhost'; $DB['PORT'] ='3306'; $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; ?> 完成上面操作就安装完了,下面就进入到了Zabbix 3.0主界面。 进来之后的第一件事就是看看是否支持中文以及可以调整主题。 我这里是编译安装的,看了一下支持中文显示。如果你的系统默认不支持的话,就需要开启中文支持了。 六、开启Zabbix对中文支持 如果你安装的zabbix默认把对中文的支持给关闭了,我们需要修改zabbix的php源文件. 修改站点根目录下include/locales.inc.php文件。 $ cat /usr/share/nginx/html/include/locales.inc.php function getLocales() { return array( 'en_GB' => array('name' => _('English (en_GB)'), 'display' => true), 'en_US' => array('name' => _('English (en_US)'), 'display' => true), 'bg_BG' => array('name' => _('Bulgarian (bg_BG)'), 'display' => true), 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true), //原本这里为false,请改为true ...........代码省略掉........ 1 2 3 4 5 6 7 8 9 $cat/usr/share/nginx/html/include/locales.inc.php functiongetLocales(){ returnarray( 'en_GB'=>array('name'=>_('English (en_GB)'),'display'=>true), 'en_US'=>array('name'=>_('English (en_US)'),'display'=>true), 'bg_BG'=>array('name'=>_('Bulgarian (bg_BG)'),'display'=>true), 'zh_CN'=>array('name'=>_('Chinese (zh_CN)'),'display'=>true), //原本这里为false,请改为true ...........代码省略掉........ 七、安装zabbix_agentd 上面以及提供了zabbix 3.0的YUM源,我们这里可以用来直接安装3.0的zabbix_agentd。 $ yum install zabbix-agent $ service zabbix-agent start 1 2 $yuminstallzabbix-agent $servicezabbix-agentstart 安装并启动完后,就可以去zabbix web页面开启本机监控了。 如果是监控其他主机,一般在agent安装完后需要简单调整一下几个配置项在zabbix-agent的主配置文件中。 $ cat /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server 1 2 3 4 $cat/etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbixserver 其中Server和ServerActive都指定zabbix服务器的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是客户端主动提交数据给他。 八、Zabbix Proxy安装介绍 zabbix server与proxy需要数据库,agent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。proxy只需要导入一个表结构即可其余的操作跟安装server端一样。 如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。