使用 Ops Agent 从 Apache 收集日志
了解如何使用 Ops Agent 收集和查看从安装在 Compute Engine 虚拟机 (VM) 实例上的 Apache Web 服务器收集的 syslog
日志。您可以使用与本快速入门中类似的流程来监控其他第三方应用。
在本快速入门中,您会执行以下操作:
- 创建 Compute Engine 虚拟机实例并安装 Ops Agent。
- 安装 Apache Web 服务器。
- 为 Apache Web 服务器配置 Ops Agent。
- 在日志浏览器中查看日志。
- 创建基于日志的提醒。
- 测试您的提醒。
- 清理。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
-
您的组织定义的安全限制条件可能会导致您无法完成以下步骤。如需了解相关问题排查信息,请参阅在受限的 Google Cloud 环境中开发应用。
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.
创建虚拟机实例
-
在 Google Cloud 控制台中,转到虚拟机实例页面:
如果您使用搜索栏查找此页面,请选择子标题为 Compute Engine 的结果。
通过点击创建实例创建一个虚拟机。
- 在
名称 字段中,输入一个描述性名称。 - 在
机器类型 字段中,选择 e2-small。 - 在
启动磁盘 部分,保留 Debian GNU/Linux 的默认设置。 - 在
防火墙 部分,同时选择允许 HTTP 流量和允许 HTTPS 流量。 - 在可观测性 - Ops Agent 部分,选择安装适用于 Monitoring 和 Logging 的 Ops Agent。
- 点击
创建 。
安装 Apache Web 服务器
如需在 Compute Engine 虚拟机实例上安装 Apache Web 服务器,请执行以下操作:
在虚拟机实例页面上,找到新虚拟机,转到连接列,然后点击 SSH。
连接时遇到了问题?请参阅排查 SSH 问题。
如需更新软件包列表,请将以下命令复制到剪贴板,将该命令粘贴到 SSH 终端,然后按 Enter 键:
sudo apt-get update
看到消息“正在读取软件包列表...完成”后,在 SSH 终端中运行以下命令来安装 Apache2 Web 服务器:
sudo apt-get install apache2 php7.0
如果系统要求您继续安装,请输入
Y
。如果 install 命令失败,那么请使用sudo apt-get install apache2 php
。命令提示符返回时,转到虚拟机实例页面,然后将虚拟机的外部 IP 地址复制到以下网址:
http://EXTERNAL_IP
如需连接到 Apache Web 服务器,请打开新的浏览器标签页,然后输入上一步中的网址。
Web 服务器安装成功后,浏览器标签页将显示 Apache2 Debian 默认页面。
收集 Apache Web 服务器日志和指标
在这些步骤中,您将配置 Ops Agent 从您的 Apache Web 服务器收集日志和指标:转到虚拟机实例的 SSH 终端。如果您没有打开终端,请执行以下操作:
-
在 Google Cloud 控制台中,转到虚拟机实例页面:
如果您使用搜索栏查找此页面,请选择子标题为 Compute Engine 的结果。
- 找到新的虚拟机,然后点击 SSH。
-
将以下命令复制并粘贴到您的实例的终端,然后按 Enter 键:
上一条命令会创建用于从 Apache Web 服务器收集和提取日志和指标的配置。如需了解详情,请参阅为 Apache Web 服务器配置 Ops Agent。
- 等待命令提示符显示,这至少需要 60 秒。
查看 Apache Web 服务器日志
如需在 Google Cloud 控制台中查看日志,请使用日志浏览器:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
最近的日志会显示在查询结果窗格中。
在工具栏中,确保已启用显示查询。
如需查看 Apache Web 服务器日志,请创建并运行查询:
在 Google Cloud 项目选择器中展开 Google Cloud 项目列表,然后将 Google Cloud 项目 ID 复制到剪贴板。
在以下表达式中,将复制的 ID 粘贴到 PROJECT_ID 字段中,然后将表达式复制到查询编辑器中:
resource.type="gce_instance" logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")
运行上面的查询时,系统只会显示
apache_access
和apache_error
日志条目。点击
运行查询 。查询结果会显示在查询结果窗格中。
您已将 Ops Agent 配置为从 还查看了这些日志下一步是 创建提醒政策,以便在出现特定格式时 会显示在日志中。
创建电子邮件通知渠道
在创建提醒政策之前,请先配置要让提醒政策使用的通知渠道。Cloud Monitoring 支持许多不同类型的通知 包括电子邮件、Slack、PagerDuty 和 Pub/Sub。如需了解详情,请参阅 创建和管理通知渠道。 如需通过电子邮件接收通知,请执行以下操作:-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在工具栏中,点击编辑通知渠道。
- 在通知渠道页面中,滚动到
电子邮件 ,然后点击新增。 - 输入您的电子邮件地址和显示名称(如
My email
),然后点击保存。
创建基于日志的提醒
如需在日志条目中出现特定消息时收到通知,请创建基于日志的提醒。在本部分中,您将创建一个基于日志的提醒,
当日志条目中出现 404 Not Found
消息时通知我。
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在查询结果工具栏中,点击 add_alert 创建提醒。系统会打开基于日志的提醒政策窗格。
在提醒详细信息的提醒政策名称字段中,输入
404 Not Found
。在选择要包含在此提醒中的日志中,执行以下操作:
- 移除日志过滤条件文本框中的所有内容。
将以下查询复制并粘贴到日志过滤条件文本框中:
severity>=DEFAULT /help httpRequest.status=404
上一个日志过滤条件会搜索
severity
级别至少为DEFAULT
、包含文本/help
且httpRequest
状态为404
的日志条目。
在设置通知频率和自动关闭时长部分,执行以下操作:
- 将通知之间的时间间隔字段设置为 5 分钟。
- 将突发事件自动关闭时长字段设置为 30 分钟。
在应该收到通知的用户中,从通知渠道菜单中选择您的电子邮件地址,然后点击保存。
测试提醒政策
如需测试提醒政策,请执行以下操作:
转到虚拟机实例的 SSH 终端。如果您没有打开终端,请执行以下操作:
-
在 Google Cloud 控制台中,转到虚拟机实例页面:
如果您使用搜索栏查找此页面,请选择子标题为 Compute Engine 的结果。
- 找到新的虚拟机,然后点击 SSH。
-
如需在服务器上搜索虚构页面
localhost/help
,请运行以下命令:curl localhost/help
在终端显示
404 Not Found
消息后,系统将会发送电子邮件通知。此过程需要几分钟才能完成。您收到的电子邮件通知类似于以下内容:
如需查看新的日志条目,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 在工具栏中,点击跳至现在。
-
您已将 Ops Agent 配置为从 Apache Web 服务器收集日志和指标,但您只查看了日志。如需了解如何查看 Apache Web 服务器指标,请参阅使用 Ops Agent 收集 Apache Web 服务器指标:生成流量。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
如果您创建了一个新项目,但不再需要该项目,请删除该项目。
如果您使用的是现有项目,请执行以下操作:
如果您创建了虚拟机,请将其删除:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
删除您创建的提醒政策:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 选择您创建的提醒政策,然后点击
删除 。
-
后续步骤
如需了解 Ops Agent 和支持的集成,请参阅:
如需了解如何在 Logs Explorer 中查看日志,请参阅使用 Logs Explorer 查看日志。
如需了解如何在日志浏览器中进行查询,请参阅 在日志浏览器中构建查询。
如需了解如何收集和查看 Apache Web 服务器指标, 查看快速入门 使用 Ops Agent 收集 Apache Web 服务器指标。
如需详细了解 Monitoring 及其与 Cloud Logging 的关系,请参阅 Monitoring。