你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 InfluxData Telegraf 代理收集 Linux 虚拟机的自定义指标
本文介绍如何在 Linux 虚拟机上部署和配置 InfluxData Telegraf 代理以将指标发送到 Azure Monitor。
注意
InfluxData Telegraf 是一个开放源代码代理,不受 Azure Monitor 的正式支持。 有关 Telegraf 连接器的问题,请参阅此处的 Telegraf Github 页面:InfluxData
InfluxData Telegraf 代理
Telegraf 是一种插件驱动型代理,可以从 150 多个不同的源收集指标。 根据在 VM 上运行的具体工作负荷,可将该代理配置为使用专用输入插件来收集指标。 工作负荷的示例包括 MySQL、NGINX 和 Apache。 然后,代理可以使用输出插件向所选的目标写入数据。 Telegraf 代理直接集成了 Azure Monitor 自定义指标 REST API。 它支持 Azure Monitor 输出插件。 使用此插件时,代理可以在 Linux VM 上收集特定于工作负荷的指标,然后将其作为自定义指标提交到 Azure Monitor。
连接到 VM
与要在其中安装 Telegraf 的 VM 建立 SSH 连接。 选择虚拟机概述页上的“连接”按钮。
在“连接到虚拟机”页面中,保留默认选项,以使用 DNS 名称通过端口 22 进行连接。 在“使用 VM 本地帐户登录”中,会显示一个连接命令。 选择相应的按钮来复制该命令。 下面的示例展示了 SSH 连接命令的样式:
ssh azureuser@XXXX.XX.XXX
将 SSH 连接命令粘贴到某个 Shell(例如 Azure Cloud Shell 或 Bash on Ubuntu on Windows)中来创建连接,或者使用所选 SSH 客户端来创建连接。
安装和配置 Telegraf
若要将 Telegraf Debian 包安装到 VM 上,请从 SSH 会话运行以下命令:
添加存储库:
# download the package to the VM
curl -s https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
sudo echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg add
安装包:
sudo apt-get update
sudo apt-get install telegraf
Telegraf 的配置文件定义 Telegraf 的操作。 默认情况下,示例配置文件安装在 /etc/telegraf/telegraf.conf 路径。 示例配置文件列出了所有可能的输入和输出插件。但是,我们将运行以下命令,创建自定义配置文件并让代理来使用它。
# generate the new Telegraf config file in the current directory
telegraf --input-filter cpu:mem --output-filter azure_monitor config > azm-telegraf.conf
# replace the example config with the new generated config
sudo cp azm-telegraf.conf /etc/telegraf/telegraf.conf
注意
上述代码仅启用两个输入插件:cpu 和 mem。 可以根据计算机上运行的工作负荷随意添加更多输入插件。 例如 Docker、MySQL 和 NGINX。 有关输入插件的完整列表,请参阅其他配置部分。
最后,为了让代理开始使用新配置,我们将运行以下命令,强制代理在停止后再启动:
# stop the telegraf agent on the VM
sudo systemctl stop telegraf
# start and enable the telegraf agent on the VM to ensure it picks up the latest configuration
sudo systemctl enable --now telegraf
现在,代理会从每个指定的输入插件收集指标,然后将它们发到 Azure Monitor。
在 Azure 门户中绘制 Telegraf 指标
打开 Azure 门户。
导航到新的“监视器”选项卡,然后选择“指标”。
在资源选择器中选择自己的 VM。
选择 Telegraf/CPU 命名空间,然后选择 usage_system 指标。 可以按此指标上的维度选择筛选器,也可以对维度进行拆分。
其他配置
以上演练介绍了如何配置 Telegraf 代理,以便从一些基本的输入插件收集指标。Telegraf 代理支持 150 多个输入插件,部分插件支持其他配置选项。 InfluxData 发布了一个受支持插件的列表以及有关如何配置它们的说明。
另外,在本演练中,我们还使用 Telegraf 代理发出了在其上部署了代理的 VM 的相关指标。 Telegraf 代理也可用作其他资源的指标的收集器和转发器。 若要了解如何将代理配置为发出其他 Azure 资源的指标,请参阅 Azure Monitor Custom Metric Output for Telegraf(针对 Telegraf 的 Azure Monitor 自定义指标输出)。
清理资源
不再需要资源组、虚拟机和所有相关的资源时,可将其删除。 为此,请选择虚拟机的资源组,然后选择“删除”。 确认要删除的资源组的名称。
后续步骤
- 详细了解自定义指标。