千家信息网

生产环境中部署:zabbix3.2.1 (ubuntu系统)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、配置角色IP主机名虚拟IPZabbixserver主节点10.36.1.55Compute5110.36.1.101Zabbixserver从节点10.36.1.56Compute52mysql数
千家信息网最后更新 2026年11月01日生产环境中部署:zabbix3.2.1 (ubuntu系统)

一、配置

角色

IP

主机名

虚拟IP

Zabbixserver主节点

10.36.1.55

Compute51

10.36.1.101

Zabbixserver从节点

10.36.1.56

Compute52

mysql数据库主节点

10.36.1.1

Controller1

10.36.1.100

mysql数据库从节点

10.36.1.17

Controller2


二、安装

本次部署完全是参照zabbix官方文档进行部署

https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages



一、MYSQL数据库准备
在我的生产环境里,已经存在有一套mysql高可用的环境在这里,我只需要创建zabbix所需的库
1、创建zabbix数据库
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
mysql> flush privileges
mysql> quit;
说明:10.36.1.100是访问数据库的VIP地址(也就是虚拟IP,不要理解成了VIP会员哈 )



二、回到zabbix server的安装
1、下载zabbix_3.2.1.orig.tar.gz
下载链接:http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix_3.2.1.orig.tar.gz

2、解压
tar -zxvf zabbix-3.2.0.tar.gz

3、创建一个普通账户:zabbix 用于运行zabbix服务
groupadd zabbix
useradd -g zabbix zabbix

4、创建一个zabbix数据库
就在刚才,已经创建好了一个数据库,名称为zabbix。
4.1、开始蛋疼的问题来了,我说测试一下用zabbix这个账户登录数据库居然提示没有权限
解决办法:
之前我们在授权的时候是执行了:
grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
下面,我用root登入数据库,执行:
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges
再试试登录:
mysql -uzabbix -pzabbix
尼玛,可以登录了。OK,那就先这样,我们等会再来说这个问题

4.2、好吧,那继续往下走,导入zabbix数据到zabbix数据库里
先把zabbix-3.2.1.tar.gz文件scp下发到数据库服务器的/root/目录里,然后解压
scp zabbix-3.2.1.tar.gz root@10.36.1.1:/root (我的数据库主节点的IP是10.36.1.1)

接着进入解压完zabbix-3.2.1.tar.gz的目录/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# pwd
/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# ls -l
total 3064
-rw-r--r-- 1 zabbix zabbix 1032494 Sep 30 17:47 data.sql
-rw-r--r-- 1 zabbix zabbix 1978341 Sep 30 17:43 p_w_picpaths.sql
-rw-r--r-- 1 zabbix zabbix 122134 Sep 30 17:47 schema.sql
看到3个文件没有?先别管干嘛用的,导入再说吧!
切记:注意导入顺序schema-->p_w_picpaths-->data
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < p_w_picpaths.sql
mysql -uzabbix -pzabbix zabbix < data.sql

导入完成以后,登录数据库看看zabbix库有没有数据
mysql -uzabbix -pzabbix
use zabbix
show tables;
牛逼!居然有了,那么我这里就不截图了哈!!



5、下面开始配置源
配置Zabbix server和agent
./configure --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2
这个配置,我就按照官方的了,我也不需要太多的功能,基本就这样吧!

悲催了,配置的时候会检查环境,但是有很多依赖包没有安装,那么先安装相关依赖包吧
apt-get update
apt-get -y install make
apt-get -y install gcc
apt-get -y install libghc-hsql-mysql-dev
apt-get install libmysqlclient18
apt-get -y install libxml2-dev
apt-get install libcurl3-dev
apt-get install libsnmp-dev

configure中的一些选项到底是啥玩意?看看帮助吧!!
./configure --help
--enable-ipv6 Turn on support of IPv6
--enable-server Turn on build of Zabbix server
--enable-agent Turn on build of Zabbix agent and client utilities
--with-mysql[=ARG] use MySQL client library [default=no], optionally
specify path to mysql_config
If you want to use Net-SNMP library:
--with-net-snmp[=ARG] use Net-SNMP package [default=no], optionally
specify path to net-snmp-config
If you want to use XML library:
--with-libxml2[=ARG] use libxml2 client library [default=no], optionally
specify path to xml2-config
If you want to use cURL library:
--with-libcurl[=DIR] use cURL package [default=no], optionally specify
path to curl-config


6、下面开始编译安装
make install

安装完成后会默认的安装守护程序的二进制文件路径在:(/usr/local/sbin zabbix_server,zabbix_agentd zabbix_proxy)
客户端在/usr/local/bin/ 二进制文件(zabbix_get zabbix_sender)

当然,这个是默认的,在configure的时候可以用 --prefix指定安装目录

7、安装完成后检查各配置文件是否存在
/usr/local/etc/zabbix_agentd.conf 客户端文件
/usr/local/etc/zabbix_server.conf 服务端文件


8、下面编辑zabbix_server.conf配置文件,指定数据库
# vim /usr/local/etc/zabbix_server.conf
DBHost=10.36.1.100 #我这里用的是独立数据库
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

9、继续,下面安装Zabbix web界面
PHP文件复制
Zabbix前端是用PHP编写的,所以它需要一个PHP支持网络服务器运行。安装是通过简单地复制网络服务器的PHP文件从前端/ PHP HTML文档目录。
常见的Apache web服务器的HTML文档目录位置包括:
/usr/local/apache2/htdocs (默认目录安装Apache时)
/srv/www/htdocs (OpenSUSE, SLES)
/var/www/html (Fedora, RHEL, CentOS)
/var/www (Debian, Ubuntu)

9.1、安装apache2,并拷贝php文件(php文件在解压后的zabbix-3.2.1目录里)
apt-get -y -install apache2
cd var/www/html
mkdir zabbix #创建一个目录
chown zabbix:zabbix zabbix/ #将这个目录的
cp -R /root/zabbix-3.2.1/frontends/php/* /var/www/html/zabbix

9.2、安装PHP5和配置Zabbix前端PHP
apt-get install php5
apt-get install php5-gd
apt-get install php5-mysql
vim /etc/php5/apache2/php.ini

打开php.ini配置文件后续修改的配置项如下:
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 Europe/Riga (date.timezone = Asia/Shanghai #去掉";",添加Asia/Shanghai)
之所以要配置php.ini中的内容,是确保所有软件先决条件得到满足。


10、下面开始安装前端
通过火狐浏览器打开http://10.36.1.55/zabbix/setup.php
10.1、进来以后会看到zabbix3.2的欢迎界面
直接点击netx step
10.2、然后来到检查先决条件的界面,确保所有软件先决条件得到满足之后选择下一步继续。
10.3、接着来到数据库配置
我这里使用的是独立数据库,而且是之前搭建好的一套mysql高可用。
还记得之前执行过这条命令不?grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
那么现在进入到两台数据库里分别执行如下命令:
grant all privileges on zabbix.* to zabbix@slave identified by'zabbix';
flush privileges;

10.4、下面开始配置数据库信息
databases host 10.36.1.100 (VIP)
port 3306
database name :zabbix
user:zabbix
password:zabbix

至此基本上大功告成

数据 数据库 文件 配置 目录 服务 节点 前端 服务器 登录 环境 先决条件 文档 时候 条件 界面 检查 二进制 命令 官方 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 河南云网互联网络科技有限公司 互联网科技有限公司经营范围 互联网科技英文 中国互联网科技发展 百单互联网科技有限公司 电子科技大学互联网 苏州大垚互联网科技 科技互联网创业计划书 互联网金融和金融科技 海南购全球互联网科技 卫星互联网科技股票 广州优美互联网科技 茂名市互联网科技产业园 来此购互联网科技有限公司 互联网科技革命什么开始 乌苏新华互联网科技做什么的 广州梦谷互联网科技有限公司领导 珠海东科互联网科技有限公司 颐高云石互联网科技 互联网品科技 富国互联网科技创新基金 互联网还是高科技吗 互联网5g黑科技有哪些 2021互联网科技公司排名 互联网科技年终奖 宁波跨境商互联网科技有限公司 全球科技与互联网公司市值变化 张家口科技产业互联网平台 绵阳真晨互联网科技有限公司
0