Zabbix 6.0+MySQL 8.0安装步骤(Zabbix和MySQL分布式安装)

Zabbix 6.0组件和依赖包:

almalinux-logos-httpd-90.5.1-1.1.el9.noarch
fontconfig-2.13.94-2.el9.x86_64
fping-5.1-1.el9.x86_64
freetype-2.10.4-6.el9.x86_64
gd-2.3.2-3.el9.x86_64
graphite2-1.3.14-9.el9.x86_64
harfbuzz-2.7.4-5.el9.x86_64
httpd-filesystem-2.4.51-7.el9_0.noarch
jbigkit-libs-2.1-23.el9.x86_64
libevent-2.1.12-6.el9.x86_64
libjpeg-turbo-2.0.90-5.el9.x86_64
libpng-2:1.6.37-12.el9.x86_64
libtiff-4.2.0-3.el9.x86_64
libwebp-1.2.0-3.el9.x86_64
libX11-1.7.0-7.el9.x86_64
libX11-common-1.7.0-7.el9.noarch
libXau-1.0.9-8.el9.x86_64
libxcb-1.13.1-9.el9.x86_64
libXpm-3.5.13-7.el9.x86_64
mariadb-connector-c-3.2.6-1.el9_0.x86_64
mariadb-connector-c-config-3.2.6-1.el9_0.noarch
net-snmp-libs-1:5.9.1-7.el9_0.1.x86_64
nginx-1:1.20.1-10.el9.alma.x86_64
nginx-filesystem-1:1.20.1-10.el9.alma.noarch
oniguruma-6.9.6-1.el9.5.x86_64
OpenIPMI-libs-2.0.32-3.el9.x86_64
php-bcmath-8.0.13-2.el9_0.x86_64
php-common-8.0.13-2.el9_0.x86_64
php-fpm-8.0.13-2.el9_0.x86_64
php-gd-8.0.13-2.el9_0.x86_64
php-ldap-8.0.13-2.el9_0.x86_64
php-mbstring-8.0.13-2.el9_0.x86_64
php-mysqlnd-8.0.13-2.el9_0.x86_64
php-pdo-8.0.13-2.el9_0.x86_64
php-xml-8.0.13-2.el9_0.x86_64
unixODBC-2.3.9-4.el9.x86_64
xml-common-0.6.3-58.el9.noarch
zabbix-agent-6.0.8-release1.el9.x86_64
zabbix-get-6.0.8-release1.el9.x86_64
zabbix-nginx-conf-6.0.8-release2.el9.noarch
zabbix-selinux-policy-6.0.8-release1.el9.x86_64
zabbix-server-mysql-6.0.8-release1.el9.x86_64
zabbix-sql-scripts-6.0.8-release1.el9.noarch
zabbix-web-6.0.8-release2.el9.noarch
zabbix-web-deps-6.0.8-release2.el9.noarch
zabbix-web-mysql-6.0.8-release2.el9.noarch

MySQL 8.0组件和依赖包:

mysql-community-client-8.0.30-1.el9.x86_64
mysql-community-client-plugins-8.0.30-1.el9.x86_64
mysql-community-common-8.0.30-1.el9.x86_64
mysql-community-icu-data-files-8.0.30-1.el9.x86_64
mysql-community-libs-8.0.30-1.el9.x86_64
mysql-community-server-8.0.30-1.el9.x86_64
net-tools-2.0-0.62.20160912git.el9.x86_64
perl-AutoLoader-5.74-479.el9.noarch
perl-B-1.80-479.el9.x86_64
perl-base-2.27-479.el9.noarch
perl-Carp-1.50-460.el9.noarch
perl-Class-Struct-0.66-479.el9.noarch
perl-constant-1.33-461.el9.noarch
perl-Data-Dumper-2.174-462.el9.x86_64
perl-Digest-1.19-4.el9.noarch
perl-Digest-MD5-2.58-4.el9.x86_64
perl-Encode-4:3.08-462.el9.x86_64
perl-Errno-1.30-479.el9.x86_64
perl-Exporter-5.74-461.el9.noarch
perl-Fcntl-1.13-479.el9.x86_64
perl-File-Basename-2.85-479.el9.noarch
perl-File-Path-2.18-4.el9.noarch
perl-File-stat-1.09-479.el9.noarch
perl-File-Temp-1:0.231.100-4.el9.noarch
perl-FileHandle-2.03-479.el9.noarch
perl-Getopt-Long-1:2.52-4.el9.noarch
perl-Getopt-Std-1.12-479.el9.noarch
perl-HTTP-Tiny-0.076-460.el9.noarch
perl-if-0.60.800-479.el9.noarch
perl-interpreter-4:5.32.1-479.el9.x86_64
perl-IO-1.43-479.el9.x86_64
perl-IO-Socket-IP-0.41-5.el9.noarch
perl-IO-Socket-SSL-2.073-1.el9.noarch
perl-IPC-Open3-1.21-479.el9.noarch
perl-libnet-3.13-4.el9.noarch
perl-libs-4:5.32.1-479.el9.x86_64
perl-MIME-Base64-3.16-4.el9.x86_64
perl-Mozilla-CA-20200520-6.el9.noarch
perl-mro-1.23-479.el9.x86_64
perl-NDBM_File-1.15-479.el9.x86_64
perl-Net-SSLeay-1.92-1.el9.x86_64
perl-overload-1.31-479.el9.noarch
perl-overloading-0.02-479.el9.noarch
perl-parent-1:0.238-460.el9.noarch
perl-PathTools-3.78-461.el9.x86_64
perl-Pod-Escapes-1:1.07-460.el9.noarch
perl-Pod-Perldoc-3.28.01-461.el9.noarch
perl-Pod-Simple-1:3.42-4.el9.noarch
perl-Pod-Usage-4:2.01-4.el9.noarch
perl-podlators-1:4.14-460.el9.noarch
perl-POSIX-1.94-479.el9.x86_64
perl-Scalar-List-Utils-4:1.56-461.el9.x86_64
perl-SelectSaver-1.02-479.el9.noarch
perl-Socket-4:2.031-4.el9.x86_64
perl-Storable-1:3.21-460.el9.x86_64
perl-subs-1.03-479.el9.noarch
perl-Symbol-1.08-479.el9.noarch
perl-Term-ANSIColor-5.01-461.el9.noarch
perl-Term-Cap-1.17-460.el9.noarch
perl-Text-ParseWords-3.30-460.el9.noarch
perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch
perl-Time-Local-2:1.300-7.el9.noarch
perl-URI-5.09-3.el9.noarch
perl-vars-1.05-479.el9.noarch

关闭防火墙和SELinux

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld


永久关闭SELinux
vi /etc/selinux/config
—SELINUX=disabled
在这里插入图片描述

临时关闭SELinux
setenforce 0
在这里插入图片描述

新增Zabbix的YUM仓库

安装Zabbix的YUM仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
在这里插入图片描述
在这里插入图片描述

确认YUM仓库处于开启状态
dnf repolist all | grep zabbix
在这里插入图片描述

查看YUM仓库中的zabbix包
dnf list all | grep zabbix
在这里插入图片描述

安装Zabbix组件

安装Zabbix组件
dnf -y install zabbix-server-mysql.x86_64 zabbix-web-mysql.noarch zabbix-nginx-conf.noarch zabbix-sql-scripts.noarch zabbix-selinux-policy.x86_64 zabbix-agent.x86_64 zabbix-get.x86_64
在这里插入图片描述
在这里插入图片描述

新增MySQL数据库的YUM仓库

在https://dev.mysql.com/downloads/repo/yum中下载 mysql80-community-release-el9-1.noarch.rpm
在这里插入图片描述
将mysql80-community-release-el9-1.noarch.rpm导入到系统中
在这里插入图片描述
安装mysql80-community-release-el9-1.noarch.rpm
rpm -ivh mysql80-community-release-el9-1.noarch.rpm
在这里插入图片描述

查看MySQL YUM仓库
ll /etc/yum.repos.d/
在这里插入图片描述

dnf repolist all | grep mysql
在这里插入图片描述

安装MySQL 8.0

查看YUM仓库中的MySQL包
dnf list all | grep mysql
在这里插入图片描述
安装mysql-community-server.x86_64
dnf -y install mysql-community-server.x86_64
在这里插入图片描述

启动并登录MySQL

启动MySQL
systemctl start mysqld
systemctl status mysqld
在这里插入图片描述
查看MySQL的root账户初始密码
grep ‘temporary password’ /var/log/mysqld.log
在这里插入图片描述
使用root登录MySQL
mysql -u root -p
在这里插入图片描述

配置MySQL

修改root账号密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Admin@123’;
在这里插入图片描述
注:初次使用数据库时,首先需要修改root账户的密码,修改的密码需要符合密码策略。

若想修该密码策略,可按以下步骤操作:
1、查看当前密码策略
SHOW VARIABLES LIKE ‘validate_password.%’;
在这里插入图片描述
validate_password.check_user_name:检测用户名是否重名。
validate_password.dictionary_file:变量值为非空时,进行字典检查;为空时不检查。
validate_password.length:密码最小长度。
validate_password.length=validate_password.number_count+ validate_password.special_char_count+ (2 * validate_password.mixed_case_count)
validate_password.mixed_case_count:密码必须有多少小写多少大写。
validate_password.number_count:最少数字数量。
validate_password.policy:安全强度;默认为1。
validate_password.special_char_count:最少符号数量。
在这里插入图片描述
2、修改密码策略
set global validate_password.policy=0;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
set global validate_password.length=0;
在这里插入图片描述
在这里插入图片描述
修改完密码策略后,再次修改root账号的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘1’;
在这里插入图片描述
创建数据库zabbix,并设置格式
create database zabbix character set utf8mb4 collate utf8mb4_bin;
在这里插入图片描述
创建zabbix账号,并设置允许远程连接,密码为1
create user ‘zabbix’@‘%’ identified by ‘1’;
在这里插入图片描述
给zabbix账号授权
grant all privileges on zabbix.* to ‘zabbix’@‘%’;
在这里插入图片描述

数据导入

将Zabbix服务器中/usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz文件导入到使用zabbix账号登录的MySQL数据库中。
zcat server.sql.gz | mysql -u zabbix -p zabbix
在这里插入图片描述
注:使用当前方式导入数据时,需要zabbix数据库能通过zabbix账号以本地登录的形式登录,才能成功导入数据;输入密码后需要等待一定的时间。

修改zabbix账号能使用本地登录或远程登录的方式
1、使用mysql -u root -p 登录到数据库
2、使用use mysql切换到mysql数据库中
3、输入update user set host=‘%’ where user=‘zabbix’;,可以将zabbix账号修改为能远程登录
4、输入update user set host=‘localhost’ where user=‘zabbix’;,可以将zabbix账号修改为本地登录

配置/etc/zabbix/zabbix_server.conf文件

指定数据库的IP地址
DBHost=数据库的IP地址
注:若数据库和Zabbix服务器安装在同一个系统中,则是localhost或IP,若数据库和Zabbix服务器没有安装在同一个系统中,则需要指定数据库的IP地址。

指定登录的数据库为哪个数据库
DBName=zabbix

指定登录数据库用哪个账号登录
DBUser=zabbix

指定登录数据库的账号使用的密码
DBPassword=密码

启动zabbix

启动Zabbix服务
systemctl start zabbix-server zabbix-agent nginx php-fpm

配置Zabbix服务开机自启
systemctl enable zabbix-server zabbix-agent nginx php-fpm

可以通过以下几个方式来优化这段代码: 1. 提取变量:将重复使用的变量提取出来,比如 $agent2 和 $serverIP,避免代码中出现重复的字符串。 2. 使用函数:将代码中重复的部分封装成函数,避免代码重复。 3. 使用数组:将多个要修改的配置项放到数组中,避免代码中出现多个相似的 sed 命令。 4. 使用一行命令:将安装、配置、启动 zabbix-agent2 的操作放到一行命令中,避免代码冗长。 重构后的代码如下: ``` #!/bin/bash # 定义变量 agent2="zabbix-agent2-5.0.9-1.el7.x86_64.rpm" serverIP="192.168.10.211" IP=$(ifconfig | awk '/inet /{print $2}' | head -n 1) # 定义函数 install_zabbix_agent2() { rpm -ivh "$agent2" } update_zabbix_agent2() { rpm -Uvh "https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/$agent2" } config_zabbix_agent2() { local config_files=("/etc/zabbix/zabbix_agent2.conf") local config_keys=("Server" "ServerActive" "Hostname") local config_values=("$serverIP" "$serverIP" "$IP") for file in "${config_files[@]}"; do for ((i=0; i<${#config_keys[@]}; i++)); do sed -i "s/${config_keys[i]}=.*/${config_keys[i]}=${config_values[i]}/" "$file" done done } start_zabbix_agent2() { systemctl enable zabbix-agent2 systemctl start zabbix-agent2 } # 安装或更新 zabbix-agent2 cd /opt/tools/ if [ -f "/opt/tools/$agent2" ]; then install_zabbix_agent2 else update_zabbix_agent2 fi # 配置和启动 zabbix-agent2 config_zabbix_agent2 start_zabbix_agent2 ``` 需要注意的是,如果要在 CentOS 7 上使用 sed 命令修改配置文件,需要将 sed 命令中的单引号改为双引号,否则变量无法被解析。另外,获取 IP 地址的命令也进行了修改,可以适用于多个版本的 Linux 发行版。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值