Ops Agent 会收集 Compute Engine 实例上的日志和指标,并将日志发送到 Cloud Logging,将指标发送到 Cloud Monitoring。
准备工作
要安装该代理,请确保您拥有以下必备组件:
Google Cloud 项目中受支持的虚拟机实例。
虚拟机实例上授权与 Cloud Logging 和 Cloud Monitoring 进行通信的凭据。默认情况下,Compute Engine 虚拟机实例通常具有正确的凭据。如果您运行的是非常旧的 Compute Engine 实例,或者您在未使用默认凭据的情况下创建了 Compute Engine 实例,则您可能没有正确的凭据。您必须完成授权 Ops Agent 过程。
确保已为 Cloud Logging API 和 Cloud Monitoring API 启用服务。
确保您的虚拟机没有安装旧版 Cloud Logging 代理或 Cloud Monitoring 代理,否则可能会导致系统提取重复的日志或者导致系统在提取指标时发生冲突。此外,此代理会使用与旧代理不兼容的新配置文件。
如果您安装了旧版代理,请保存 Cloud Monitoring 代理的自定义配置文件以及 Cloud Logging 代理的自定义配置文件,然后完成 Cloud Monitoring 代理的卸载步骤以及 Cloud Logging 代理的卸载步骤。
如果用户使用的是无法访问远程软件包代码库的虚拟机,请参阅没有远程软件包访问权限的虚拟机部分了解详情。
使用命令行安装代理
如需使用命令行安装代理,请按照以下说明操作。
安装最新版代理
如需安装最新版本的代理,请完成以下步骤。
Linux
使用 SSH 或类似工具建立与虚拟机实例的终端连接,并确保您拥有
sudo
访问权限。切换到您具有写入权限的目录,例如您的主目录。
运行:
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
使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。
运行以下 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
使用 SSH 或类似工具建立与虚拟机实例的终端连接,并确保您拥有
sudo
访问权限。切换到您具有写入权限的目录,例如您的主目录。
下载代理安装脚本:
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
)。
如需了解详情并查看示例注释,请参阅脚本注释。
添加代理的软件包代码库并安装代理:
如需列出可用的代理版本以选择要安装的版本,请参阅列出所有代理版本。
对于生产环境,您可能需要固定到某个主要版本,以避免安装可能包含向后不兼容更改的主要版本。如需固定到某个主要版本,请运行以下命令:
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.*.*
如需安装代理的特定版本,请运行以下命令:
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
使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 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")
运行
add-google-cloud-ops-agent-repo.ps1
脚本时,您还可以设置以下标志:-Verbose
:在脚本执行期间启用详细日志记录。-AlsoInstall
:添加代理软件包代码库后安装代理。-Version
:设置要安装的脚本的代理版本。-Uninstall
:卸载代理。-RemoveRepo
:安装或卸载代理后移除相应的代理软件包代码库。-WhatIf
:仅触发脚本执行的试运行,并输出应执行的命令。-UninstallStandaloneLoggingAgent
:卸载旧版 Logging 代理 (StackdriverLogging
)。-UninstallStandaloneMonitoringAgent
:卸载旧版 Monitoring 代理 (StackdriverMonitoring
)。
如需了解详情并查看示例注释,请参阅脚本注释。
添加代理的软件包代码库并安装代理:
如需列出可用的代理版本以选择要安装的版本,请参阅列出所有代理版本。
对于生产环境,您可能需要固定到某个主要版本,以避免安装可能包含向后不兼容更改的主要版本。如需固定到某个主要版本,请运行以下命令:
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.*.*"
如需安装代理的特定版本,请运行以下命令:
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 安装代理
您可以使用 Google Cloud 控制台中的 Cloud Monitoring 或 Compute Engine 页面在单个 Linux 虚拟机上安装代理。
Cloud Monitoring
在 Google Cloud 控制台中,选择您的 Google Cloud 项目。
在导航窗格中,选择 Monitoring。
在 Monitoring 导航窗格中,选择信息中心。
在信息中心表中,找到虚拟机实例条目,然后点击相应名称。
信息中心的目录标签页上的列表视图会列出所有虚拟机并包含代理的状态列,如以下屏幕截图所示:
代理列会报告以下值:
未检测到:未安装代理。如果 Cloud Monitoring 未检测到 Compute Engine 实例上安装的任何代理,您可以通过执行以下操作来安装代理:
- 选择要在其中安装代理的虚拟机实例。
点击实例表中的安装/更新代理选项,这时信息中心会显示一个安装工作流,请按说明进行操作。
您还可以从特定虚拟机的虚拟机详情页面安装或更新代理。
Ops Agent 默认会收集指标和日志。您可以通过配置 Ops Agent 来更改此默认行为。
Ops Agent:您正在运行 Ops Agent。 如果您在条目旁边没有看到绿色对勾标记,则表示根据检测到的虚拟机操作系统,有可用的代理升级。
将鼠标悬停在表中的 Ops Agent 指示标志上时,您会看到有关 Ops Agent 版本的信息。如果您运行的是较旧版本,则还会看到升级代理的建议。
待处理:正在安装或升级 Ops Agent。
旧版代理:您正在运行旧版 Monitoring 或 Logging 代理。如需了解如何转换到 Ops Agent,请参阅从旧版代理迁移到 Ops Agent。
不适用:此虚拟机不属于运行代理的受支持平台。
未知:虚拟机未运行,因此代理的状态未知。
Compute Engine
转到 Google Cloud 控制台中的虚拟机实例页面。
点击要在其中安装代理的虚拟机的名称。详细信息页面会打开。
点击可观测性标签页。系统随即便会打开可观测性页面。
点击安装 Ops Agent。
点击在 Cloud Shell 中运行。Cloud Shell 会打开并粘贴安装命令。
按键盘上的 Enter 键以运行该命令。
点击授权以允许 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
修改以下配置文件(如果尚不存在,请创建该文件):
/etc/systemd/system.conf
将以下内容添加到该文件中:
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.
重新加载环境变量:
sudo systemctl daemon-reload
通过在虚拟机实例上运行以下命令来重启该代理。
sudo systemctl restart google-cloud-ops-agent.target
Windows
如果您使用的是 HTTP 代理,请通过管理员命令提示符运行以下命令。这样做可设置
HTTP_PROXY
和HTTPS_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 的版本,请在虚拟机实例上运行以下命令:
Google Cloud 控制台
如需查看虚拟机上 Ops Agent 的版本,请执行以下操作:
在 Monitoring 虚拟机实例页面的实例表中,找到虚拟机条目。如需了解导航信息,请参阅使用 Google Cloud 控制台安装代理。
将鼠标悬停在表条目中的 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
使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。
运行以下 PowerShell 命令:
Restart-Service google-cloud-ops-agent -Force
升级代理
要将 Ops Agen 升级到最新版本,请按以下说明操作:
Google Cloud 控制台
您可以使用 Cloud Monitoring 安装说明来升级 Ops Agent。如需了解详情,请参阅使用 Google Cloud 控制台安装代理。
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
如需升级到最新的代理版本,请执行以下操作:
使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
右键点击 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"
运行以下 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,请按照以下步骤操作:
使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
右键点击 PowerShell 图标并选择以管理员身份运行,以管理员权限打开 PowerShell 终端。
运行以下 PowerShell 命令:
googet -noconfirm remove google-cloud-ops-agent
没有远程软件包访问权限的虚拟机
安装 Ops Agen 时需要访问远程软件包代码库,以获得代理软件包及(在 Linux 上)其依赖项。
如果您使用的是 VPC-SC 或专用网络,则网络配置还可能会影响您能否从上游代码库安装代理依赖项。您可以使用专用 Google 访问通道来访问代理软件包本身。
如果虚拟机主机的安全政策拒绝访问远程软件包代码库,我们建议在预装代理的情况下创建自定义虚拟机映像,并在该映像中停用软件包管理。