为裸金属解决方案设置 Ops Agent

Ops Agent 会收集裸金属解决方案服务器上的日志和指标。它会将日志发送到 Cloud Logging,并将指标发送到 Cloud Monitoring。如需详细了解 Ops Agent,请参阅 Ops Agent 概览

如果您已经有现有的操作系统级监控解决方案,请确保在发生需要我们支持的事故时,您能够与我们分享数据。如果您没有任何此类解决方案或任何其他解决方案,我们建议您使用 Ops Agent。

准备工作

  • 确保裸金属解决方案服务器运行的是受支持的操作系统。Ops Agent 支持以下操作系统:

    • RHEL 7.x
    • RHEL 8.x
    • SLES 12.x
    • SLES 15.x
  • 确保您已在裸金属解决方案服务器上拥有用于授权与 Cloud Logging 和 Cloud Monitoring 进行通信的服务账号凭据。如果您没有所需的凭据,则必须在安装之前向 Ops Agent 授权

  • 为 Cloud Logging API 和 Cloud Monitoring API 启用这些服务

授权 Ops Agent

在安装 Ops Agent 之前,您必须确保它有权将信息发送到 Google Cloud。此权限使用必须存储在裸金属解决方案服务器上的服务账号凭据提供。这些凭据将用作 Ops Agent 的应用默认凭据 (ADC)

授权是确定经过身份验证的客户端对一组资源具有哪些权限的过程。 Google Cloud 使用 ADC 对裸金属解决方案服务器上的 Ops Agent 进行授权。

Ops Agent 支持使用服务账号中的私钥进行身份验证的 ADC。该密钥授权项目中服务账户上的密钥对,这使您可以创建访问令牌。该令牌用来提供身份,以便您可以代表服务账号与 Google Cloud API 进行交互。

为代理授权包括以下步骤:

  1. 创建服务账号
  2. 使用私钥向服务账号授权
  3. 授权 Ops Agent

如果您已有所需的凭据,则可以跳过此过程并安装 Ops Agent

创建服务账号和密钥。

本部分介绍如何创建新的服务账号并向其授予必要的角色,以及如何更新现有服务账号(如果它没有必要的角色)。

如需创建服务账号,请完成创建服务账号过程并提供以下信息:

  1. 选择包含裸金属解决方案服务器的 Google Cloud 项目来创建服务账号。
  2. 角色下拉菜单中,选择以下角色:
    • Monitoring > Monitoring Metric Writer
    • Logging > Logs Writer
  3. 选择 JSON 作为密钥类型
  4. 点击创建

    点击创建时,系统会将包含服务账号密钥的文件下载到您的本地系统。如需了解详情,请参阅创建和删除服务账号密钥

接下来,使用服务账号私钥为 Ops Agent 授权。

使用私钥向服务账号授权

如需使用服务账号私钥向 Ops Agent 授权,请执行以下操作:

  1. 将私钥文件复制到裸金属解决方案服务器上的以下位置,以便 Ops Agent 可以识别凭据。

    /etc/google/auth/application_default_credentials.json
    
  2. 创建一个环境变量来指向工作站上的凭据文件。以下示例创建一个名为 CREDS 的变量:

    CREDS="~/Downloads/PROJECT-NAME-KEY-ID.json"
    
  3. 将服务账号密钥转移到您的裸金属解决方案服务器。

    在本地系统上,使用 scp 命令行工具。

    1. 进入服务器页面。

      前往服务器

    2. 确定服务器的以下信息:

      • 项目 ID
      • 服务器名称
      • 服务器的位置
    3. 在裸金属解决方案服务器上,运行以下命令:

      GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
      sudo mkdir -p /etc/google/auth
      sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
      sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
      sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
      
      

      变量 GOOGLE_APPLICATION_CREDENTIALS 必须对 Ops Agent 进程可见。如果您的凭据文件不在之前列出的默认位置,则除了上述示例中的命令之外,还请确保 GOOGLE_APPLICATION_CREDENTIALS 已定义且对 Ops Agent 可见。

授权 Ops Agent

  1. 修改 /etc/systemd/system.conf 文件以添加以下信息。如果该文件不存在,请创建一个。

    DefaultEnvironment=GOOGLE_APPLICATION_CREDENTIALS=path_to_credentials_file BMS_PROJECT_ID=PROJECT_ID BMS_LOCATION=REGION BMS_INSTANCE_ID=SERVER_ID
    
  2. 重新加载环境变量。

    sudo systemctl daemon-reload
    

    裸金属解决方案服务器现在具有 Ops Agent 所需的凭据。

  3. 在裸金属解决方案服务器上,运行以下命令来重启 Ops Agent 以使用新凭据:

    sudo service google-cloud-ops-agent restart
    

安装 Ops Agent

如需使用命令行安装代理,请执行以下操作:

  1. 使用 SSH 或类似工具打开与裸金属解决方案服务器的终端连接,并确保您拥有 sudo 访问权限。

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

  3. 通过运行以下命令下载并运行 Ops Agent 安装脚本:

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

安装完成后,Ops Agent 会自动启动。

后续步骤

  • 了解 Ops Agent 的默认配置和自定义配置。请参阅配置 Ops Agent