千家信息网

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

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,一、配置角色IP主机名虚拟IPZabbixserver主节点10.36.1.55Compute5110.36.1.101Zabbixserver从节点10.36.1.56Compute52mysql数
千家信息网最后更新 2025年01月21日生产环境中部署: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安全错误 数据库的锁怎样保障安全 linq查询数据库多条件 昌吉市启动网络安全宣传周活动 公网链接卡巴斯基管理服务器 微软在大陆的服务器在哪 数据库的备份及恢复 山东国际信息网络技术有限公司 网络安全防火公司 衡阳web靶场网络安全培训 经纬度搜索用哪个数据库好 小米软件开发工程师c面试题 数据库中间件技术岗位薪资 武汉荆楚幻维软件开发怎么样 球员高中数据库 云计算网络技术与应用专科好学吗 微信这软件开发几年了 哪里买ss服务器 网络安全建设的主要政策都有什么 研究生网络安全专业代码 三级网络技术可以带演草纸么 抖音直播服务器打瞌睡了 网络安全小作文二年级 校庆专刊化工学报入数据库吗 湘乡市计算机网络技术 剑魂online服务器推介 欧美国家掌握6g网络技术 计算机网络技术拓扑图 数据库数据保存10年 三年级上册手抄报网络安全 最简单的数据库实例 软件开发工程造价培训
0