本文详细介绍了如何配置 适用于 Linux 的 Log Analytics 代理 ,以便将特定应用程序的性能计数器收集到 Azure Monitor 中。 本文中包含的应用程序包括:
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Microsoft将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
MySQL
如果使用 Log Analytics 代理在计算机上检测到 MySQL 服务器或 MariaDB 服务器,则会自动安装 MySQL Server 的性能监视提供程序。 此提供程序连接到本地 MySQL/MariaDB 服务器以公开性能统计信息。 必须配置 MySQL 用户凭据,以便提供程序可以访问 MySQL 服务器。
配置 MySQL 凭据
MySQL OMI 提供程序需要预配置 MySQL 用户并安装 MySQL 客户端库,以便从 MySQL 实例查询性能和运行状况信息。 这些凭据存储在存储在 Linux 代理上的身份验证文件中。 身份验证文件指定了 MySQL 实例正在侦听的绑定地址和端口,以及用于收集指标的凭据。
安装适用于 Linux 的 Log Analytics 代理期间,MySQL OMI 提供程序扫描 MySQL my.cnf 配置文件(默认位置),以获取绑定地址和端口,并部分设置 MySQL OMI 身份验证文件。
MySQL 身份验证文件存储在 /var/opt/microsoft/mysql-cimprov/auth/omsagent/mysql-auth.
身份验证文件格式
下面是 MySQL OMI 身份验证文件的格式:
[Port]=[Bind-Address], [username], [Base64 encoded Password]
(Port)=(Bind-Address), (username), (Base64 encoded Password)
(Port)=(Bind-Address), (username), (Base64 encoded Password)
AutoUpdate=[true|false]
下表描述了身份验证文件中的条目。
| 资产 | Description |
|---|---|
| 港口 | 表示 MySQL 实例正在侦听的当前端口。 端口 0 指定以下属性用于默认实例。 |
| 绑定地址 | 当前 MySQL 绑定地址。 |
| 用户名 | 用于监视 MySQL 服务器实例的 MySQL 用户。 |
| Base64 编码的密码 | 在 Base64 中编码的 MySQL 监视用户的密码。 |
| AutoUpdate | 指定是否在升级 MySQL OMI 提供程序时重新扫描 my.cnf 文件中的更改并覆盖 MySQL OMI 身份验证文件。 |
默认实例
MySQL OMI 身份验证文件可以定义默认实例和端口号,以便更轻松地管理一个 Linux 主机上的多个 MySQL 实例。 默认实例由端口 0 的实例表示。 所有其他实例继承从默认实例设置的属性,除非它们指定了不同的值。 例如,如果添加了侦听端口 3308 的 MySQL 实例,则默认实例的 bind-address、username 和 Base64 编码密码用于尝试监视侦听 3308 的实例。 如果 3308 上的实例已绑定到其他地址,并使用相同的 MySQL 用户名和密码组合,则只需配置绑定地址,其他属性将被继承。
下表包含示例实例设置。
| Description | 文件 |
|---|---|
| 默认实例和具有端口 3308 的实例。 | 0=127.0.0.1, myuser, cnBwdA==3308=, ,AutoUpdate=true |
| 具有端口 3308 和不同用户名和密码的默认实例和实例。 | 0=127.0.0.1, myuser, cnBwdA==3308=127.0.1.1, myuser2,cGluaGVhZA==AutoUpdate=true |
MySQL OMI 身份验证文件程序
安装 MySQL OMI 提供程序时包括 MySQL OMI 身份验证文件程序,可用于编辑 MySQL OMI 身份验证文件。 可在以下位置找到身份验证文件程序。
/opt/microsoft/mysql-cimprov/bin/mycimprovauth
注释
凭据文件必须由 omsagent 帐户读取。 建议以 omsgent 身份运行 mycimprovauth 命令。
下表提供了有关使用 mycimprovauth 的语法的详细信息。
| 操作 | Example | Description |
|---|---|---|
| autoupdate false 或 true | mycimprovauth autoupdate false | 设置在重启或更新时是否自动更新身份验证文件。 |
| 默认 绑定地址用户名密码 | mycimprovauth 默认 127.0.0.1 root pwd | 在 MySQL OMI 身份验证文件中设置默认实例。 密码字段应以纯文本形式输入 - MySQL OMI 身份验证文件中的密码是 Base 64 编码的。 |
| 删除 默认或端口号 | mycimprovauth 3308 | 可以通过默认设置或指定端口号来删除指定的实例。 |
| 帮助 | mycimprov 帮助 | 打印要使用的命令列表。 |
| 打印 | mycimprov 打印 | 打印易于阅读的 MySQL OMI 身份验证文件。 |
| 更新 port_num bind-address 用户名 密码 | mycimprov update 3307 127.0.0.1 root pwd | 更新指定的实例,或添加实例(如果不存在)。 |
以下示例命令为 localhost 上的 MySQL 服务器定义默认用户帐户。 密码字段应以纯文本形式输入 - MySQL OMI 身份验证文件中的密码是 Base 64 编码的。
sudo su omsagent -c '/opt/microsoft/mysql-cimprov/bin/mycimprovauth default 127.0.0.1 <username> <password>'
sudo /opt/omi/bin/service_control restart
MySQL 性能计数器所需的数据库权限
MySQL 用户需要访问以下查询来收集 MySQL Server 性能数据。
SHOW GLOBAL STATUS;
SHOW GLOBAL VARIABLES:
MySQL 用户还需要对以下默认表进行 SELECT 访问。
- information_schema
- mysql。
可以通过运行以下授予命令来授予这些特权。
GRANT SELECT ON information_schema.* TO 'monuser'@'localhost';
GRANT SELECT ON mysql.* TO 'monuser'@'localhost';
注释
若要向 MySQL 监视用户授予权限,授权用户必须具有“GRANT 选项”权限以及要授予的权限。
定义性能计数器
将适用于 Linux 的 Log Analytics 代理配置为将数据发送到 Azure Monitor 后,必须配置要收集的性能计数器。 将 Azure Monitor 中的 Windows 和 Linux 性能数据源 中的过程与下表中的计数器配合使用。
| 对象名称 | 计数器名称 |
|---|---|
| MySQL 数据库 | 磁盘空间(以字节为单位) |
| MySQL 数据库 | Tables |
| MySQL 服务器 | 中止的连接百分比 |
| MySQL 服务器 | 连接的使用率百分比 |
| MySQL 服务器 | 磁盘空间使用(以字节为单位) |
| MySQL 服务器 | 全表扫描百分比 |
| MySQL 服务器 | InnoDB 缓冲池命中百分比 |
| MySQL 服务器 | InnoDB 缓冲池使用百分比 |
| MySQL 服务器 | InnoDB 缓冲池使用百分比 |
| MySQL 服务器 | 键缓存命中百分比 |
| MySQL 服务器 | 密钥缓存使用百分率 |
| MySQL 服务器 | 密钥缓存写入百分比 |
| MySQL 服务器 | 查询缓存命中百分比 |
| MySQL 服务器 | 查询缓存修剪百分比 |
| MySQL 服务器 | 查询缓存使用百分比 |
| MySQL 服务器 | 表缓存命中百分比 |
| MySQL 服务器 | 表缓存使用百分比 |
| MySQL 服务器 | 表锁争用率百分比 |
Apache HTTP 服务器
如果在安装 omsagent 捆绑包时在计算机上检测到 Apache HTTP Server,则会自动安装 Apache HTTP Server 的性能监视提供程序。 此提供程序依赖于必须加载到 Apache HTTP 服务器的 Apache 模块才能访问性能数据。 可以使用以下命令加载模块:
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -c
若要卸载 Apache 监视模块,请运行以下命令:
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -u
定义性能计数器
将适用于 Linux 的 Log Analytics 代理配置为将数据发送到 Azure Monitor 后,必须配置要收集的性能计数器。 将 Azure Monitor 中的 Windows 和 Linux 性能数据源 中的过程与下表中的计数器配合使用。
| 对象名称 | 计数器名称 |
|---|---|
| Apache HTTP 服务器 | 忙碌的工作人员 |
| Apache HTTP 服务器 | 闲置工人 |
| Apache HTTP 服务器 | 忙碌工作人员百分比 |
| Apache HTTP 服务器 | CPU 总占用百分比 |
| Apache 虚拟主机 | 客户端每分钟错误数 |
| Apache 虚拟主机 | 每分钟错误 - 服务器 |
| Apache 虚拟主机 | 每个请求的 KB |
| Apache 虚拟主机 | 每秒请求的千字节数 |
| Apache 虚拟主机 | 每秒请求数 |