从零部署Zabbix服务器

  Zabbix 是一个优秀的企业级分布式开源监控套件,支持对服务、硬件、网络的监控与告警。本文记录了如何从零部署一个 Zabbix 服务器。Zabbix官网文档 其实已经很详尽,基础较好的同学可以直接关闭本文,或是拿来避坑用。

环境说明

系统: CentOS 7.6
数据库: MySQL 5.7.28 Community Server (Zabbix 支持 MySQL 与 PostgreSQL)
推荐使用阿里云的 yum 镜像源,执行以下命令即可:

1
wget -N --no-check-certificate https://raw.githubusercontent.com/AlliotTech/yum2aliyun/master/yum2aliyun.sh && chmod +x yum2aliyun.sh && ./yum2aliyun.sh 2>&1 | tee yum2aliyun.log  

安装 MySQL

优先采用 yum 方式安装(啰嗦一句:能通过 yum 安装的软件尽量通过 yum 来安装,编译等方式安装软件管理起来其实很不方便)

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
27
# 下载并启用 MySQL 的源
cd /etc/yum.repos.d/
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum localinstall mysql57-community-release-el7-10.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"

# 编辑 MySQL 的源,将 5.7 的 enable 改为 1, 5.6 的 enable 改为0
vim /etc/yum.repos.d/mysql-community.repo

# 安装 MySQL
yum install -y mysql-community-server

# 启动 MySQL
systemctl start mysqld

# 查看 MySQL 默认密码
grep 'temporary password' /var/log/mysqld.log

# 设置 MySQL 开机启动
systemctl enable mysqld和systemctl daemon-reload

# 登录 mysql
mysql -u root -p

# 修改mysql密码(mysql5.7新增了密码策略,默认策略为:必须包含大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示错误)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'myPassword123#';

参考链接:
CentOS 安装 MySQL

安装 Zabbix

添加 Zabbix 官方源

1
2
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all

安装 Zabbix 组件

包括 前端、服务端、Agent:

1
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

这里 Alliot 遇到 yum 下载 zabbix-server-mysql 报错,无法继续安装,这种情况一般是由于网络状况导致部分 rpm 包无法下载,手动去Zabbix的repo 下载对应的包,置于 yum 的缓存目录重新执行 yum install 即可。

创建数据库

1
2
3
4
mysql -uroot -p  # 输入密码 (上面更改密码为myPassword123#)
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;

导入数据库表

1
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix  

编辑Zabbix数据库连接

1
DBPassword=password(这里为MySQL密码,如上面更改的myPassword123#)

编辑Zabbix时区

1
vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Europe/Riga 改为 php_value date.timezone Asia/Shanghai
关于 PHP时区,参考: PHP支持的时区列表

启动Zabbix

1
2
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

访问: https://ip/zabbix 即可进入前端安装界面,数据库默认端口3306。
用户名:Admin
密码: zabbix