すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Kubernetesリソースに関するモニタリングデータの収集

最終更新日:Sep 03, 2024

Kubernetesは複数のメトリックを提供します。 KubernetesクラスターからフルスタックのObservabilityアプリケーションにメトリクスを収集して視覚化することができます。 Simple Log ServiceとAlibaba Cloud OpenAnolisは、非侵入型モニタリング機能を共同開発しました。 この機能を使用して、ネットワークトラフィックフローを分析し、クラウドネイティブのシナリオでKubernetesクラスターのボトルネックの問題を特定できます。

前提条件

フルスタックのObservabilityインスタンスが作成されます。 詳細は、インスタンスの作成をご参照ください。

制限事項

ホストでデータプレーンモニタリングを有効にする場合は、ホストのオペレーティングシステムがLinux x86_64で、カーネルバージョンが4.19以降である必要があります。 ホストがバージョン7.6〜7.9のCentOSオペレーティングシステムを実行している場合、カーネルのバージョンは3.1.0である必要があります。 uname -rコマンドを実行すると、オペレーティングシステムのカーネル情報を表示できます。

ステップ1: Logtail設定の作成

  1. Simple Log Serviceコンソール.

  2. [ログアプリケーション] セクションで、[インテリジェントO&M] タブをクリックします。 次に、[フルスタックの表示] をクリックします。

  3. [Simple Log Serviceのフルスタックの観察可能性] ページで、管理するインスタンスをクリックします。

  4. 左側のナビゲーションウィンドウで、[フルスタックモニタリング] をクリックします。

    インスタンスでフルスタックモニタリングを初めて使用する場合は、[有効化] をクリックします。

  5. 左側のナビゲーションツリーで、[データインポート] をクリックします。 [データインポート設定] ページで、[Kubernetesモニタリング] セクションの [リソースモニタリング] を見つけます。

    ホストモニタリングデータのLogtail設定を初めて作成するときは、スイッチをオンにして設定ページに移動します。 Logtail設定を作成した場合は、アイコンをクリックして创建設定ページに移動します。

  6. マシングループを作成します。

    マシングループが作成されている場合は、この手順をスキップします。

  7. カスタムリソース定義 (CRD) テンプレートツールをダウンロードします。

    移動方法

    説明

    CRDテンプレートツールをクラスター外にインストールする

    CRDテンプレートツールをクラスター外にインストールする場合は、ログオンアカウントに ~/.kube/config設定ファイルが存在することを確認してください。 構成ファイルには、クラスターで管理操作を実行できる設定が含まれています。 kubectlコマンドを実行すると、関連する操作を実行できます。

    CRDテンプレートツールをクラスターにインストールする

    CRDテンプレートツールをコンテナーにインストールする場合、システムはalibaba-log-controllerという名前のインストール済みコンポーネントの権限に基づいてCRDを作成します。 ~/.kube/config構成ファイルが存在しない場合、またはネットワークの状態が悪いために接続障害が発生した場合は、この方法を使用してCRDテンプレートツールをインストールできます。

    CRDテンプレートツールをクラスター外にインストール

    1. クラスターにログインし、CRDテンプレートツールをダウンロードします。

      • 中国

        curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
      • 中国国外

        curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
    2. CRDテンプレートツールをインストールします。 ツールをインストールすると、crdテンプレートツールがインストールされているフォルダーにsls-CRD-toolが生成されます。

      tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh  && sh -x  /tmp/crd-tool/install.sh
    3. を実行します。Run the. /sls-crd-ツールリストコマンドを実行して、ツールがインストールされているかどうかを確認します。 値が返されると、ツールがインストールされます。

    CRDテンプレートツールのコンテナーへのインストール

    1. クラスターにログインし、alibaba-Log-controllerコンテナーにアクセスします。

      kubectl get pods -n kube-system -o wide |grep alibaba-log-controller | awk -F ' ' '{print $1}'
      kubectl exec -it {pod} -n kube-system bash
      cd ~
    2. CRDテンプレートツールをダウンロードします。

      • インターネット経由でクラスター内のリソースをダウンロードできる場合は、次のいずれかのコマンドを実行してCRDテンプレートツールをダウンロードします。

        • 中国

          curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
        • 中国国外

          curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
      • インターネット経由でクラスター内のリソースをダウンロードできない場合は、クラスター外にCRDテンプレートツールをダウンロードできます。 次に、kubectl cp <source> <destination> コマンドを実行するか、ACKのファイルアップロード機能を使用してCRDテンプレートツールをコンテナーにアップロードします。

    3. CRDテンプレートツールをインストールします。 ツールをインストールすると、crdテンプレートツールがインストールされているフォルダーにsls-CRD-toolが生成されます。

      tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh  && sh -x  /tmp/crd-tool/install.sh
    4. を実行します。Run the. /sls-crd-ツールリストコマンドを実行して、ツールがインストールされているかどうかを確認します。 値が返されると、ツールがインストールされます。

  8. CRDテンプレートツールを使用してLogtail設定を生成します。

    1. 次のコマンドを実行して、テンプレートの定義を表示します。

      ./sls-crd-tool  get k8sMonitor
    2. REQUIREDパラメーターを現在のインスタンスIDに置き換え、次のコマンドを実行してパラメーターの値をプレビューします。

      ./sls-crd-tool  apply -f template-k8sMonitor.yaml --create=false
    3. projectパラメーターに、現在のインスタンスが属するプロジェクトが指定されているかどうかを確認します。 はいの場合、次のコマンドを実行してテンプレートファイルをデプロイします。

      ./sls-crd-tool  apply -f template-k8sMonitor.yaml
    4. データインポート設定ページに移動します。 次の図は、Logtail設定が生成されることを示しています。 [リソースモニタリング] セクションの [設定] の横の番号が1つ増えます。 Logtail設定が生成されない場合、番号は変更されません。

      image.png

モニタリングコンポーネントのリソース

Kubernetesモニタリングデータの収集に使用されるKubernetesリソースは、すべてsls-monitoring名前空間に作成されます。 リソースには、1つのDeployment、1つのStatefulSet、1つのDaemonSet、および7つのAliyunLogConfig CRDが含まれます。

リソース

リソース名

説明

AliyunLogConfig

{instance-id}-k8s-metas

Kubernetesクラスターの構成データ (各デプロイ、ポッド、Ingress、サービスの名前、名前空間、ラベル、イメージ、制限など) を収集します。 デフォルトでは、収集されたデータは {instance}-metasという名前のLogstoreに保存されます。

{instance-id}-k8s-metrics

CPU、メモリ、ポッドとコンテナーのネットワークデータなど、Kubernetesクラスターのメトリックデータを収集するために使用されます。 デフォルトでは、収集されたデータは {instance}-k8s-metricsという名前のMetricstoreに保存されます。

{instance-id}-k8s-metrics-kubelet

Kubernetes kubeletのメトリックデータを収集するために使用されます。 デフォルトでは、収集されたデータは {instance}-k8s-metricsという名前のMetricstoreに保存されます。

{instance-id}-node-metas

CPUモデルやメモリサイズなど、Kubernetesノードの設定データを収集するために使用されます。 デフォルトでは、収集されたデータは {instance}-metasという名前のLogstoreに保存されます。

{instance-id}-ノードのメトリック

CPU使用率やメモリ使用量など、Kubernetesノードのメトリックデータを収集するために使用されます。 デフォルトでは、収集されたデータは {instance}-node-metricsという名前のMetricstoreに保存されます。

次のステップ

KubernetesモニタリングデータをFull-stack Observabilityに収集すると、Full-stack Observabilityはモニタリングデータ専用のダッシュボードを自動的に作成します。 ダッシュボードを使用して、モニタリングデータを分析できます。 詳細については、「ダッシュボードの表示」をご参照ください。