在 Linux 计算机上安装 Log Analytics 代理
注意
本文引用了 CentOS,这是一个处于生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑你的使用和规划。 有关详细信息,请参阅 CentOS 生命周期结束指导。 本文详细介绍如何在其他云或本地托管的 Linux 计算机上安装 Log Analytics 代理。
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Azure 将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
本文中所述的安装方法包括:
- 使用 GitHub 上托管的包装器脚本安装 Linux 代理。 如果计算机已直接或通过代理服务器连接到 Internet,建议使用此方法安装和升级代理。
- 手动下载并安装代理。 如果 Linux 计算机无法访问 Internet,并通过 Log Analytics 网关与 Azure Monitor 或 Azure 自动化进行通信,则需要执行此步骤。
有关可用于 Azure 虚拟机的更高效选项,请参阅安装选项。
要求
以下部分概述了安装要求。
支持的操作系统
有关 Log Analytics 代理支持的 Linux 发行版的列表,请参阅 Azure Monitor 代理概述。
仅 x86_x64 平台(64 位)支持 OpenSSL 1.1.0。 任何平台都不支持低于 1.x 的 OpenSSL。
从 2018 年 8 月之后发布的版本开始,我们对支持模型进行了以下更改:
- 仅支持服务器版本,不支持客户端版本。
- 将支持重点放在任何 Azure Linux 认可的发行版。 Azure Linux 认可的新发行版/版本与 Log Analytics Linux 代理支持的发行版/版本之间可能存在一定的延迟。
- 列出的每个主版本支持所有的次版本。
- 超出制造商终止支持日期的版本不受支持。
- 仅支持 VM 映像。 不支持容器,即使是从正式发行版发布者的映像派生的容器也不受支持。
- 不支持新版本的 AMI。
- 默认情况下,仅支持运行 OpenSSL 1.x 的版本。
注意
如果使用的是当前不受支持且与我们的支持模型不一致的发行版或版本,则建议为此存储库创建分库。 确认 Microsoft 支持部门不会为已创建分库的代理版本提供帮助。
Python 要求
从代理版本 1.13.27 开始,Linux 代理将同时支持 Python 2 和 Python 3。 我们始终建议使用最新代理。
如果使用的是旧版本的代理,则默认情况下必须让虚拟机使用 Python 2。 如果虚拟机使用的发行版默认情况下不包括 Python 2,则必须进行安装。 以下示例命令将在不同的发行版上安装 Python 2:
- Red Hat、CentOS、Oracle:
sudo yum install -y python2
- Ubuntu、Debian:
sudo apt-get update
sudo apt-get install -y python2
- SUSE:
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 的市场映像)
- FIPS(适用于 CentOS 6/7 的市场映像及其默认设置)
不支持以下工具:
- CIS
- SELINUX(MLS 应用等自定义增强版本)
Azure Monitor 代理计划提供 CIS、FIPS 和 SELinux 强化支持。 OMS 代理不支持且未计划使用深入强化和自定义方法。 例如,不支持 GitHub Enterprise Server 等 OS 映像,其中包含对用户帐户权限的限制等自定义设置。
代理必备组件
下表突出显示了支持的 Linux 发行版所需的包,将在该 Linux 发行版上安装代理。
所需程序包 | 说明 | 最低版本 |
---|---|---|
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-ctype | ||
PAM | 可插入身份验证模块 |
注意
收集 syslog 消息时需要 rsyslog 或 syslog-ng。 Syslog 事件收集不支持 Red Hat Enterprise Linux、CentOS 和 Oracle Linux 版本 (sysklog) 版本 5 上的默认 syslog 守护程序。 要从这些发行版的此版本中收集 syslog 数据,应安装并配置 rsyslog 守护程序以替换 sysklog。
网络要求
有关 Linux 代理的网络要求,请参阅 Log Analytics 代理概述。
工作区 ID 和密钥
无论使用何种安装方法,都需要有该代理将要连接到的 Log Analytics 工作区的工作区 ID 和密钥。 请从 Azure 门户中的“Log Analytics 工作区”菜单中选择该工作区。 在“设置”部分下,选择“代理”。
注意
虽然有可能重新生成 Log Analytics 工作区共享密钥,但这旨在不立即限制对当前使用这些密钥的任何代理的访问。 代理使用该密钥生成在三个月后过期的证书。 重新生成共享密钥只会阻止代理续订其证书,在证书过期之前不会继续使用这些证书。
代理安装包
适用于 Linux 的 Log Analytics 代理由多个包组成。 发行文件包含以下包,可通过结合 --extract
参数运行 shell 捆绑包来获取这些包:
程序包 | 版本 | 说明 |
---|---|---|
omsagent | 1.16.0 | 适用于 Linux 的 Log Analytics 代理。 |
omsconfig | 1.2.0 | Log Analytics 代理的配置代理。 |
omi | 1.7.1 | Open Management Infrastructure (OMI),一款轻型 CIM 服务器。 OMI 要求拥有 root 访问权限,以运行所需的 cron 作业来使服务正常工作。 |
scx | 1.7.1 | 操作系统性能指标的 OMI CIM 提供程序。 |
apache-cimprov | 1.0.1 | OMI 的 Apache HTTP 服务器性能监视提供程序。 仅当检测到 Apache HTTP 服务器时才安装。 |
mysql-cimprov | 1.0.1 | OMI 的 MySQL 服务器性能监视提供程序。 仅当检测到 MySQL/MariaDB 服务器时才安装。 |
docker-cimprov | 1.0.0 | OMI 的 Docker 提供程序。 仅当检测到 Docker 时才安装。 |
代理安装详细信息
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Azure 将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
安装适用于 Linux 的 Log Analytics 代理包后,还将应用以下系统范围的配置更改。 卸载 omsagent 包将删除这些项目。
- 创建一个名为
omsagent
的非特权用户。 守护程序通过此凭据运行。 - 将在
/etc/sudoers.d/omsagent
中创建一个 sudoers include 文件。 此文件会授权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 代理已弃用。 Azure 将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
以下步骤在由世纪互联运营的 Microsoft Azure 云中配置 Log Analytics 代理的设置。 对 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 计算机配置为连接到由世纪互联运营的 Microsoft 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.cn
代理服务器要求进行身份验证时,以下命令包括
-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.cn
运行以下命令重启代理:
sudo /opt/microsoft/omsagent/bin/service_control restart [<workspace id>]
从以前的版本升级
从版本 1.0.0-47 开始,每个版本都支持从旧版升级。 使用 --upgrade
参数执行安装可将代理的所有组件升级到最新版本。
注意
由于设置了 --skip-docker-provider-install
标志,升级期间会出现警告消息“已跳过 docker 提供程序包安装”。 如果要通过现有 omsagent
安装进行安装,并且想要删除 docker 提供程序,请先清除现有安装。 然后使用 --skip-docker-provider-install
标志进行安装。
缓存信息
来自适用于 Linux 的 Log Analytics 代理的数据在发送到 Azure Monitor 之前缓存在本地计算机上的 %STATE_DIR_WS%/out_oms_common.buffer* 中。 自定义日志数据将在 %STATE_DIR_WS%/out_oms_blob.buffer* 中缓冲。 对于某些解决方案和数据类型,路径可能会不同。
该代理会尝试每隔 20 秒上传一次。 如果操作失败,它会等待以指数级增加的一段时间,直到成功为止。 例如,它会在第二次尝试之前等待 30 秒,第三次尝试之前等待 60 秒,第四次尝试之前等待 120 秒,依此类推,直到再次成功连接为止,两次重试之间的最长间隔为 16 分钟。 对于给定数据块,该代理最多重试 6 次,然后丢弃它并移至下一个数据块。 此过程会一直继续,直到代理可以再次成功上传。 因此,在数据在被丢弃之前可能会被缓冲最多 30 分钟左右。
默认缓存大小为 10 MB,但可在 omsagent.conf 文件中进行修改。
后续步骤
- 查看管理和维护 Windows 和 Linux 的 Log Analytics 代理以了解如何重新配置、升级代理或从虚拟机中删除代理。
- 如果在安装或管理代理时遇到问题,请查看 Linux 代理疑难解答。
- 查看代理数据源,了解数据源配置。