安装 Stackdriver Logging 代理

Logging 代理可将日志从虚拟机实例和选定的第三方软件包流式传输到 Stackdriver Logging。最好在所有虚拟机实例上都运行 Logging 代理。

Compute Engine 和 Amazon Elastic Compute Cloud (EC2) 的虚拟机映像不包含 Logging 代理,因此您必须完成这些步骤才能在这些实例上安装该代理。该代理可在 Linux 和 Windows 上运行。

准备工作

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

  • Google Cloud Platform (GCP) 项目或 Amazon Web Services (AWS) 帐号中受支持的虚拟机实例

    • 安装 Logging 代理时,至少需要 250 MiB 的内存,但建议留出 1 GiB 可用内存。
  • 工作区,用于监控此虚拟机实例所在的 AWS 帐号。如需了解价格信息,请转到 Stackdriver 价格

  • 虚拟机实例上授权与 Stackdriver 进行通信的凭据。默认情况下,Compute Engine 虚拟机实例通常具有正确的凭据。如果您属于以下任一种情况,则说明您可能没有正确的凭据,必须完成为代理授权过程:

    • 运行 AWS EC2 虚拟机实例时,您必须先在虚拟机上安装授权凭据,然后才能安装代理。

    • 运行非常旧的 Compute Engine 实例或者在未使用默认凭据的情况下创建的 Compute Engine 实例。

    要检查您是否具有正确的凭据,请运行验证 Compute Engine 凭据过程。

适用于 AWS EC2 虚拟机实例的 GCP 项目

Stackdriver 文档通常指与虚拟机实例相关联的 GCP 项目。对于 EC2 虚拟机实例,此短语指的是与您的 AWS 帐号关联的 AWS 连接器项目

在您将自己的 AWS 帐号与工作区关联时,Stackdriver 会创建 AWS 连接器项目。连接器项目具有以下属性:

  • AWS Link 开头的名称

  • aws- 开头的 ID

    此 ID 为与您的虚拟机实例关联的 GCP 项目的 ID

如需详细了解 AWS 连接器项目,请参阅工作区页面

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

安装 Logging 代理时需要访问远程软件包代码库,以获得代理软件包及其依赖项(在 Linux 上)。如果虚拟机主机的安全政策拒绝访问远程软件包代码库,我们建议在预装代理的情况下创建自定义虚拟机映像,并在该映像中停用软件包管理。

在 Linux 和 Windows 上安装

要在运行 Linux 或 Microsoft Windows 的虚拟机实例上安装代理,请按以下说明操作。

如果您要尝试启用结构化日志记录,请参阅结构化日志记录安装说明

LINUX

  1. 使用 SSH 或类似工具打开连到虚拟机实例的终端连接。

  2. 在虚拟机实例上运行以下命令以安装代理:

    curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
    sudo bash install-logging-agent.sh
    
  3. 如果您使用的是 HTTP 代理,请执行以下操作:

    1. 修改以下文件:

           /etc/default/google-fluentd
      
    2. 添加以下几行内容:

           export http_proxy="http://<PROXY_IP>:<PROXY_PORT>"
           export https_proxy="http://<PROXY_IP>:<PROXY_PORT>"
           export no_proxy=169.254.169.254  # Skip proxy for the local Metadata Server.
      
    3. 通过在虚拟机实例上运行以下命令来重启 Logging 代理。

           sudo service google-fluentd restart
      

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

WINDOWS

要在运行 Windows 的虚拟机实例上安装代理,请执行以下步骤:

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

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

    setx http_proxy http://<PROXY_IP>:<PROXY_PORT> /m
    setx https_proxy http://<PROXY_IP>:<PROXY_PORT> /m
    setx no_proxy 169.254.169.254 /m
    
  3. 打开 PowerShell 终端,然后运行以下 PowerShell 命令。您不需要具备管理员权限。

    cd $env:UserProfile;
    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-9.exe", ".\StackdriverLogging-v1-9.exe")
    .\StackdriverLogging-v1-9.exe
    

    或者,您可以转到以下网址以下载并运行代理的安装程序:

    https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-9.exe

    要以静默方式安装代理,请将 /S 选项附加到安装程序的调用命令中:

    .\StackdriverLogging-v1-9.exe /S
    

    在“静默”模式下,请使用 /D 选项指定安装目录,例如:

    .\StackdriverLogging-v1-9.exe /S /D="C:\Stackdriver\Logging\"
    

    您可以在安装程序成功完成安装后将其删除。

可选任务

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

配置代理

代理会进行预先配置,以监控某些已知的日志位置。在 Linux 上,这些位置在由安装脚本自动提取的 google-fluentd-catch-all-config 软件包中进行描述。在 Windows 上,代理默认监控 Windows 事件日志。如果要调整代理配置,请参阅配置 Logging 代理

确定代理版本

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

DEBIAN 或 UBUNTU

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

dpkg-query --show --showformat \
    '${Package} ${Version} ${Architecture} ${Status}\n' \
     google-fluentd \
     google-fluentd-catch-all-config \
     google-fluentd-catch-all-config-structured

AMAZON LINUX、RED HAT 或 CENTOS

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

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-fluentd \
     google-fluentd-catch-all-config \
     google-fluentd-catch-all-config-structured

SUSE

在 SUSE 上运行以下命令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-fluentd \
     google-fluentd-catch-all-config \
     google-fluentd-catch-all-config-structured

WINDOWS

在 Windows 上运行以下命令:

reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GoogleStackdriverLoggingAgent\ /v Version

重启代理

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

LINUX

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

 sudo service google-fluentd restart

重启 Logging 代理后,您可能需要发送测试消息

WINDOWS

需要管理员权限:要重启代理,请在您的虚拟机实例上使用 PowerShell 运行以下命令:

Restart-Service -Name StackdriverLogging

升级代理

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

DEBIAN 或 UBUNTU

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

sudo apt-get update
sudo apt-get install --only-upgrade google-fluentd

之前的命令不会更改代理的配置文件。要获取最新的默认配置和内容全面的配置文件,请在您的实例上运行以下命令:

sudo apt-get install --only-upgrade -o Dpkg::Options::="--force-confnew" google-fluentd-catch-all-config
sudo apt-get install --only-upgrade google-fluentd

AMAZON LINUX、RED HAT 或 CENTOS

在 Amazon Linux、Red Hat 或 CentOS Linux 上以下命令:

sudo yum upgrade google-fluentd

上一个命令不会更改代理的配置文件。要获取最新的默认配置和内容全面的配置文件,请在您的实例上运行以下命令:

sudo yum upgrade google-fluentd google-fluentd-catch-all-config

SUSE

在 SUSE 上运行以下命令:

sudo zypper update google-fluentd

上一个命令不会更改代理的配置文件。要获取最新的默认配置和内容全面的配置文件,请在您的实例上运行以下命令:

sudo zypper update google-fluentd google-fluentd-catch-all-config

WINDOWS

要升级到最新的代理版本,请按照此页面上在 Windows 上安装部分的说明安装最新代理。安装程序会提示您卸载以前的代理版本。

卸载代理

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

DEBIAN 或 UBUNTU

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

sudo service google-fluentd stop
sudo apt-get remove google-fluentd google-fluentd-catch-all-config

AMAZON LINUX、RED HAT 或 CENTOS

在 Amazon Linux、Red Hat 或 CentOS Linux 上以下命令:

sudo service google-fluentd stop
sudo yum remove google-fluentd google-fluentd-catch-all-config

SUSE

在 SUSE Linux 上运行以下命令:

sudo service google-fluentd stop
sudo zypper remove google-fluentd google-fluentd-catch-all-config

WINDOWS

在 Windows 控制面板中,选择卸载程序。您应该会在可卸载的程序列表中看到 Logging 代理

问题排查

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

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Logging 文档