注意
本文引用了 CentOS,这是一个处于生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑你的使用和规划。 有关详细信息,请参阅 CentOS 生命周期结束指南。
Azure Monitor 代理 (AMA) 疑难解答旨在帮助识别代理的问题并执行常规运行状况评估。 它可以执行各种检查,以确保正确安装和连接代理,还可以从被诊断的计算机收集与 AMA 相关的日志。
注意
AMA 疑难解答是一个可执行文件,高于 1.25.1(适用于 Linux)的所有版本的代理都随附此文件。
先决条件
公共终结点要求
Linux AMA 故障排除程序需要访问以下公共终结点才能正常运行: /azure-monitor/agents/azure-monitor-agent-extension-versions
该工具使用此 URL 检索最新的 Azure Monitor 代理(AMA)版本信息。 确保允许从执行该工具的环境建立到此终结点的出站连接。 缺少访问可能会导致故障排除期间超时或失败。
Python 要求
Linux AMA 疑难解答要求在计算机上安装 Python 2.6+ 或 Python 3 版本。
若要检查计算机上是否安装了 python,请复制以下命令并在 Bash 中作为根运行:
sudo python -V
sudo python3 -V
可以安装多个版本的 Python 并设置别名 - 如果安装了多个版本,请使用:
ls -ls /usr/bin/python*
如果虚拟机使用的发行版默认情况下不包括 Python 3,则必须进行安装。 以下示例命令将在不同的发行版上安装 Python 3:
sudo yum install -y python3
此外,需要以下 Python 包才能运行(Python 2 或 Python 3 的默认安装应具有所有这些包):
| Python 包 | Python 2 必需? | Python 3 必需? |
|---|---|---|
| 复制 | 是 | 是 |
| 日期/时间 | 是 | 是 |
| json | 是 | 是 |
| 操作系统 | 是 | 是 |
| 平台 | 是 | 是 |
| 再 | 是 | 是 |
| 请求 | 否 | 是 |
| shutil | 是 | 是 |
| 子过程 | 是 | 是 |
| url lib | 是 | 否 |
| xml.dom.minidom | 是 | 是 |
疑难解答是否存在的检查
检查诊断的计算机上是否存在 AMA 代理疑难解答目录,以确认安装代理疑难解答:
/var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}
若要验证是否存在 Azure Monitor 代理故障排除程序,请复制以下命令并在 Bash 中作为根运行:
ls -ltr /var/lib/waagent | grep "Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-*"
如果目录不存在或安装失败,请按照基本故障排除步骤操作。
如果目录存在,请继续运行疑难解答。
运行疑难解答
在要诊断的计算机上,运行代理疑难解答。
日志模式启用日志收集,然后可将日志压缩为 .tgz 格式进行导出或评审。 交互模式允许用户积极参与故障排除方案,并直接在 shell 中查看输出。
若要在日志模式下启动代理疑难解答,请复制以下命令并在 Bash 中作为根运行:
注意
需要更新 {version} 以匹配已安装的版本号。 在下面的示例中,当前版本是 1.28.11。
cd /var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}/ama_tst/
sudo sh ama_troubleshooter.sh -L
输入输出日志的路径。 例如,可能会使用 /tmp。
它运行一系列活动,并将 .tgz 文件输出到指定的输出目录。 请耐心等待此过程完成。
常见问题
是否可以将疑难解答从较新的代理复制到较旧的代理,并在较旧的代理上运行以诊断旧代理的问题?
无法通过复制代理来使用疑难解答诊断旧版代理。 必须拥有最新版本的代理,才能正常运行疑难解答。