查询和查看日志

日志收集器从各种项目组件提取数据后,可观测性平台会汇总来自所有日志来源的日志,添加索引,并根据数据可观测性配置将日志与标签相关联。然后,您可以在系统监控实例的日志面板上查询和查看日志。

在日志面板中查询和查看日志

您可以通过项目的项目的系统监控实例。 系统监控实例包含项目级措施,用于监控基础设施组件,例如 CPU 利用率、存储空间消耗、网络监控、服务器监控、日志、提醒以及来自 GDC 组件的指标。

您可以在项目的系统监控实例的日志面板中查看日志。然后,您可以进行查询,以查看特定日志,从而实现数据可观测性,满足您的使用情形需求。

准备工作

在日志面板上查询和查看日志之前,您必须获得对系统监控实例的访问权限。如需了解详情,请参阅获取信息中心访问权限

如需在 Grafana 中登录并查看日志,请让您的项目 IAM 管理员为您授予 Project Grafana Viewer (project-grafana-viewer) 角色。借助此基于角色的访问权限控制流程,您可以安全地访问数据可视化图表。

为日志构建查询

通过系统监控实例的界面查询日志,您可以选择数据源以检索项目的运营日志,并获得查询的集成视图。如需过滤结果,请使用查询语言表达式按标签搜索日志。例如,您可以在查询中将 clusternamespace 标签分别设置为标识集群和项目命名空间的值。

系统监控实例端点

对于应用运营商 (AO)

以下网址是项目的监控实例的端点:

https://GDC_URL/PROJECT_NAMESPACE/grafana

替换以下内容:

  • GDC_URL:您组织在 GDC 中的网址。
  • PROJECT_NAMESPACE:项目的命名空间。

对于平台管理员 (PA)

以下网址是项目的监控实例的端点:

https://GDC_URL/platform-obs/grafana

GDC_URL 替换为您组织在 GDC 中的网址。

查询运维日志

  1. 在 GDC 控制台中,选择一个项目。
  2. 在导航菜单中,依次点击操作 > 日志记录
  3. 点击 View all in Grafana Loki

    系统会打开一个新页面,其中包含项目的监控实例的网址

  4. 在监控实例的界面上,依次点击导航菜单中的探索 探索,打开探索页面。

  5. 探索栏的下拉菜单中选择操作日志作为数据源,以检索操作日志。

  6. 输入查询,使用 LogQL(日志查询语言)表达式按标签搜索日志。您可以通过以下任一方式执行此步骤:

    • 使用交互式查询构建器界面。然后,点击运行查询
    • 直接在文本字段中使用 LogQL 表达式输入查询,然后按 Shift+Enter 运行查询。

    该页面会显示与您的查询匹配的日志。

查询日志后,您可以导出日志。点击导出,以纯文本或 CSV 格式下载日志。

在界面“探索”页面上选择“操作日志”选项,以获取操作日志。

图 1. 用于从系统监控实例的界面查询日志的菜单选项。

在图 1 中,操作日志选项会显示一个界面,您可以在其中通过界面构建日志查询来检索操作日志。

如需查询审核日志而非运营日志,请在上一步的探索栏中,从下拉菜单中选择审核日志作为数据源。

在界面“探索”页面上选择“审核日志”选项以获取审核日志。

图 2. 用于从监控实例的界面查询审核日志的菜单选项。

在图 2 中,审核日志选项显示了一个界面,您可以在其中通过界面构建查询来检索审核日志。

查询日志后,您可以导出日志。点击导出按钮,以纯文本或 CSV 格式下载日志。

如需检索操作日志,请完成以下步骤:

  1. 在 GDC 控制台中,选择一个项目。
  2. 在导航菜单中,依次点击操作 > 日志记录
  3. 点击 View all in Grafana Loki

    系统会打开一个新页面,其中包含项目的监控实例的网址

  4. 在监控实例的界面上,依次点击导航菜单中的探索 探索,打开探索页面。

  5. 探索栏的下拉菜单中选择操作日志作为数据源,以检索操作日志。

  6. 输入查询,使用 LogQL(日志查询语言)表达式按标签搜索日志。您可以通过以下任一方式执行此步骤:

    • 使用交互式查询构建器界面。然后,点击运行查询
    • 直接在文本字段中使用 LogQL 表达式输入查询,然后按 Shift+Enter 运行查询。

    该页面会显示与您的查询匹配的日志。

查询日志后,您可以导出日志。点击导出,以纯文本或 CSV 格式下载日志。

查询审核日志

如需检索审核日志,请完成以下步骤:

  1. 在 GDC 控制台中,选择一个项目。
  2. 在导航菜单中,依次点击操作 > 审核日志记录
  3. 点击 View all in Grafana Loki

    系统会打开一个新页面,其中包含项目的监控实例的网址

  4. 在监控实例的界面上,依次点击导航菜单中的探索 探索,打开探索页面。

  5. 探索栏的下拉菜单中,选择审核日志作为数据源来检索审核日志。

  6. 输入查询,使用 LogQL(日志查询语言)表达式按标签搜索日志。您可以通过以下任一方式执行此步骤:

    • 使用交互式查询构建器界面。然后,点击运行查询
    • 直接在文本字段中使用 LogQL 表达式输入查询,然后按 Shift+Enter 运行查询。

    该页面会显示与您的查询匹配的日志。

查询日志后,您可以导出日志。点击导出,以纯文本或 CSV 格式下载日志。

为日志选择时间范围

如需在监控实例的界面中查询某个时间范围内的日志,请按以下步骤操作:

  1. 点击 Time Picker 下拉菜单。

  2. 在菜单中,执行以下操作之一:

    • 选择相对时间范围选项,例如“过去 30 分钟”。
    • 如需设置自定义绝对时间范围,请从日历中选择具体日期和时间,然后点击应用时间范围
  3. (可选)点击更改时间设置,以通过时间范围控件更改时区会计年度设置。

时间设置是按信息中心保存的。如需详细了解如何查询某个时间范围内的数据,请参阅 https://grafana.com/docs/loki/latest/reference/api/#query-loki-over-a-range-of-time

示例查询和标签

以下是一些可用于查询日志的默认标签:

  • cluster:集群的名称。
  • resources:资源列表
  • namespace:您的项目命名空间
  • node:节点名称前缀
  • pod:Pod 名称前缀
  • container:容器名称前缀

下表介绍了可用于查询 Observability 平台中的日志的各个默认标签:

日志标签
日志类型 标签
Kubernetes 容器日志 cluster CLUSTER_NAME
resources k8s_containerk8s_audit
namespace NAMESPACE_NAME
node NODE_NAME
pod POD_NAME
container CONTAINER_NAME
其他 Kubernetes 标签
节点 journald 日志 cluster CLUSTER_NAME
resources k8s_node
node NODE_NAME
identifier SYSLOG_IDENTIFIER
machine MACHINE_ID

查询使用 LogQL 查询语言 https://grafana.com/docs/loki/latest/logql/。 以下代码示例展示了如何使用标签和值查询不同的日志:

  • 选择项目中的所有日志:

    {cluster="user-vm-1-cluster", namespace="PROJECT_NAMESPACE"}
    

    PROJECT_NAMESPACE 替换为项目的命名空间。

  • 选择来自服务的项目日志:

    {cluster="user-vm-1-cluster", namespace="PROJECT_NAMESPACE", container="my-service"}
    

    PROJECT_NAMESPACE 替换为项目的命名空间。

  • 选择 Kubernetes API 服务器日志:

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    
  • 选择集群引导日志:

    {cluster="admin", namespace="PROJECT_NAMESPACE"}
    

    PROJECT_NAMESPACE 替换为您的项目命名空间名称。例如 cluster-user-test

  • 选择节点 journald 日志:

    {cluster="admin", resources="k8s_node"}
    
  • 选择集群审核日志:

    {cluster="admin", resources="k8s_audit"}