Zabbix下载安装的命令注解

目录

  • 一、系统环境
  • 二、命令注解
    • 1. 安装Zabbix存储库
    • 2. 切换PHP的DNF模块版本
    • 3. 安装Zabbix server,Web前端,agent
    • 4. 安装初始数据库
    • 5.导入初始架构和数据
    • 6. 禁用log_bin_trust_function_creators选项
    • 7. 为Zabbix server配置数据库
    • 8. 启动Zabbix server和agent进程

一、系统环境

ZABBIX 版本:6.4

操作系统发行版:Red Hat Enterprise Linux

操作系统版本:8

ZABBIX 组件:Server, Frontend, Agent

数据库:MySQL(8.0.30以上)

Web Server:Apache

二、命令注解

官方链接:下载安装Zabbix

1. 安装Zabbix存储库

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm

命令释义:下载并安装 Zabbix 软件源配置文件(zabbix-release-6.4-1.el8.noarch.rpm)

  • rpm: 这是一个用于管理 RPM(Red Hat Package Manager)软件包的命令行工具。
  • -Uvh: 这是 rpm 命令的选项之一,指示 rpm 在安装软件包之前先升级已经存在的同名软件包(如果有的话)。-U 表示升级,-v 表示显示详细的安装过程,-h 表示哈希符号 (#) 的形式显示进度条。
  • https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm: 这是要安装的软件包的 URL 地址。它指向 Zabbix 官方软件源中的 Zabbix 发行版软件包。该软件包是一个无架构(noarch)的 RPM 包,适用于 RHEL 8 x86_64 架构。

dnf clean all

命令释义:清理 DNF (Dandified Yum) 包管理器的缓存和临时文件

  • dnf clean all 是一个属于 Fedora 操作系统的命令
    • Fedora是一个基于Linux的、免费的、开源的操作系统,它是由Fedora项目社区开发和维护的,适用于个人计算机和服务器。
    • Fedora以其稳定性、安全性和先进的事件管理而闻名。
    • Fedora采用了最新的开源技术,并提供广泛的软件包选择,包括桌面环境、开发工具、服务器软件等。
    • Fedora还支持多种架构,x86、ARM和PowerPC。
  • Dandified Yum(简称DNF)是Fedora系统中的软件包管理器。
    • 它是对早期的Yum(Yellowdog Updater, Modified)软件包管理器的改进和替代。
    • DNF提供了更快的性能更好的依赖关系解决方案和更简洁的代码结构。
    • 与传的Yum相比,DNF引入了一些新功能和改进。比如,当安装、更新或删除软件包时,DNF会自动处理所有相关的依赖关系。
    • 此外,DNF还提供了更好命令行界面和插件系统,使用户能够更轻松地管理软件。
  • Yum是一个开源软件包管理器,主要于在Linux操作系统中安装、更新和删除软件包。
    • 它最初是为Red Hat Linux开发的,后来也被其他Linux发行版采用,如Fedora、CentOS等。
    • 通过Yum,用户可以方便地从软件仓库中获取所需的软件包,并自动解决依赖关系。

2. 切换PHP的DNF模块版本

dnf module switch-to php:7.4

命令释义:系统将尝试安装或更新 PHP 模块,以确其版本为 7.4。

  • dnf module switch-to 是 DNF 命令的一部分,用于切换到指定模块的版本。模块是一组相关软包的集合,可以提供特定功能或服务。在种情况下,PHP 是一个模块,它提供了 PHP 编程语言的支持。
  • php:7.4 是切换到的 PHP 模块的名称和版本号。这表示将当前系统中的 PHP 模块切换到版本 7.4。

3. 安装Zabbix server,Web前端,agent

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

命令释义:在基于 Red Hat 或 CentOS 系统上使用 DNF 包管理器安装 Zabbix 监控系统的相关组件和依赖项。

  • dnf install:这是 DNF 包管理器的命令,用于安装软件包。
  • zabbix-server-mysql:这是 Zabbix 服务器 MySQL 数据库之间的连接器。
  • zabbix-web-mysql:这是 Zabbix Web 前端与 MySQL 数据库之间的连接器。
  • zabbix-apache-conf:这是 Apache Web 服务器的配置文件,用于支持 Zabbix Web 前端。
  • zabbix-sql-scripts:这是 Zabbix 数据库脚本,用于创建和更新 Zabbix 数据库结构。
  • zabbix-selinux-policy:这是 Zabbix SELinux 策略模块,用于配置 SELinux 安全策略以允许 Zabbix 运行。
  • zabbix-agent:这是 Zabbix 代理程序,用于收集被监控主机的数据并将其发送到 Zabbix 服务器。

通过执行这段代码,你将安装 Zabbix 监控系统所需的服务器、Web 前端、数据库连接器SELinux 策略模块和代理程序。请注意,这只是安装 Zabbix 的一种方法,具体步骤可能因操作系统版本和个人需求而有所不同。

4. 安装初始数据库

# mysql -uroot -p password mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;

命令释义:在 MySQL 数据库中创建一个名为 “zabbix” 的数据库,并创建一个名为 “zabbix” 的用户,然后所有权限授予该用户。

  • mysql -uroot -p:以 root 用户身份登录到 MySQL 数据库。-uroot 表示使用 root 用户登录,-p 表示需要输入密码。
  • create database zabbix character set utf8mb4 collate utf8mb4_bin;: 这个命令用于创建一个名为 “zabbix” 的数据库。
    • character set utf8mb4 指定了数据库的字符集为 UTF-8;
    • collate utf8mb4_bin 指定了排序规则为进制。
  • create user zabbix@localhost identified by 'password';: 这个命令用于创建一个名为 “zabbix” 的用户,并设置密码为 ‘password’。
    • @localhost 表示该用户只能从本地连接访问数据库。
  • grant all privileges on zabbix.* to zabbix@localhost;: 这个命令用于给予用户 “zabbix” 对 “zabbix” 数据库的所有权限。
    • * 表示所有表和对象。
  • set global log_bin_trust_function_creators = 1;: 这个命令用于设置全局变量 log_bin_trust_function_creators 的值为 1。这是为了允许在二进制日志中记录创建函数的语句。
  • quit;: 这个命令用于退出 MySQL 数据库的命令行工具。

5.导入初始架构和数据

系统将提示您输入新创建的密码。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

命令释义:将压缩的 Zabbix MySQL 数据库脚本进行解压后导入到 MySQL 数据库中

  • zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz:这部分命令使用 zcat 工具来解压缩 server.sql.gz 文件。
    • zcat 是一个用于解压缩 gzip 压文件的命令;
    • /usr/share/zabbix-sql-scripts/mysql/server.sql.gz 是压缩文件的路径。
  • |:这个符是管道操作符,它将前一个命令的输出作后一个命令输入。
  • mysql --default-character-set=utf8mb4 -uzabbix -p zabbix:这部分命令使用mysql命令连接到 MySQL 数据库,并执行导入操作:
    • mysql:这是用于连接和操作 MySQL 数据库的命令。
    • --default-character-set=utf8mb4:这个选项指定了默认字符集为 utf8mb4,确保正确处理包含特殊字符的数据。(与先前创建的Zabbix数据库的字符集保持一致)
    • -uzabbix:这个选项指定了连接数据库的用户名为 zabbix。(-u即-user)
    • -p:这个选项提示用户输入密码,以便进行身份验证。(-p即-password)
    • zabbix:这是要连接的数据库名称。

6. 禁用log_bin_trust_function_creators选项

# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

命令释义:以 root 用户身登录到 MySQL 数据库,并将全局变量 log_bin_trust_function_creators 的值设置为 0

  • mysql>: 这是 MySQL 命令行提示符表示您已成功登录到 MySQL 服务器。
  • set global log_bin_trust_function_creators = 0;: 这是一个 SQL 命令,用设置 MySQL 服务器的全局变量 log_bin_trust_function_creators 的值为 0。该变量控制是否允许创建和修改二进制日志中的函数。将其设置为 0 表示不信任函数创建者,需要具有 SUPER 权限才能创建或更改函数。这是出于安全考虑,默认情况下该变量的值为 0。

个人理解:第4步在创建zabbix的database时先设置log_bin_trust_function_creators为1,然后第5步导入初始架构和数据,导入成功后,第6步把这个权限再关闭即log_bin_trust_function_creators 设置为0。

7. 为Zabbix server配置数据库

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

DBPassword=password

应该是设置数据库连接密码。

8. 启动Zabbix server和agent进程

启动Zabbix server和agent进程

systemctl restart zabbix-server zabbix-agent httpd php-fpm

为它们设置开机自启

systemctl enable zabbix-server zabbix-agent httpd php-fpm

你可能感兴趣的:(Zabbix,zabbix,linux,mysql)