注意
本文引用了 CentOS,这是一个处于生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑您的使用方式和计划。 有关详细信息,请参阅 CentOS 生命周期结束指南。
本文详细介绍如何在托管在其他云或本地的 Linux 计算机上安装 Log Analytics 代理。
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Microsoft将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
本文中所述的安装方法包括:
- 使用 GitHub 上托管的包装脚本安装适用于 Linux 的代理。 当计算机与 Internet 建立直接或通过代理服务器建立连接时,建议使用此方法安装和升级代理。
 - 手动下载并安装代理。 如果 Linux 计算机无法访问 Internet,并且将通过 Log Analytics 网关与 Azure Monitor 或 Azure 自动化通信,则需要此步骤。
 
有关可用于 Azure 虚拟机的更高效选项,请参阅 安装选项。
要求
以下部分概述了安装要求。
受支持的操作系统
有关 Log Analytics 代理支持的 Linux 分发版列表,请参阅 Azure Monitor 代理概述。
openSSL 1.1.0 仅在x86_x64平台(64 位)上受支持。 任何平台上都不支持早于 1.x 的 OpenSSL。
从 2018 年 8 月之后发布的版本开始,我们将对支持模型进行以下更改:
- 仅支持服务器版本,不支持客户端版本。
 - 重点支持任何 Azure Linux 认可的发行版。 新发行版/版本在 Azure Linux 认可和 Log Analytics Linux 代理支持之间可能存在一些延迟。
 - 列出的每个主要版本都支持所有次要版本。
 - 不支持已经过了制造商支持终止日期的软件版本。
 - 仅支持 VM 映像。 容器不受支持,即使是从官方发行版发布者的镜像派生的容器。
 - 不支持新版本的 AMI。
 - 默认情况下仅支持运行 OpenSSL 1.x 的版本。
 
注释
如果你使用的是目前不支持的发行版或版本,并且与我们的支持模型不一致,我们建议你分叉该代码库。 请注意,微软的支持服务不会为分叉代理版本提供帮助。
Python 要求
从代理版本 1.13.27 开始,Linux 代理将同时支持 Python 2 和 3。 我们始终建议使用最新的代理。
如果使用的是旧版代理,则默认情况下必须让虚拟机使用 Python 2。 如果虚拟机使用默认情况下不包含 Python 2 的发行版,则必须安装它。 以下示例命令将在不同的发行版上安装 Python 2:
Red Hat、CentOS、Oracle:
sudo yum install -y python2Ubuntu,Debian:
sudo apt-get update sudo apt-get install -y python2SUSE:
sudo zypper install -y python2
同样,仅当使用较旧版本的代理时,python2 可执行文件必须别名为 python。 使用以下方法设置此别名:
运行以下命令以删除任何现有别名:
sudo update-alternatives --remove-all python运行以下命令以创建别名:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2
支持的 Linux 强化
OMS 代理对 Linux 的自定义和强化支持有限。
目前支持以下工具:
- SELinux(用于 CentOS 和 RHEL 的市场镜像及其默认设置)
 - FIPS (CentOS 和 RHEL 6/7 的市场映像及其默认设置)
 
不支持以下工具:
- CIS
 - SELinux (自定义强化(如 MLS)
 
Azure Monitor 代理会计划支持 CIS、FIPS 和 SELinux 加固功能。 OMS 代理不支持或计划进一步强化和自定义方法。 例如,像 GitHub Enterprise Server 这样的操作系统映像(包含用户帐户特权限制等自定义项)是不被支持的。
代理先决条件
下表突出显示了将安装代理 的受支持 Linux 发行版 所需的包。
| 所需安装包 | Description | 最低版本 | 
|---|---|---|
| Glibc | GNU C 库 | 2.5-12 | 
| Openssl | OpenSSL 库 | 1.0.x 或 1.1.x | 
| Curl | cURL Web 客户端 | 7.15.5 | 
| Python | 2.7 或 3.6-3.11 | |
| Python-ctypes | ||
| PAM | 可插入身份验证模块 | 
注释
收集 syslog 消息需要使用 rsyslog 或 syslog-ng。 在 Red Hat Enterprise Linux、CentOS 和 Oracle Linux 版本 5 中,默认的 syslog 守护程序(sysklog)不支持 syslog 事件收集。 若要从这些分发版收集 syslog 数据,应安装 rsyslog 守护程序并将其配置为替换 sysklog。
网络要求
有关 Linux 代理的网络要求,请参阅 Log Analytics 代理概述。
工作区 ID 和密钥
无论使用的安装方法如何,都需要代理连接到的 Log Analytics 工作区的工作区 ID 和密钥。 从 Azure 门户中的 Log Analytics 工作区菜单中选择工作区 。 在 “设置” 部分下,选择 “代理”。
注释
虽然可以重新生成 Log Analytics 工作区共享密钥,但这样做的目的是 不要 立即限制对当前使用这些密钥的任何代理的访问。 代理使用该密钥生成在三个月后过期的证书。 重新生成共享密钥只会阻止代理续订其证书,在证书过期之前不会继续使用这些证书。
代理安装包
适用于 Linux 的 Log Analytics 代理由多个软件包组成。 发布文件包含以下包,这些包可通过运行 --extract 带参数的 shell 捆绑包获得:
| Package | 版本 | Description | 
|---|---|---|
| omsagent | 1.16.0 | 适用于 Linux 的 Log Analytics 代理。 | 
| omsconfig | 1.2.0 | 用于日志分析代理的配置代理。 | 
| omi | 1.7.1 | 开放式管理基础结构 (OMI),一个轻型 CIM 服务器。 OMI 需要根访问权限才能运行服务正常运行所需的 cron 作业。 | 
| scx | 1.7.1 | 用于操作系统性能指标的 OMI CIM 提供程序。 | 
| apache-cimprov | 1.0.1 | 适用于 OMI 的 Apache HTTP Server 性能监视提供程序。 仅当检测到 Apache HTTP 服务器时安装。 | 
| mysql-cimprov | 1.0.1 | 适用于 OMI 的 MySQL 服务器性能监视提供程序。 仅当检测到 MySQL/MariaDB 服务器时安装。 | 
| docker-cimprov | 1.0.0 | 适用于 OMI 的 Docker 提供程序。 仅当检测到 Docker 时安装。 | 
代理安装详细信息
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Microsoft将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
安装适用于 Linux 包的 Log Analytics 代理也会应用以下系统范围的配置更改。 卸载 omsagent 包会删除这些项目。
- 将创建一个名为 
omsagent非特权的用户。 守护程序在此凭据下运行。 - 在 
/etc/sudoers.d/omsagent中创建。 此文件授权omsagent重启 syslog 和 omsagent 守护程序。 如果所安装的 sudo 版本不支持 sudo include 指令,则会将这些条目写入/etc/sudoers。 - 修改 syslog 配置以将事件子集转发到代理。 有关详细信息,请参阅 配置 Syslog 数据收集。
 
在受监视的 Linux 计算机上,代理将列为 omsagent。 
              omsconfig 是用于 Linux 配置代理的 Log Analytics 代理,每 5 分钟检查一次新的门户侧配置。 新的和更新的配置将应用于位于的 /etc/opt/microsoft/omsagent/conf/omsagent.conf代理配置文件。
安装代理
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Microsoft将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
以下步骤用于在 Azure 和 Azure 政府云中配置代理以进行日志分析。 包装器脚本用于 Linux 计算机,这些计算机可以直接或通过代理服务器进行通信,以下载托管在 GitHub 上的代理并安装代理。
如果 Linux 计算机需要通过代理服务器与 Log Analytics 通信,可以通过包括 -p [protocol://][user:password@]proxyhost[:port]此配置在命令行上指定。 该 protocol 属性接受 http 或 https。 该 proxyhost 属性接受代理服务器的完全限定域名或 IP 地址。
例如:https://proxy01.contoso.com:30443
如果任一情况下都需要身份验证,请指定用户名和密码。 例如:https://user01:password@proxy01.contoso.com:30443
若要将 Linux 计算机配置为连接到 Log Analytics 工作区,请运行以下命令,提供工作区 ID 和主密钥。 以下命令下载代理程序,验证其校验码,并进行安装。
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY>以下命令包括
-p代理服务器需要身份验证时的代理参数和示例语法:wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -p [protocol://]<proxy user>:<proxy password>@<proxyhost>[:port] -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY>若要将 Linux 计算机配置为连接到 Azure 政府云中的 Log Analytics 工作区,请运行以下命令,提供前面复制的工作区 ID 和主密钥。 以下命令将下载代理并验证其校验和,然后安装。
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY> -d opinsights.azure.us以下命令包括
-p代理服务器需要身份验证时的代理参数和示例语法:wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -p [protocol://]<proxy user>:<proxy password>@<proxyhost>[:port] -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY> -d opinsights.azure.us通过运行以下命令重启代理:
sudo /opt/microsoft/omsagent/bin/service_control restart [<workspace id>]
从以前的版本升级
从版本 1.0.0-47开始,可以在每个发行版中进行升级。 使用 --upgrade 参数执行安装,将代理的所有组件升级到最新版本。
注释
升级期间会显示警告消息“已跳过 docker 提供者包安装”,因为 --skip-docker-provider-install 标志已设置。 如果要通过现有 omsagent 安装进行安装并想要删除 docker 提供程序,请先清除现有安装。 然后使用 --skip-docker-provider-install 标志进行安装。
缓存信息
Log Analytics Agent for Linux 中的数据缓存在本地计算机上 %STATE_DIR_WS%/out_oms_common.buffer* ,然后再发送到 Azure Monitor。 自定义日志数据在 /%STATE_DIR_WS%/out_oms_blob.buffer* 中缓冲。 对于某些 解决方案和数据类型,路径可能有所不同。
代理尝试每隔 20 秒上传一次。 如果失败,它将等待时间的长度以指数级别增加,直到成功。 例如,它在第二次尝试前等待 30 秒,第三次尝试前 60 秒,120 秒等,最多在重试之间等待 16 分钟,直到它再次成功连接。 代理在放弃并移动到下一个数据块之前,对每个指定的数据块最多重试 6 次。 此过程将继续执行,直到代理可以再次成功上传。 因此,数据可能在丢弃前大约 30 分钟进行缓冲。
默认缓存大小为 10 MB,但可以在 omsagent.conf 文件中修改。
后续步骤
- 查看 管理和维护适用于 Windows 和 Linux 的 Log Analytics 代理 ,了解如何从虚拟机重新配置、升级或删除代理。
 - 如果在安装或管理代理时遇到问题,请查看 Linux 代理疑难解答 。
 - 查看 代理数据源 ,了解数据源配置。