使用 Log Analytics 代理收集 Azure Monitor 中 Linux 应用程序的性能计数器

本文详细介绍了如何配置 适用于 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 虚拟主机 每秒请求数

后续步骤