使用 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

创建虚拟机实例

  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. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.
  2. 删除您创建的提醒政策:

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

      进入提醒

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

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

后续步骤