使用 Ops Agent 收集 Apache Web 服务器指标

了解如何使用 Ops Agent 从安装在 Compute Engine 虚拟机 (VM) 实例上的 Apache Web 服务器收集和监控指标:

  1. 创建 Compute Engine 虚拟机实例并安装 Ops Agent
  2. 安装 Apache Web 服务器。
  3. 为 Apache Web 服务器配置 Ops Agent。
  4. 为 Apache Web 服务器生成流量。
  5. 查看预定义的 Apache 信息中心的指标。
  6. 创建提醒政策。
  7. 测试提醒政策。
  8. 清理。

如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示

操作演示


准备工作

  1. 您的组织定义的安全限制条件可能会导致您无法完成以下步骤。如需了解相关问题排查信息,请参阅在受限的 Google Cloud 环境中开发应用

  2. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  3. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  4. 确保您的 Google Cloud 项目已启用结算功能

  5. 启用 Compute Engine, Cloud Monitoring, and Cloud Logging API。

    启用 API

  6. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  7. 确保您的 Google Cloud 项目已启用结算功能

  8. 启用 Compute Engine, Cloud Monitoring, and Cloud Logging API。

    启用 API

创建虚拟机实例

  1. 在 Google Cloud 控制台的导航面板中,选择 Compute Engine,然后选择虚拟机实例

    前往虚拟机实例

  2. 点击创建实例,创建一个虚拟机。

  3. 名称字段中,输入一个描述性名称。
  4. 机器类型字段中,选择 e2-small
  5. 启动磁盘部分,保留 Debian GNU/Linux 的默认设置。
  6. 防火墙部分中,选择允许 HTTP 流量允许 HTTPS 流量
  7. 可观测性 - Ops Agent 部分中,选择为监控和日志记录安装 Ops Agent
  8. 点击创建

安装 Apache Web 服务器

如需在 Compute Engine 虚拟机实例上安装 Apache Web 服务器,请执行以下操作:

  1. 虚拟机实例页面上,找到新虚拟机,转到连接列,然后点击 SSH

    连接时遇到了问题?请参阅排查 SSH 问题

  2. 如需更新软件包列表,请将以下命令复制到剪贴板,将该命令粘贴到 SSH 终端,然后按 Enter 键:

    sudo apt-get update
    
  3. 当您看到“正在读取软件包列表...”消息后完成”后,在 SSH 终端中运行以下命令以安装 Apache2 Web 服务器:

    sudo apt-get install apache2 php7.0
    

    当系统要求您继续安装时,请输入 Y。如果安装命令失败,请使用 sudo apt-get install apache2 php

  4. 命令提示符返回时,转到虚拟机实例页面,然后将虚拟机的外部 IP 地址复制到以下网址:

    http://EXTERNAL_IP
    
  5. 如需连接到 Apache Web 服务器,请打开新的浏览器标签页,然后输入上一步中的网址。

    Web 服务器安装成功后,浏览器标签页将显示 Apache2 Debian 默认页面。

    显示 Apache2 默认页面。

收集 Apache Web 服务器日志和指标

在以下步骤中,您将配置 Ops Agent 以从 Apache Web 服务器收集日志和指标:
  1. 转到虚拟机实例的 SSH 终端。如果您没有打开终端,请执行以下操作:

    1. 在 Google Cloud 控制台的导航面板中,选择 Compute Engine,然后选择虚拟机实例

      前往虚拟机实例

    2. 找到新的虚拟机,然后点击 SSH

  2. 复制以下命令,并将其粘贴到您的实例的终端,然后按 Enter 键:

    # Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
    
    set -e
    
    # Create a back up of the existing file so existing configurations are not lost.
    sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
    
    # Configure the Ops Agent.
    sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
    metrics:
      receivers:
        apache:
          type: apache
      service:
        pipelines:
          apache:
            receivers:
              - apache
    logging:
      receivers:
        apache_access:
          type: apache_access
        apache_error:
          type: apache_error
      service:
        pipelines:
          apache:
            receivers:
              - apache_access
              - apache_error
    EOF
    
    sudo service google-cloud-ops-agent restart
    sleep 60
    

    上述命令会创建用于从 Apache Web 服务器收集和注入日志和指标的配置。如需了解详情,请参阅为 Apache Web 服务器配置 Ops Agent

  3. 等待命令提示符显示,这至少需要 60 秒。

增加流量

如需为 Apache Web 服务器生成流量,请执行以下操作:

  1. 转到虚拟机实例的 SSH 终端。 如果您没有打开终端,请执行以下操作:

    1. 在 Google Cloud 控制台的导航面板中,选择 Compute Engine,然后选择虚拟机实例

      前往虚拟机实例

    2. 找到新的虚拟机,然后点击 SSH

  2. 在 SSH 终端中运行以下命令,这将生成发送到 Apache Web 服务器的请求:

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
  3. 等待两分钟,直到命令提示符返回或终端关闭。命令运行时,HTML 文本会显示在终端中。

查看 Apache 指标

如需查看自动创建的 Apache 概览信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  信息中心

    前往信息中心

  2. 所有信息中心窗格中,从列表中选择 Apache 概览信息中心。

    Apache 概览信息中心的示例。

您已将 Ops Agent 配置为从 Apache Web 服务器收集日志和指标,并且已查看这些指标。下一步是创建提醒政策,以便在 Apache Web 服务器上的负载超过阈值时收到通知。

创建电子邮件通知渠道

在创建提醒政策之前,请配置您希望提醒政策使用的通知渠道。Cloud Monitoring 支持许多不同类型的通知渠道,包括电子邮件、Slack、PagerDuty 和 Pub/Sub。如需了解详情,请参阅创建和管理通知渠道。 若要通过电子邮件接收通知,请执行以下操作:
  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  提醒

    进入提醒

  2. 在工具栏中,点击 Edit Notification Channel
  3. 通知渠道页面,滚动到电子邮件,然后点击新增
  4. 输入您的电子邮件地址和显示名称(例如 My email),然后点击 Save

创建提醒政策

在本部分中,您将创建提醒政策,以便在传入 Apache Web 服务器的流量超过定义的阈值时收到通知:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  提醒

    进入提醒

  2. 点击创建政策
  3. 选择要监控的时序:

    1. 点击选择指标,然后选择虚拟机实例
    2. 活跃指标类别列表中,选择 Apache
    3. 活跃指标列表中,选择 workload/apache.traffic
    4. 点击应用

    系统随即会显示 Apache 流量的图表。

  4. 转到配置触发器字段,然后将阈值字段设置为 1500

    图表会以虚线形式显示阈值。确保虚线远低于峰值流量水平。

  5. 转到通知和名称字段,然后使用通知渠道菜单选择您的电子邮件地址。

  6. 输入 Apache traffic above threshold 作为政策名称。

  7. 转到查看提醒字段,查看提醒政策,然后点击创建政策

测试提醒政策

要测试提醒政策,请生成超过阈值的流量:

  1. 转到虚拟机实例的 SSH 终端。 如果您没有打开终端,请执行以下操作:

    1. 在 Google Cloud 控制台的导航面板中,选择 Compute Engine,然后选择虚拟机实例

      前往虚拟机实例

    2. 找到新的虚拟机,然后点击 SSH

  2. 在 SSH 终端中运行以下命令,这将生成发送到 Apache Web 服务器的请求:

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
  3. 等待两分钟,直到命令提示符返回或终端关闭。命令运行时,HTML 文本会显示在终端中。
  4. 命令提示符返回时,请查看电子邮件中主题行以 [ALERT] 开头的邮件。

    如果您没有看到电子邮件,请检查提醒政策上的图表,以验证流量级别是否超过阈值。您可能需要再次运行上一个命令。否则,请等待一两分钟,以便电子邮件送达。

    通知提供了提醒政策的摘要和指向突发事件的链接。每个突发事件都包含失败记录,这些信息在排查问题时通常很有用。

    Apache 流量提醒政策的电子邮件通知。

您已将 Ops Agent 配置为从 Apache Web 服务器收集日志和指标,但您已经查看了指标。如需了解如何查看 Apache Web 服务器日志,请参阅快速入门:查看 Apache Web 服务器日志

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

如果您创建了一个新项目,但不再需要该项目,请删除项目

如果您使用了现有项目,请执行以下操作:

  1. 如果您创建了虚拟机,请将其删除:

    1. 在 Google Cloud 控制台中,转到虚拟机实例页面。

      转到“虚拟机实例”

    2. 选中要删除的实例。
    3. 如需删除实例,请点击更多操作,点击删除,然后按照说明操作。
  2. 删除您创建的提醒政策:

    1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  提醒

      进入提醒

    2. 选择您创建的提醒政策,然后点击删除

后续步骤