本文档介绍了如何配置 Google Cloud Observability,以便您可以查看已在 App Hub 中注册的应用的遥测数据。您可以部署应用,然后在 App Hub 中注册,也可以使用 App Design Center 部署应用。应用监控可帮助您了解应用、服务和工作负载的性能。
准备工作
确定您要配置可观测性范围的项目。此项目是您的 App Hub 宿主项目或已启用应用的文件夹的管理项目。例如,如果文件夹的显示名称为
My Folder
,则管理项目的显示名称为My Folder-mp
。确保您拥有必要的 Identity and Access Management (IAM) 角色,以配置可观测性范围。所需的 IAM 角色取决于您是否计划创建汇总接收器,可让您集中存储日志数据。
配置接收器和范围
如需获得配置可观测性范围和创建汇总日志接收器所需的权限,请让您的管理员为您授予贵组织的 Organization Administrator (
roles/resourcemanager.organizationAdmin
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。仅配置范围
如需获得配置可观测性范围所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
App Hub 宿主项目或已启用应用的文件夹的管理项目的 Observability Editor 角色 (
roles/observability.editor
) -
App Hub 宿主项目或已启用应用的文件夹的管理项目的 Logs Configuration Writer 角色 (
roles/logging.configWriter
) -
App Hub 宿主项目或已启用应用的文件夹的管理项目以及要添加到指标范围的每个项目的 Monitoring admin 角色 (
roles/monitoring.admin
) -
App Hub 宿主项目或已启用应用的文件夹的管理项目的 Cloud Trace User 角色 (
roles/cloudtrace.user
) -
App Hub 宿主项目或已启用应用的文件夹的管理项目的 App Hub viewer 角色 (
roles/apphub.viewer
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
App Hub 宿主项目或已启用应用的文件夹的管理项目的 Observability Editor 角色 (
配置可观测性范围
可观测性范围用于控制探索器和信息中心页面如何搜索要显示的数据。每个 Google Cloud 项目都包含一个可观测性范围。 您无法直接配置项目的可观测性范围。而是为您的项目配置以下内容:
默认日志范围
配置此范围,以便在您打开 Logs Explorer 页面或查看信息中心时,系统显示应用的日志数据。请确保此范围列出了存储应用日志数据的项目和日志视图。
指标范围
配置此范围,以便您的图表(例如,您使用 Metrics Explorer 页面创建的图表)和提醒政策可以显示或监控应用的指标数据。确保此范围列出了存储应用指标数据的项目。
默认跟踪范围
配置此范围,以便在您打开 Trace 探索器页面时,系统会显示应用的跟踪记录数据。确保此范围列出了存储应用的跟踪记录数据的项目。
本部分的其余内容提供了有关如何配置这些范围的指导。
配置并设置默认日志范围
执行下列其中一项操作:
如果您有一个组织级汇总接收器,用于将贵组织中的所有日志数据路由到集中式日志存储桶,那么我们建议您执行以下操作:
如果您使用的是已启用应用的文件夹,并且没有组织级汇总接收器或嵌套文件夹,我们建议您执行以下操作:
如果您不使用汇总接收器,请为 App Hub 宿主项目或已启用应用的文件夹的管理项目配置默认日志范围,以列出应用日志数据的存储位置。我们建议您在存储日志数据的日志存储桶中添加日志视图。
例如,假设您配置了已启用应用的文件夹,并且未使用汇总接收器。然后,您可以执行以下操作:
- 在管理项目中,您可以创建日志范围。
您需要为文件夹中的每个项目(包括管理项目)向日志范围添加一个日志视图。
您添加的视图是项目
_Default
日志存储桶中的_AllLogs
视图。此视图包含_Default
日志存储桶中的所有日志,而_Default
日志存储桶会存储您的应用日志数据。完成此步骤后,日志范围可能会包含以下类似的条目:
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folder
您可以保存日志范围,并将其设置为默认日志范围。
配置指标范围
确保 App Hub 宿主项目或已启用应用的文件夹的管理项目的指标范围列出了存储应用指标数据的所有项目:
对于已启用应用的文件夹,Google Cloud Observability 会尝试将已启用应用的文件夹中的项目列表与指标范围内的项目列表同步。例如,如果您将项目添加到已启用应用的文件夹,系统会发出命令将该项目添加到指标范围。
如果已启用应用的文件夹中的项目数量不超过指标范围配额(默认为每个指标范围 375 个项目),Google Cloud Observability 便可让指标范围内的项目列表与已启用应用的文件夹中的项目列表同步。例如,假设配额为每个指标范围 375 个项目。如果已启用应用的文件夹包含 100 个项目,则指标范围会列出已启用应用的文件夹中的所有项目。如果您将项目添加到已启用应用的文件夹,则系统会将其添加到指标范围。
如果已启用应用的文件夹中的项目数量超过指标范围配额,则指标范围内的项目列表将不包含已启用应用的文件夹中的所有项目。例如,假设每个指标范围的配额为 375 个项目,并且已启用应用的文件夹包含 380 个项目。将 375 个项目添加到指标范围后,配额将用尽,添加剩余 5 个项目的尝试将失败。因此,您的管理项目无法使用某些应用数据。
我们建议您查看指标范围配额的用量,并确定您是否需要请求更新配额或手动修改指标范围。如需了解这些步骤,请参阅已启用应用的文件夹的指标范围。
对于 App Hub 宿主项目,您必须配置宿主项目的指标范围。
如果您更改存储指标数据的项目集,则还必须更新宿主项目的指标范围。
配置和设置默认跟踪范围
执行以下操作:
在 App Hub 宿主项目或已启用应用的文件夹的管理项目中,创建跟踪范围,并添加用于存储应用跟踪数据的项目。如果您使用的是已启用应用的文件夹,请添加该文件夹中的项目。
将自定义跟踪范围设置为默认跟踪范围。
将提醒政策与 App Hub 应用相关联
如需从应用监控的上下文中查看提醒政策,您必须通过向提醒政策添加应用专用标签,将提醒政策与服务或工作负载关联。这些用户定义的标签也会包含在为政策创建的任何突发事件中。 如需详细了解标签,请参阅使用标签为突发事件添加注解。 如需查看 App Hub 标签列表,请参阅查看应用遥测数据。
如需使用 Google Cloud 控制台将提醒政策与工作负载或服务相关联,请执行以下操作:
-
在 Google Cloud 控制台中,前往 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在Google Cloud 控制台的工具栏中,选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
- 找到提醒政策,点击 more_vert 查看更多,选择修改,然后前往通知和名称部分。
- 在应用标签部分中,选择应用,然后选择工作负载或服务。
- 点击保存政策。
完成这些步骤后,系统会将具有以下键的标签附加到提醒政策。这些标签用于标识应用以及服务或工作负载:
apphub_application_location
apphub_application_id
apphub_service_id
或apphub_workload_id
您还可以使用 Google Cloud CLI、Terraform 或 Cloud Monitoring API 向提醒政策添加用户标签。但是,您必须使用前面的示例中所示的标签键。详情请参阅以下内容:
授予访问权
IAM 管理对日志、指标和跟踪记录数据的访问权限。本部分汇总了您可能希望授予主账号的角色:
App Hub 宿主项目或已启用应用的文件夹的管理项目的默认日志范围内列出的日志视图的 Logs View Accessor 角色 (
roles/logging.viewAccessor
)。 如需详细了解如何授予对日志视图的访问权限,请参阅控制对日志视图的访问权限。App Hub 宿主项目或已启用应用的文件夹的管理项目以及默认日志范围内列出的任何其他项目的 Logs Viewer 角色 (
roles/logging.viewer
)。此角色可授予对_Default
日志存储桶中大多数日志条目的访问权限。 如需了解详情,请参阅 Logging 角色。App Hub 宿主项目或已启用应用的文件夹的管理项目的 Monitoring Editor 角色 (
roles/monitoring.editor
)。 对于不需要创建提醒政策的主账号,请考虑授予 Monitoring Viewer 角色 (roles/monitoring.viewer
)。App Hub 宿主项目或已启用应用的文件夹的管理项目以及默认跟踪记录范围内列出的项目的 Cloud Trace User 角色 (
roles/cloudtrace.user
)。App Hub 宿主项目或已启用应用的文件夹的管理项目的 App Hub Viewer 角色 (
roles/apphub.view
)。