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設定の作成
[ログアプリケーション] セクションで、[インテリジェントO&M] タブをクリックします。 次に、[フルスタックの表示] をクリックします。
[Simple Log Serviceのフルスタックの観察可能性] ページで、管理するインスタンスをクリックします。
左側のナビゲーションウィンドウで、[フルスタックモニタリング] をクリックします。
インスタンスでフルスタックモニタリングを初めて使用する場合は、[有効化] をクリックします。
左側のナビゲーションツリーで、[データインポート] をクリックします。 [データインポート設定] ページで、[Kubernetesモニタリング] セクションの [リソースモニタリング] を見つけます。
ホストモニタリングデータのLogtail設定を初めて作成するときは、スイッチをオンにして設定ページに移動します。 Logtail設定を作成した場合は、アイコンをクリックして
設定ページに移動します。 マシングループを作成します。
マシングループが作成されている場合は、この手順をスキップします。
Container Service for Kubernetes (ACK) クラスターのマシングループを作成します。 詳細については、「IPアドレスベースのマシングループの作成」をご参照ください。
自己管理型Kubernetesクラスターのマシングループを作成します。 詳細については、「カスタム識別子ベースのマシングループの作成」をご参照ください。
カスタムリソース定義 (CRD) テンプレートツールをダウンロードします。
移動方法
説明
CRDテンプレートツールをクラスター外にインストールする
CRDテンプレートツールをクラスター外にインストールする場合は、ログオンアカウントに
~/.kube/config設定ファイルが存在することを確認してください。 構成ファイルには、クラスターで管理操作を実行できる設定が含まれています。 kubectlコマンドを実行すると、関連する操作を実行できます。CRDテンプレートツールをクラスターにインストールする
CRDテンプレートツールをコンテナーにインストールする場合、システムは
alibaba-log-controllerという名前のインストール済みコンポーネントの権限に基づいてCRDを作成します。~/.kube/config構成ファイルが存在しない場合、またはネットワークの状態が悪いために接続障害が発生した場合は、この方法を使用してCRDテンプレートツールをインストールできます。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テンプレートツールをインストールします。 ツールをインストールすると、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を実行します。Run the
. /sls-crd-ツールリストコマンドを実行して、ツールがインストールされているかどうかを確認します。 値が返されると、ツールがインストールされます。
CRDテンプレートツールのコンテナーへのインストール
クラスターにログインし、
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 ~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テンプレートツールをコンテナーにアップロードします。
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を実行します。Run the
. /sls-crd-ツールリストコマンドを実行して、ツールがインストールされているかどうかを確認します。 値が返されると、ツールがインストールされます。
CRDテンプレートツールを使用してLogtail設定を生成します。
次のコマンドを実行して、テンプレートの定義を表示します。
./sls-crd-tool get k8sMonitorREQUIREDパラメーターを現在のインスタンスIDに置き換え、次のコマンドを実行してパラメーターの値をプレビューします。
./sls-crd-tool apply -f template-k8sMonitor.yaml --create=falseprojectパラメーターに、現在のインスタンスが属するプロジェクトが指定されているかどうかを確認します。 はいの場合、次のコマンドを実行してテンプレートファイルをデプロイします。
./sls-crd-tool apply -f template-k8sMonitor.yamlデータインポート設定ページに移動します。 次の図は、Logtail設定が生成されることを示しています。 [リソースモニタリング] セクションの [設定] の横の番号が1つ増えます。 Logtail設定が生成されない場合、番号は変更されません。

モニタリングコンポーネントのリソース
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はモニタリングデータ専用のダッシュボードを自動的に作成します。 ダッシュボードを使用して、モニタリングデータを分析できます。 詳細については、「ダッシュボードの表示」をご参照ください。