将 Ops Agent 安装在单个虚拟机上

Ops Agent 会收集 Compute Engine 实例上的日志和指标,并将日志发送到 Cloud Logging,将指标发送到 Cloud Monitoring。

准备工作

要安装该代理,请确保您拥有以下必备组件:

使用命令行安装代理

如需使用命令行安装代理,请按照以下说明操作。

安装最新版代理

如需安装最新版本的代理,请完成以下步骤。

Linux

  1. 使用 SSH 或类似工具建立与虚拟机实例的终端连接,并确保您拥有 sudo 访问权限。

  2. 切换到您具有写入权限的目录,例如您的主目录。

  3. 运行:

    curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
    sudo bash add-google-cloud-ops-agent-repo.sh --also-install
    

Windows

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。

  2. 右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。

  3. 运行以下 PowerShell 命令:

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.ps1", "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1")
    Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall"
    

安装特定版本代理

如需安装特定版本的代理,请完成以下步骤。

Linux

  1. 使用 SSH 或类似工具建立与虚拟机实例的终端连接,并确保您拥有 sudo 访问权限。

  2. 切换到您具有写入权限的目录,例如您的主目录。

  3. 下载代理安装脚本:

    curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
    

    运行 add-google-cloud-ops-agent-repo.sh 脚本时,您还可以设置以下标志:

    • --verbose:在脚本执行期间启用详细日志记录。
    • --also-install:添加代理软件包代码库后安装代理。
    • --version:设置要安装的脚本的代理版本。
    • --uninstall:卸载代理。
    • --remove-repo:安装或卸载代理后移除相应的代理软件包代码库。
    • --dry-run:仅触发脚本执行的试运行,并输出应执行的命令。
    • --uninstall-standalone-logging-agent:卸载旧版 Logging 代理 (StackdriverLogging)。
    • --uninstall-standalone-monitoring-agent:卸载旧版 Monitoring 代理 (StackdriverMonitoring)。

    如需了解详情并查看示例注释,请参阅脚本注释。

  4. 添加代理的软件包代码库并安装代理:

    1. 如需列出可用的代理版本以选择要安装的版本,请参阅列出所有代理版本

    2. 对于生产环境,您可能需要固定到某个主要版本,以避免安装可能包含向后不兼容更改的主要版本。如需固定到某个主要版本,请运行以下命令:

      sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.*.*
      

      例如,如果要固定到代理的 1.x.x 版本,请运行以下命令:

      sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
        --version=1.*.*
      
    3. 如需安装代理的特定版本,请运行以下命令:

      sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
      

您可以在安装脚本成功运行后将其删除。

  • 如需验证代理是否按预期工作,请运行以下命令:

    sudo systemctl status google-cloud-ops-agent"*"
    

    代理的状态应为 OK

如果您在安装时遇到问题,请参阅问题排查页面。

Windows

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。

  2. 右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。

  3. 下载代理安装脚本:

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.ps1", "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1")
    

    运行 add-google-cloud-ops-agent-repo.ps1 脚本时,您还可以设置以下标志:

    • -Verbose:在脚本执行期间启用详细日志记录。
    • -AlsoInstall:添加代理软件包代码库后安装代理。
    • -Version:设置要安装的脚本的代理版本。
    • -Uninstall:卸载代理。
    • -RemoveRepo:安装或卸载代理后移除相应的代理软件包代码库。
    • -WhatIf:仅触发脚本执行的试运行,并输出应执行的命令。
    • -UninstallStandaloneLoggingAgent:卸载旧版 Logging 代理 (StackdriverLogging)。
    • -UninstallStandaloneMonitoringAgent:卸载旧版 Monitoring 代理 (StackdriverMonitoring)。

    如需了解详情并查看示例注释,请参阅脚本注释。

  4. 添加代理的软件包代码库并安装代理:

    1. 如需列出可用的代理版本以选择要安装的版本,请参阅列出所有代理版本

    2. 对于生产环境,您可能需要固定到某个主要版本,以避免安装可能包含向后不兼容更改的主要版本。如需固定到某个主要版本,请运行以下命令:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version MAJOR_VERSION.*.*"
      

      例如,如果要固定到代理的 1.x.x 版本,请运行以下命令:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version 1.*.*"
      
    3. 如需安装代理的特定版本,请运行以下命令:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version version-number"
      

      例如:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version 1.0.1"
      

您可以在安装脚本成功运行后将其删除。

  • 如需验证代理是否按预期工作,请运行以下命令:

    Get-Service google-cloud-ops-agent
    

    代理的状态应为 Running

如果您在安装时遇到问题,请参阅问题排查页面。

使用 Google Cloud Console 安装代理

您可以使用控制台的 Cloud Monitoring 或 Compute Engine 页面在单个 Linux 虚拟机上安装代理。

Cloud Monitoring

  1. 在控制台中,选择您的 Google Cloud 项目。

    转到控制台

  2. 在导航窗格中,选择 Monitoring

  3. 在 Monitoring 导航窗格中,选择信息中心

  4. 在信息中心表中,找到虚拟机实例条目,然后点击相应名称。

虚拟机实例信息中心中的库存标签页列出了所有虚拟机并包含代理的状态列,如以下屏幕截图所示:

Monitoring 中的“虚拟机实例”信息中心显示代理的状态。

代理列会报告以下值:

  • 未检测到:未安装代理。如果 Cloud Monitoring 未检测到 Compute Engine 实例上安装的任何代理,您可以通过执行以下操作来安装代理:

    • 选择要在其中安装代理的虚拟机实例。
    • 点击实例表中的安装代理选项,这时信息中心会显示一个安装工作流,请按说明进行操作。 Ops Agent 是安装的默认代理,但安装工作流提供了安装旧版代理的链接。

      Ops Agent 默认会收集指标和日志。您可以通过配置 Ops Agent 来更改此默认行为。

  • Ops Agent:您正在运行 Ops Agent。

  • 旧版代理:您正在运行旧版 Monitoring 或 Logging 代理。如需了解如何转换到 Ops Agent,请参阅从旧版代理迁移到 Ops Agent

  • 不适用:此虚拟机不属于运行代理的受支持平台。

  • 虚拟机已停止:虚拟机未运行,因此代理的状态未知。

Compute Engine

  1. 进入控制台中的虚拟机实例页面。

    虚拟机实例

  2. 点击要在其中安装代理的虚拟机的名称。详细信息页面会打开。

  3. 点击可观测性标签页。系统随即便会打开可观测性页面。

  4. 点击安装 Ops Agent

  5. 点击在 Cloud Shell 中运行。Cloud Shell 会打开并粘贴安装命令。

  6. 按键盘上的 Enter 键以运行该命令。

  7. 点击授权以允许 Cloud Shell 安装代理。如果您在 Cloud Shell 中看到类似于以下内容的行,则表示安装成功:

    Instance: projects/example-project/zones/us-west1-a/instances/example-vm successfully runs ops-agent
    

可选任务

本部分介绍如何执行常见的维护任务。

配置 HTTP 代理

如果使用 HTTP 代理将请求代理到 Logging API 和 Monitoring API,则请执行以下操作:

Linux

  1. 修改以下配置文件(如果尚不存在,请创建该文件):

     /etc/systemd/system.conf
    
  2. 将以下内容添加到该文件中:

     DefaultEnvironment="HTTP_PROXY=http://proxy-ip:proxy-port" "HTTPS_PROXY=http://proxy-ip:proxy-port" "NO_PROXY=http://metadata.google.internal"  # Skip proxy for the local Metadata Server.
    
  3. 重新加载环境变量:

     sudo systemctl daemon-reload
    
  4. 通过在虚拟机实例上运行以下命令来重启该代理。

     sudo systemctl restart google-cloud-ops-agent.target
    

Windows

  1. 如果您使用的是 HTTP 代理,请通过管理员命令提示符运行以下命令。这样做可设置 HTTP_PROXYHTTPS_PROXY 环境变量,以便代理可以使用出站 HTTPS 发送数据:

    setx HTTP_PROXY http://proxy-ip:proxy-port /m
    setx HTTPS_PROXY http://proxy-ip:proxy-port /m
    setx no_proxy metadata.google.internal /m
    

确定代理版本

如需确定系统中 Ops Agent 的版本,请在虚拟机实例上运行以下命令:

CENTOS/RHEL

在 Red Hat 或 CentOS Linux 上运行以下命令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-cloud-ops-agent

DEBIAN/UBUNTU

在 Debian 或 Ubuntu 上运行以下命令:

dpkg-query --show --showformat \
    '${Package} ${Version} ${Architecture} ${Status}\n' \
     google-cloud-ops-agent

SLES/SUSE

在 SUSE 上运行以下命令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-cloud-ops-agent

WINDOWS

在 Windows 上运行以下命令:

googet installed google-cloud-ops-agent

重启代理

您必须重启 Ops Agen 才能使配置文件中的更改生效。要重启代理,请按以下说明操作。

LINUX

在您的实例上运行以下命令:

 sudo service google-cloud-ops-agent restart

Windows

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。

  2. 右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。

  3. 运行以下 PowerShell 命令:

Restart-Service google-cloud-ops-agent -Force

升级代理

要将 Ops Agen 升级到最新版本,请按以下说明操作:

Linux

如需将代理升级到最新版本,请运行以下命令:

sudo bash add-google-cloud-ops-agent-repo.sh --also-install

如需将代理升级到特定主要版本的最新版本,请运行以下命令:

sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
  --version=MAJOR_VERSION.*.*

Windows

如需升级到最新的代理版本,请执行以下操作:

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。

  2. 右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。

    Copy-Item -Path "C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml" -Destination "C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.bak"
    
  3. 运行以下 PowerShell 命令以移除已安装的代理并运行安装命令:

    googet -noconfirm remove google-cloud-ops-agent
    googet -noconfirm install google-cloud-ops-agent
    

列出所有代理版本

如需列出代理的可用版本,请运行以下命令:

CENTOS/RHEL

列出代理的可用版本:

sudo yum list --showduplicates google-cloud-ops-agent

DEBIAN/UBUNTU

列出代理的可用版本:

sudo apt-cache madison google-cloud-ops-agent

SLES/SUSE

列出代理的可用版本:

sudo zypper search -s google-cloud-ops-agent

WINDOWS

列出代理的可用版本:

googet available google-cloud-ops-agent

卸载代理

要移除 Ops Agen 及其配置文件,请按以下说明操作。

卸载代理后,Google Cloud Console 最多可能需要一小时才能报告此更改。

Linux

运行以下命令:

sudo bash add-google-cloud-ops-agent-repo.sh --uninstall

Windows

如需卸载 Ops Agent,请按照以下步骤操作:

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。

  2. 右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。

  3. 运行以下 PowerShell 命令:

    googet -noconfirm remove google-cloud-ops-agent
    

没有远程软件包访问权限的虚拟机

安装 Ops Agen 时需要访问远程软件包代码库,以获得代理软件包及(在 Linux 上)其依赖项。

如果您使用的是 VPC-SC 或专用网络,则网络配置还可能会影响您能否从上游代码库安装代理依赖项。您可以使用专用 Google 访问通道来访问代理软件包本身。

如果虚拟机主机的安全政策拒绝访问远程软件包代码库,我们建议在预装代理的情况下创建自定义虚拟机映像,并在该映像中停用软件包管理。

后续步骤