zabbix-release-4.4使用自带模板监控MySQL

本文详细介绍如何在Zabbix 4.4中配置MySQL监控,包括客户端和服务器端的设置,授权用户,修改my.cnf,调整环境变量,以及重启服务的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zabbix-release-4.4使用自带模板监控MySQL,
直接套用模板会获取不到数据,
还需要配置 zabbix客户端 和 MySQL 服务端 my.cnf 。

1、在 zabbix web 配置客户端 步骤如下图:
在这里插入图片描述
2、配置完之后去看MySQL主机监控项,有红色提示:
cannot convert value to numeric type…
在这里插入图片描述
3、创建 mysql 用户账号 zabbix 并授权,用于连接本地 MySQL

GRANT ALL ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;

在这里插入图片描述
4、修改 MySQL 服务端 my.cnf /etc/my.cnf

vim /etc/my.cnf

添加内容如下,

#
[mysqladmin]
#
default-character-set=utf8
socket=/tmp/mysql.sock
user=zabbix
password=zabbix

#
[mysql]
#
default-character-set=utf8
socket=/tmp/mysql.sock
user=zabbix
password=zabbix

# 
[client]
#
default-character-set=utf8
socket=/tmp/mysql.sock
user=zabbix
password=zabbix

socket可以通过 find / -name my*sock 查找得到。

5、检查2个关键
① MySQL环境变量设置,确保
mysql / mysqladmin 命令一般使用的是默认的相对路径 /usr/bin/
查看当前使用的是哪个路径下的mysql

which mysql

如果不是默认的相对路径 /usr/bin/mysql,而是(例如) /home/soft/mysql
那就创建软链接即可

ln -s /home/soft/mysql /usr/bin

查看 /usr/bin 是否已经在环境变量中,

echo $PATH

如果没看到有 :/usr/bin ,则需要将其添加到环境变量中,
参阅 Linux中修改环境变量及生效方法(永久、临时)环境变量查看
的方法一

② .conf配置内容,确保
/etc/zabbix/zabbix_agentd.conf
中包含
Include=/etc/zabbix/zabbix_agentd.d/
在这目录有监控 MySQL 的配置文件 userparameter_mysql.conf
(如果是编译安装的,通过 find 找到它并拷到 /etc/zabbix/zabbix_agentd.d/ )
注意
userparameter_mysql.conf 不用作任何修改,在做好检查第①项后,这里,默认使用即可,不必在里面添加 mysql/mysq;admin绝对路径 等信息。
内容为:

#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/etc/zabbix by default) 
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>

#
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

6、重启 MySQL 和 zabbix-agent

systemctl restart mysqld
systemctl restart zabbix-agent
或者
service mysqld restart
service zabbix-agent restart

7、等待1min,查看第2步中红色提示是否消失

持续完善中…

<think>我们正在处理一个离线安装Zabbix及其组件的需求。根据引用内容,用户可能希望在没有网络连接的环境中安装Zabbix server(这里应该是zabbix-server-mysql,但引用[4]中提到了zabbix-server-mysql)和zabbix-agent。 从引用[3]和引用[4]中,我们可以得到一些离线安装的线索: 引用[3]提供了离线安装所需的rpm包列表,包括zabbix-agent, zabbix-server-mysql等。 引用[4]则描述了一个无网安装的步骤:先在一台有网络的主机上下载rpm包及其依赖,然后拷贝到无网络的主机上进行安装。 因此,我们可以将离线安装分为两个主要步骤: 1. 在有网络的环境中下载所需的rpm包及其依赖。 2. 将下载的rpm包复制到离线主机,并使用rpm命令安装。 具体步骤: 步骤1:在有网络的主机上下载rpm包和依赖 a. 添加Zabbix官方yum源(或者国内源,如阿里云,但这里我们使用官方源以确保版本一致,也可以使用国内源加快下载速度) b. 使用yum的--downloadonly选项下载所需的rpm包及其依赖。 步骤2:在离线主机上安装 a. 将下载的rpm包复制到离线主机。 b. 使用rpm命令安装所有包(可能需要忽略依赖,但最好先解决依赖,如果下载了所有依赖则不需要忽略)。 但是,引用[4]中使用--force --nodeps,这是为了避免依赖问题,但这样安装可能会带来问题。因此,我们更推荐先下载所有依赖,然后一起安装。 详细步骤: 一、在有网络的主机上下载(以CentOS 7为例,安装Zabbix 4.4版本,但用户可能需要其他版本,这里以4.4为例,因为引用[4]中使用4.4) 1. 添加Zabbix官方yum源(这里使用4.4版本,如果需要其他版本,请替换版本号): ``` rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm ``` 2. 清除缓存并更新(可选): ``` yum clean all ``` 3. 创建下载目录并下载所需包(包括依赖): ``` mkdir /tmp/zabbix_offline yum install --downloadonly --downloaddir=/tmp/zabbix_offline zabbix-server-mysql zabbix-agent ``` 注意:如果还需要web界面,则加上zabbix-web-mysql,这里根据用户需求,用户只要求了zabbix-server-mysqlzabbix-agent。 4. 下载的包应该包括所有依赖。但是,Zabbix server需要MySQL/MariaDB,所以还需要下载数据库服务器(如果离线主机还没有安装的话)。但用户可能已经安装了数据库,所以这里我们只关注Zabbix组件。 5. 将/tmp/zabbix_offline目录下的所有rpm包复制到离线主机(使用U盘、scp到中转机器等)。 二、在离线主机上安装 1. 将复制的rpm包放到离线主机的某个目录,例如/opt/zabbix。 2. 进入该目录,安装所有rpm包: ``` cd /opt/zabbix rpm -ivh *.rpm ``` 如果安装过程中提示缺少依赖,则说明有依赖没有下载全。这时,我们需要在有网络的主机上下载所有依赖。为了确保下载所有依赖,我们可以使用yum-utils中的repotrack工具(更全面)或者使用yumdownloader(需要安装yum-utils)来下载所有依赖。 更推荐使用repotrack(它可以下载所有依赖,包括递归依赖): ``` # 安装yum-utils yum install yum-utils -y # 使用repotrack下载zabbix-server-mysqlzabbix-agent及其所有依赖 repotrack --download_path=/tmp/zabbix_offline zabbix-server-mysql zabbix-agent ``` 然后再次将整个目录复制到离线主机,并使用rpm -ivh *.rpm安装。 如果离线主机上已经安装了一些依赖包,则可能不会安装重复的包,所以直接安装即可。 三、配置和启动 安装完成后,需要配置数据库和agent,然后启动服务。 1. 配置数据库(需要先安装并启动MySQL/MariaDB): 创建数据库和用户,导入初始数据(参考官方文档)。 2. 配置zabbix_server.conf(/etc/zabbix/zabbix_server.conf)中的数据库连接信息。 3. 启动服务: ``` systemctl start zabbix-server zabbix-agent systemctl enable zabbix-server zabbix-agent ``` 四、针对不同版本和系统的调整 用户可能需要不同版本的Zabbix,只需在添加yum源时替换版本号(如5.0、6.0等)和系统版本(如el7、el8等)。 例如,下载Zabbix 6.0 for CentOS 7的包,则添加源: rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm 五、注意事项 1. 离线安装需要确保系统版本、架构与下载包的主机一致(如都是CentOS 7 x86_64)。 2. 如果离线主机没有安装数据库,则需要同样离线安装数据库(如MariaDB)并配置。 根据以上步骤,用户应该可以在离线环境中安装Zabbix server和agent。 但是,由于引用中提到了多种安装方式(如源码安装,引用[2]),如果用户更倾向于源码安装,也可以提供源码安装的方法。但用户问题中明确提到了yum源,且要求离线安装rpm包,所以我们提供rpm离线安装方法。 下面给出完整步骤:</think>### 离线安装 Zabbix 及组件(zabbix-server-mysqlzabbix-agent)指南 #### 一、准备工作:在有网络环境中下载 RPM 包 1. **添加 Zabbix 官方源**(在联网主机操作): ```bash # 下载 Zabbix 官方源 RPM(示例为 4.4 版本) wget https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm rpm -Uvh zabbix-release-4.4-1.el7.noarch.rpm ``` 2. **下载核心组件及依赖**: ```bash mkdir /opt/zabbix-offline yum install --downloadonly --downloaddir=/opt/zabbix-offline \ zabbix-server-mysql \ zabbix-agent \ zabbix-web-mysql \ zabbix-apache-conf ``` 3. **关键 RPM 包列表**: - `zabbix-server-mysql-*.rpm`:Zabbix 服务端 - `zabbix-agent-*.rpm`:监控代理 - `zabbix-web-mysql-*.rpm`:Web 界面 - `zabbix-apache-conf-*.rpm`:Apache 配置 - 依赖包:`fping`, `iksemel`, `libssh2` 等(自动下载) #### 二、离线主机安装步骤 1. **传输 RPM 包到离线主机**: ```bash scp -r /opt/zabbix-offline user@offline-host:/opt/ ``` 2. **强制安装所有 RPM 包**: ```bash cd /opt/zabbix-offline rpm -ivh *.rpm --force --nodeps # 忽略依赖冲突[^4] ``` 3. **配置数据库**(需提前安装 MySQL): ```bash mysql -uroot -p > CREATE DATABASE zabbix CHARACTER SET utf8; > GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'your_password'; > FLUSH PRIVILEGES; ``` 导入初始数据: ```bash zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix ``` #### 三、配置文件修改 1. **Zabbix Server 配置** (`/etc/zabbix/zabbix_server.conf`): ```conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password # 与数据库密码一致 ``` 2. **Zabbix Agent 配置** (`/etc/zabbix/zabbix_agentd.conf`): ```conf Server=127.0.0.1 # 允许本机连接[^1] ServerActive=127.0.0.1 # 主动检测地址 Hostname=offline-host # 唯一主机标识[^4] ``` #### 四、启动服务 ```bash systemctl start zabbix-server zabbix-agent httpd systemctl enable zabbix-server zabbix-agent httpd ``` #### 五、Web 界面初始化 1. 访问 `http://offline-host/zabbix` 2. 按提示配置: - 数据库类型:MySQL - 数据库密码:步骤三设置的密码 3. 完成安装后生成配置文件: ```text /etc/zabbix/web/zabbix.conf.php # 配置文件路径[^1] ``` 4. 登录默认账号: - 用户名:`Admin` - 密码:`zabbix` #### 六、验证安装 ```bash # 检查服务状态 systemctl status zabbix-server # 测试 Agent 连接 zabbix_get -s 127.0.0.1 -k agent.ping # 应返回 1 ``` > **关键提示**: > 1. 版本匹配:下载的 RPM 需与操作系统版本严格一致(如 CentOS 7 用 el7 包)[^3] > 2. 依赖处理:`--nodeps` 可能引发兼容性问题,建议提前准备相同 OS 环境 > 3. 离线数据库:MySQL 需预先离线安装(可参考 Percona 离线安装方案) ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

looyolo

你的鼓励,是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值