クラスタを観察する

このページでは、Anthos プライベート モードで利用可能なロギングとモニタリングのオプションの使用方法について説明します。

このページはプラットフォーム管理者を対象としています。

ダッシュボードをモニタリングする

クラスタとノードの指標のモニタリングに関するダッシュボード例は、Anthos Management Center から入手できます。

[モニタリング] タブ。

[Grafana Monitoring Dashboard] ボタンをクリックすると、管理クラスタでホストされている Grafana アプリケーションが開きます。Grafana へのアクセスは管理センターで管理されます。Management Center にログインしている場合は、追加のログインは必要ありません。

ログインすると、デモ用として使用できるサンプル ダッシュボードの一覧が表示されます。

Grafana ダッシュボード

クエリログ

[Grafana Loki Logs] ボタンをクリックすると、Grafana Explore が開き、Kubernetes システムログを含むログをクエリできます。次のセクションで説明するように、ログにはラベルが付けられます。

ログラベル

ログタイプ ラベル
コンテナログ
  • クラスタ = CLUSTER_NAME
  • リソース = k8s_container
  • 名前空間 = NAMESPACE_NAME
  • ノード = NODE_NAME
  • Pod = POD_NAME
  • コンテナ = CONTAINER_NAME
  • 他の Kubernetes ラベル
ノードの journald ログ
  • クラスタ = CLUSTER_NAME
  • リソース = k8s_node
  • ノード = NODE_NAME
  • 識別子 = SYSLOG_IDENTIFIER
  • マシン = MACHINE_ID
監査ログ
  • クラスタ = CLUSTER_NAME
  • リソース = k8s_audit
  • レベル = LEVEL
  • Vert = VERB

すべての Kubernetes ラベルと cluster ラベルがログラベルとして含まれます。

サンプルクエリ

  • 次のクエリでは、コンテナログを選択します。

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    
  • 次のクエリでは、クラスタ オペレータ のログを選択します。

    {cluster="admin", namespace="kube-system", resources="k8s_container", control_plane="anthos-cluster-operator"}
    

    cluster-operator は、管理クラスタ上のユーザー クラスタと関連リソースを管理するベアメタル版 Anthos によって提供されるリソースです。

  • 次のクエリでは、ノード Journald ログを選択します。

    {cluster="admin", resources="k8s_node"}
    
  • 次のクエリでは、監査ログが選択されます。

    {cluster="admin", resources="k8s_audit"}
    
  • 次のクエリは、ユーザー クラスタのブートストラップ ログを選択します。

    {cluster="admin", namespace="cluster-user-1"}
    

    ブートストラップされるユーザー クラスタは「user-1」です。

Management Centerのログ

  • 次のクエリでは、acm-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="acm-controller-manager"}
    
  • 次のクエリでは、asm-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="asm-controller-manager"}
    
  • 次のクエリでは、bootstrap-service-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="bootstrap-service-controller-manager"}
    
  • 次のクエリでは、billing-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="billing-controller-manager"}
    
  • 次のクエリでは、anthos-admin-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="anthos-admin-controller-manager"}
    
  • 次のクエリでは、iam-controller-manager のログを選択します。

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="iam-controller-manager"}
    

カスタム StorageClass を構成する

Anthos の限定公開モードでは、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 カスタム リソースに対する変更を保存するには、保存してコマンドライン エディタを終了します。

次のステップ