日志记录和监控

监控信息中心

您可以从管理中心查看集群和节点指标监控的示例信息中心。

“监控”标签页

点击 Grafana Monitoring 信息中心按钮可打开管理员集群上托管的 Grafana 应用。Grafana 访问权限通过 Management Center 控制。如果您已登录 Management Center,则无需额外登录。

信息中心

登录后,系统会提供一系列示例演示

Grafana 信息中心

日志

点击“Grafana Loki 日志”按钮可打开 Grafana Explorer,在其中可以查询 Kubernetes 系统日志。

标签会添加到要查询的日志中。

日志标签

日志类型 标签
容器日志
  • cluster=CLUSTER_NAME
  • resources=k8s_container
  • 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
审核日志
  • cluster=CLUSTER_NAME
  • resource=k8s_audit
  • kind=KIND
  • apiVersion=API_VERSION
  • level=LEVEL
  • vert=VERB
  • requestURI=REQUEST_URI

所有 Kubernetes 标签和集群标签均包括为日志标签。

查询示例

  • 容器日志

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    

    Grafana 查询容器日志

  • 节点 Journald 日志

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

    Grafana 查询节点日志

  • 审核日志

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

    Grafana 查询审核日志

配置 StorageClass

请求 PersistentVolumeClaims 是用于存储指标、日志、信息中心和提醒。当您创建集群时,集群会自动创建 LogMon 自定义资源。如需替换默认的 StorageClass,请完成以下步骤:

  1. 运行以下命令,在命令行编辑器中打开您的 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. LogMon 自定义资源中,更新 spec 字段下的 storageClassName

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              storageClassName: anthos-system # configure the new storage class here 
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              storageClassName: anthos-system # configure the new storage class here
    
  3. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。

配置存储空间大小

创建集群时,集群会自动创建 LogMon 自定义资源。如需替换指标、日志、信息中心和提醒的存储空间大小,请完成以下步骤:

  1. 运行以下命令,在命令行编辑器中打开您的 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. LogMon 自定义资源中,更新 spec 字段下的 storageSize

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              components:
                loki:
                   storageSize: 20Gi # configure the new storage size for logs here
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              components:
                alertmanager:
                   storageSize: 1Gi # configure the new storage size for alerts here
                grafana:
                   storageSize: 1Gi # configure the new storage size for dashboards here
                prometheus:
                   storageSize: 20Gi # configure the new storage size for metrics here
    ````
    
  3. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。

配置保留时间

如需为在集群中运行的 Prometheus 和 Loki 代理中的日志配置保留时间,请完成以下步骤:

  1. 运行以下命令,在命令行编辑器中打开您的 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. LogMon 自定义资源中,更新 spec 字段下的 retentionTime

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              retentionPolicy:
                retentionTime: 720h # configure the new retention time for logs here
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              retentionPolicy:
                retentionTime: 720h # configure the new retention time for metrics here
    
  3. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。

配置 fluent-bit 附加输出

支持将日志导出到其他目标位置以及在集群中运行的 Loki。请参阅支持的平台列表。如需配置其他日志输出目标,请完成以下步骤:

  1. kube-system 命名空间中创建一个带有 logmon: system_logs 标签的 configmap。额外的输出配置与 fluent-bit 输出插件具有相同的语法,应添加到 output.conf 文件中的 data 字段下。请参阅示例配置文件

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  2. 运行以下命令,在命令行编辑器中打开您的 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  3. LogMon 自定义资源中的 spec/system_logs/outputs 字段下添加 additionalOutput 字段。

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          additionalOutput:
            fluentbitConfigmaps:
            # The name should match the configmap name created in step 1.
            - "<customized-system-logs-fluent-bit-output-config>"
            # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
            volumeMounts:
            - ...
            - ...
            # Scheme: []v1.Volume. Add volumes if necessary
            volumes:
            - ...
            - ...
    
  4. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。