你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Linux 计算机上安装 Log Analytics 代理

注意

本文引用了 CentOS,这是一个接近生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑你的使用和规划。 本文详细介绍如何在其他云或本地托管的 Linux 计算机上安装 Log Analytics 代理。

重要

旧版 Log Analytics 代理将于 2024 年 8 月弃用。 在此日期之后,Microsoft 将不再为 Log Analytics 代理提供任何支持。 请在 2024 年 8 月之前迁移到 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。

注意

Log Analytics Linux 代理不会在容器中运行。 要监视容器,请使用针对 Docker 主机的容器监视解决方案或针对 Kubernetes 的容器见解

从 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。 使用以下方法设置此别名:

  1. 运行以下命令以删除所有现有别名:

    sudo update-alternatives --remove-all python
    
  2. 运行以下命令以创建别名:

    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 等 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+
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 工作区”菜单中选择该工作区。 在“设置”部分下,选择“代理”。

Screenshot that shows workspace details.

注意

虽然有可能重新生成 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 时才安装。

代理安装详细信息

重要

旧版 Log Analytics 代理将于 2024 年 8 月弃用。 在此日期之后,Microsoft 将不再为 Log Analytics 代理提供任何支持。 请在 2024 年 8 月之前迁移到 Azure Monitor 代理,这样才能继续引入数据。

安装适用于 Linux 的 Log Analytics 代理包后,还将应用以下系统范围的配置更改。 卸载 omsagent 包将删除这些项目。

  • 创建一个名为 omsagent 的非特权用户。 守护程序通过此凭据运行。
  • 将在 /etc/sudoers.d/omsagent 中创建一个 sudoers include 文件。 此文件会授权 omsagent 重启 syslog 和 omsagent 守护程序。 如果安装的 sudo 版本不支持 sudo include 指令,则会将这些条目写入 /etc/sudoers
  • 修改 syslog 配置,以将事件子集转发到代理。 有关详细信息,请参阅配置 Syslog 数据收集

在受监视的 Linux 计算机上,代理列为 omsagentomsconfig 是适用于 Linux 的 Log Analytics 代理的配置代理,每隔 5 分钟便会查找一次新门户端配置。 新的和已更新的配置应用到 /etc/opt/microsoft/omsagent/conf/omsagent.conf 中的代理配置文件。

安装代理

重要

旧版 Log Analytics 代理将于 2024 年 8 月弃用。 在此日期之后,Microsoft 将不再为 Log Analytics 代理提供任何支持。 请在 2024 年 8 月之前迁移到 Azure Monitor 代理,这样才能继续引入数据。

以下步骤配置在 Azure 和 Azure 政府云中用于 Log Analytics 的代理。 对 Linux 计算机使用包装器脚本,这些计算机可直接通信或通过代理服务器通信,以下载托管在 GitHub 上的代理并安装该代理。

如果 Linux 计算机需要通过代理服务器与 Log Analytics 通信,可以通过包含 -p [protocol://][user:password@]proxyhost[:port] 在命令行中指定此配置。 protocol 属性接受 httphttpsproxyhost 属性接受代理服务器的完全限定域名或 IP 地址。

例如:https://proxy01.contoso.com:30443

如果在任一情况下需要身份验证,请指定用户名和密码。 例如:https://user01:password@proxy01.contoso.com:30443

  1. 要配置 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>
    
  2. 要配置 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
    
  3. 运行以下命令重启代理:

    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 文件中进行修改。

后续步骤