使用 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 部分,选择安装适用于 Monitoring 和 Logging 的 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。如果 install 命令失败,那么请使用 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 控制台中,转到 信息中心页面:

    前往信息中心

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

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

    Apache 概览信息中心示例。

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

创建电子邮件通知渠道

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

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

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

创建提醒政策

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

  1. 在 Google Cloud 控制台中,转到 提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  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 控制台中,转到 提醒页面:

      进入提醒

      如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

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

后续步骤