将 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

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

可选任务

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

配置 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 将数据发送到 Monitoring:

    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
    

确定代理版本

要确定系统上 Monitoring 代理的版本,请在您的虚拟机实例上运行以下命令:

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

重启代理

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

LINUX

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

 sudo service google-cloud-ops-agent restart

Windows

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

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

  3. 运行以下 PowerShell 命令:

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

升级代理

要将 Monitoring 代理升级到最新版本,请按以下说明操作:

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

卸载代理

要移除 Monitoring 代理及其配置文件,请按以下说明操作。

卸载代理后,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
    

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

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

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

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

后续步骤