基于CentOS8下MySQL8.0.17和Nginx的Zabbix4.4部署记录

准备工作

系统环境

系统版本:CentOS Linux release 8.1.1911

MySQL版本:8.0.17

Nginx版本:1.16.1

Zabbix版本:4.4

安装MySQL

Zabbix支持多种数据库来存放采集到的数据,常用的如:MySQL、PostgreSQL、Oracle、IBM DB2、SQLite等,低版本可以参考上次部署好的MySQL 5.7.28,这次准备装MySQL 8.0.17

通过YUM安装
安装yum源
1
$ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
安装MySQL
1
2
$ yum install -y @mysql
$ mysql --version

当前MySQL版本是8.0.17

mysql版本

启动MySQL
1
2
3
4
$ systemctl start mysqld
# 设置自启动
$ systemctl enable mysqld
$ systemctl status mysqld

mysql状态

配置MySQL
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 与低版本不同
$ mysql_secure_installation

# 是否配置密码验证组件
Would you like to setup VALIDATE PASSWORD component? N
# 是否删除匿名账号
Remove anonymous users? Y
# 是否禁止远程登录(看个人需求)
Disallow root login remotely? N
# 是否删除test库
Remove test database and access to it? Y
# 是否重载权限表?
Reload privilege tables now? Y

# 登录试试
$ mysql -uroot -p

登录mysql

1
2
3
4
# 添加root远程权限
use mysql;
update user set host='%' where user='root';
flush privileges;

安装Nginx

通过RPM包安装
添加yum源
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
$ vim /etc/yum.repos.d/nginx.repo
###
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
###
安装Nginx
1
2
$ yum install -y nginx
$ nginx -v

当前Nginx stable版本是1.16.1

nginx版本

通过二进制包安装
下载压缩包
1
2
$ wget http://nginx.org/download/nginx-1.16.1.tar.gz
$ tar -xvf nginx-1.16.1.tar.gz
安装依赖包
1
$ yum install -y pcre pcre-devel zlib zlib-devel gcc-c++ libtool openssl openssl-devel
编译Nginx
1
2
3
$ ./configure
$ make && make install
$ nginx -v
配置环境变量
1
2
3
4
5
6
$ vim /etc/profile

# 插入一行
export PATH=$PATH:/usr/local/nginx/sbin

$ source /etc/profile

安装Zabbix

安装yum源

1
$ rpm -ivh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

安装Zabbix组件

1
$ yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent

这里可能会因为网络问题导致某些组件下载安装失败,解决方法是用阿里云替换官方源

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
$ rpm -e zabbix-release
$ vim /etc/yum.repos.d/zabbix.repo
###
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/8/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
###
$ yum clean packages

创建Zabbix库

1
$ mysql -uroot -p
1
2
3
4
5
6
7
# 创建zabbix库
create database zabbix character set utf8 collate utf8_bin;
# 创建zabbix用户
create user zabbix@localhost identified by 'zabbix@lch123';
# 给zabbix用户授权
grant all privileges on zabbix.* to zabbix@localhost with grant option;
exit;
导入表结构
1
$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

这就是导入后的zabbix库

zabbix数据库

连接Zabbix server与MySQL
1
2
3
4
5
6
7
8
$ vim /etc/zabbix/zabbix_server.conf

# 设置DB
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@lch123
DBPort=3306

启动Zabbix

启动PHP

修改PHP时区

1
2
$ vim /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

设置自启动

1
$ systemctl enable --now php-fpm

启动Nginx

配置Nginx

1
2
3
$ vim /etc/nginx/conf.d/zabbix.conf
listen          9000;
server_name     localhost;

设置自启动

1
2
$ nginx -t
$ systemctl enable --now nginx

启动Zabbix

1
$ systemctl enable --now zabbix-server zabbix-agent

这里可能会遇到启动失败的问题

zabbix启动失败

按提示查看失败原因,可以看到是SELinux的锅

报错

直接关掉再启动zabbix-server

1
2
3
$ setenforce 0
$ systemctl start zabbix-server
$ systemctl status zabbix-server

启动

配置一下SELinux

1
2
$ vim /etc/sysconfig/selinux
SELINUX=disable

再看一下监听端口是否成功开启

1
$ netstat -tnlp

端口

全部启动完毕后就可以在浏览器打开 http://localhost:9000/ 浏览Zabbix安装页面了

启动页

配置Zabbix

检查前端环境

这里一般都是PHP相关的配置,如果有项目报错就去修改/etc/php.ini

配置数据库连接

这里是配置前端和数据库连接的账户信息,填入之前配置好的MySQL库、用户和密码 如果你的数据库不是在本机,记得填入数据库所在的IP地址

数据库连接

配置服务端信息

填入自定义host和name,端口如果没有修改过/etc/zabbix/zabbix_server.conf就是默认的10051 最后会在/etc/zabbix/web/下生成一个zabbix.conf.php文件来保存刚刚配置好的所有信息

配置完成

这样基于MySQL和Nginx的Zabbix就部署完毕了,访问 http://localhost:9000/ 就可以用初始用户名密码登陆。

常用配置文件

目录 描述
/usr/share/zabbix/ zabbix组件目录
/etc/nginx/conf.d/zabbix.conf nginx-zabbix配置文件
/etc/php-fpm.d/zabbix.conf php-fpm配置文件
/etc/php.ini php配置文件
/etc/zabbix/web/zabbix.conf.php zabbix-web端配置信息

参考资料

https://www.zabbix.com/documentation/4.4/manual

https://blog.csdn.net/zhwxl_zyx/article/details/104885812

0%