Splunk OpenTelemetry CollectorをインストールしてKubernetesメトリクスを収集する方法

Observability Johnathan Campos
多くの組織でKubernetesがコンテナオーケストレーションの有力な選択肢となりつつある中で、アプリケーションパフォーマンスを把握するにはKubernetes環境の監視が欠かせません。Kubernetesによって開発者は分散マイクロサービスを使用してアプリケーションを開発できるようになりましたが、これによって従来のモノリシックな環境には存在しなかった新たな課題が浮上しました。マイクロサービス環境を理解するには、リクエストがどのようにスタックのレイヤー間やさまざまなサービスの間を行き交っているかを理解する必要があります。そのため最新の監視ツールには、相互に関連しているこれらのレイヤーを監視しながら、アプリケーションとインフラの動作を効率的に関連付けることによってトラブルシューティングを効率的に実行する機能が備わっています。as-a-serviceデリバリーモデルを提供するクラウドコンピューティングの時代にあっては、アプリケーションやインフラのパフォーマンス低下による影響がこれまで以上に大きくなります。このような厳しい競争の中では、パフォーマンスを最大限に発揮できるソリューションにだれもが魅力を感じることでしょう。
Kubernetes

そしてそれこそが、SplunkとOpenTelemetryが真価を発揮する分野です。OpenTelemetryは、テレメトリデータ(メトリクス、ログ、トレース)のインストルメンテーション、生成、収集、エクスポートに使用されるツール、API、SDKをまとめたもので、アプリケーションのパフォーマンスと動作の分析を支援します。OpenTelemetryは、Splunk、Prometheus、Jaegerといったソリューションが活躍するオブザーバビリティバックエンドとは異なります。これらのバックエンドソリューションは、収集されたアプリケーションテレメトリのエクスポート先であり、エクスポートされたデータはその後分析のためにレビューされます。

この記事では、Splunk OpenTelemetry CollectorをインストールしてKubernetesメトリクスを収集し、Kubernetesワークロードのパフォーマンス分析を開始するための基本的な設定手順を説明します。

アプリケーションテレメトリの収集方法

アプリケーションのテレメトリデータを収集してKubernetesのワークロードを把握するには、OpenTelemetry Collectorをインストールする必要があります。OpenTelemetry Collectorは、テレメトリデータの受信、処理、エクスポートのための実装であり、ベンダーに依存しません。複数のエージェントやコレクターを実行、操作、管理する必要がなく、1つのコレクターでメトリクス、トレース、ログをすべて収集し、Kubernetesのワークロードとアプリケーションのパフォーマンスをあらゆる側面から把握することができます。Splunkは、OpenTelemetry Collectorの独自ディストリビューションを提供しています。これは、Fluentdによってログ収集を行い、オープンソースのOpenTelemetry Collectorコアをアップストリームとしています。これにより、Splunk Observabilityバックエンドを使用してKubernetesワークロードを分析する際に強力なエクスペリエンスが実現します。

Splunk OpenTelemetry Collector for Kubernetesのインストール方法

Splunk OpenTelemetry Connector for Kubernetesは、Splunk OpenTelemetry CollectorをKubernetesクラスターにインストールします。Splunk OpenTelemetry Connector for KubernetesはHelmチャートを使用してインストールされます。Helmチャートは、単一のパッケージに統合されたKubernetes YAMLマニフェストであり、これを使用するとKubernetesクラスターに複数のコンポーネントを簡単にインストールできます。パッケージ化されているため、クラスターへのHelmチャートのインストールは、単一のHelmインストールと同じように簡単に実行でき、コンテナ化アプリケーションを簡単にデプロイできます。Kubernetesを実行しているホストでは、デプロイの開始前にHelmをインストールするようにしてください。

Splunk OpenTelemetry Connector for Kubernetesをインストールするには、Splunk Observabilityコンソールにログインし、左上隅のメニューを開いて、[Data Setup]をクリックします。

Splunk Observabilityコンソール

[Connect Your Data]ウィンドウでKubernetesを選択し、[Add Connection]をクリックします。これによりデータセットアップウィザードが表示され、インストールに必要な操作手順が示されます。

Connect Your Dataウィンドウ

最初のステップでは、クラスターに関する設定を接続ウィザードに入力します。

オプション項目は以下のとおりです。

クラスターに関する設定

2つ目のステップでは、データセットアップウィザードに、Splunk OpenTelemetry Connectorのインストールに必要な手順が示されます。これは、前のステップで入力したKubernetesクラスターの情報に基づいてHelmによって実行されます。インストールでは、まずHelmチャートリポジトリの追加と更新が実行されます。これが完了すると、HelmによってSplunk OpenTelemetry Connector for Kubernetesがインストールされます。各セクションのコードをコピーするだけでインストールは完了します。

コード

インストールスクリプトが正常に実行されたことを確認するには、Kubernetesクラスター上で「kubectl get pods」を実行し、クラスター内の全Podを一覧表示します。出力結果には、コレクターエージェントとコレクターレシーバーの両方がクラスターにデプロイされたことが表示されます。

全Podの一覧表示

約90秒後、クラスターからSplunk Observability Cloudにメトリクスデータの入力が開始されます。これを確認するには、メニューの[Infrastructure]をクリックし、インフラダッシュボードに移動します。

Splunk Observability Cloud

ダッシュボードの[Containers]セクションにある[Kubernetes]をクリックします。

インフラダッシュボード

ダッシュボードにクラスターマップが現れ、環境内のノードとPodがすべて表示されます。

クラスターマップ

これで、OpenTelemetry CollectorがKubernetesクラスターのメトリクスをSplunk Observability Cloudにエクスポートできるようになりました。収集されたさまざまなメトリクスを使用することで、Kubernetesワークロードに影響を与えるようなインフラの潜在的な問題を簡単に見つけ出し、OpenTelemetryによってインストルメントされたアプリケーションからのデータを収集することができます。

まとめ

Kubernetesがもたらしたアプリケーションのデプロイ方法の変革によって、新たな課題が浮上しました。このため、Kubernetesワークロードの状態を把握しておくことがこれまでになく重要になりました。この記事によってKubernetesでの取り組みの大きな成果を導くことができれば幸いです。

Kubernetes環境でSplunk OpenTelemetry Collectorをぜひお試しください。無料のトライアル版では、Infrastructure MonitoringAPMReal User MonitoringLog Observerなど、スイートに含まれるすべての製品を試すことができます。インフラをリアルタイムで可視化すればマイクロサービスの問題を迅速に解決できます。すでにSplunk製品を使用していて、OpenTelemetryのセットアップについて詳しく知りたいお客様は、Splunkのマニュアルをご覧ください。

このブログはこちらの英語ブログの翻訳です。

関連記事

オブザーバビリティの実現にログデータが重要な理由
オブザーバビリティ
9 分程度

オブザーバビリティの実現にログデータが重要な理由

従来の監視アプローチでは、最新のデジタルプラットフォームに対応できず、ログに含まれる豊富なインサイトを取りこぼしてしまいます。OpenTelemetryを導入してオブザーバビリティを実現すれば、メトリクス、トレース、ログの3種類のテレメトリを収集および分析して、最新のプラットフォームを適切に管理できます。
Splunk:セキュリティとオブザーバビリティを統合してアプリケーションを保護
オブザーバビリティ
5 分程度

Splunk:セキュリティとオブザーバビリティを統合してアプリケーションを保護

アプリケーションのセキュリティとオブザーバビリティをSplunkによって統合することで、攻撃のリアルタイム検出、脆弱性の優先順位付け、脅威への迅速な対応を実現できます。
合成テストのサンプル:ユーザーフローテスト、APIの検証、カスタムメトリクス、ログ収集、その他
オブザーバビリティ
6 分程度

合成テストのサンプル:ユーザーフローテスト、APIの検証、カスタムメトリクス、ログ収集、その他

GitHubで利用できるようになったSplunk Syntheticsのサンプルライブラリの紹介です。一般的なフローやコンセプトを効果的な合成テストに活用する方法が学べます。