AWS EKS アドオンとしての Splunk Distribution of the OpenTelemetry Collector
EKSアドオンのインストールによるKubernetes
Amazon Elastic Kubernetes Service(EKS)は、Amazon Web Services(AWS)クラウドで Kubernetes アプリケーションを実行および拡張するためのマネージドコンテナ サービスです。Splunk Observability Cloud は AWS マーケットプレイスで利用可能な EKS アドオンを提供し、Splunk Distribution of the OpenTelemetry Collector を Amazon EKS クラスターにシームレスにデプロイして、ネームスペース、クラスター、ポッド、またはチームやアプリケーションなどの組織概念ごとに EKS パフォーマンスを追跡できるようにします。
詳細については、AWS の公式ドキュメント「Amazon EKS アドオン」を参照してください。
メリット
Amazon EKS アドオンとしての Splunk Distribution of the OpenTelemetry Collector:
-
Amazon EKSクラスターのインストール、設定、管理を簡素化します。
-
最新のセキュリティパッチ、バグ修正が含まれており、AWSによってAmazon EKSと連携することが検証されています。
制限事項
アドオンデプロイメントアプローチには多くの利点がありますが、以下の制限に注意してください:
-
EKS アドオンのインテグレーションは、Helm フックと Helm サブチャートをサポートしていません。そのため、これらの機能に依存する次のような特定の機能を使用できません。
-
Helmフックを使用するため、Collector シークレット検証機能は使用できません。
-
Operatorベースの自動インストルメンテーションは、必要なコンポーネントを配置するためのサブチャートに依存しているため、サポートされていません。
-
-
EKS アドオンでは、OTel Collector の Splunk ディストリビューションのインスタンスは EKS クラスターごとに 1 つしか配置できません。規模や冗長性を計画する際は、この制限を考慮してください。
安全なトークン処理機能を備えたEKSアドオンのインストール
EKS アドオン Splunk Distribution of the OpenTelemetry Collector をインストールするには、以下の手順に従ってください:
ステップ1: AWS MarketplaceでEKSアドオンをサブスクライブする
AWS Marketplaceで、以下を確認してください:
-
このアドオンを有効にするには、AWSアカウントに十分なアクセス許可が必要です。
-
AWS コンソールでサブスクリプションプロセスを完了します。「AWS Marketplace Page」にアクセスし、EKS アドオン Splunk Distribution of the OpenTelemetry Collector を AWS アカウントに追加します。
ステップ2:前提条件
以下の必要条件を遵守していることを確認してください:
認証情報
Splunk Observability Cloud または Splunk Platform の認証情報があることを確認してください。
送信先要件
splunkObservability の場合:
-
splunkObservability.accessTokenします。Splunk Observability 組織のアクセストークンです。「Splunk Observability Cloud を使用した組織のアクセストークンの作成および管理」を参照してください。 -
splunkObservability.realmします。テレメトリデータを送信する Splunk レルム。デフォルトはus0です。詳細については、開発者ポータルのレルムのドキュメント を参照してください。
splunkPlatform (Splunk Enterprise または Splunk Cloud) の場合:
-
Splunk Enterprise 8.0 以上。
-
少なくとも 1つの、ログデータを収集するための Splunk プラットフォームインデックス。
-
HTTP Event Collector(HEC)トークンとエンドポイント。「Splunk Web 上での HTTP Event Collector のセットアップと使用」および「HTTP Event Collector のスケール」を参照してください。
ステップ3:EKSクラスターにアドオンを追加する
Amazon EKS User Guide に記載されている手順に従って、eksctl、AWS Management Console、または AWS CLI を使用してアドオンを追加します。
Amazon EKS ユーザーガイドを「Managing Amazon EKS add-ons」で探します。
ステップ 4: セキュリティを強化したアドオンの設定
Splunk Distribution of the OpenTelemetry Collector EKSアドオンを設定するには、Splunkのセットアップに合わせてYAMLファイルを準備し、プレースホルダ値を特定の設定の詳細に置き換えます。
splunkObservability の場合:
splunkObservability:
realm: <REALM>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks
secret:
create: false
name: splunk-otel-collector
validateSecret: false
splunkPlatform の場合:
splunkPlatform:
endpoint: http://localhost:8088/services/collector
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks
secret:
create: false
name: splunk-otel-collector
validateSecret: false
ステップ5: シークレットを追加してデプロイする
YAML ファイルを適用するか、kubectl コマンドを使用して、Splunk モニタリングネームスペースにシークレットをデプロイします。
YAMLファイル
シークレットをデプロイするには、アドオン設定YAMLとは別に、機密トークンを含む個別のKubernetesシークレットYAMLファイルを使用します。
コマンドを使用する:
kubectl apply -f splunk-otel-collector-secret.yaml
ここにシークレット YAML ファイルのテンプレートがあります。
apiVersion: v1
kind: Secret
metadata:
name: splunk-otel-collector
namespace: splunk-monitoring
type: Opaque
data:
splunk_observability_access_token: <YOUR_ACCESS_TOKEN> # Replace with your actual access token
splunk_platform_hec_token: <YOUR_HEC_TOKEN> # Add this line only if using with splunkPlatform
kubectlコマンド
シークレットを作成するには、kubectlコマンドを使用します:
splunkObservability の場合:
kubectl create secret generic splunk-otel-collector \
--from-literal=splunk_observability_access_token=<YOUR_ACCESS_TOKEN> \
-n splunk-monitoring
<YOUR_ACCESS_TOKEN> を実際の Splunk Observability Cloud アクセストークンに置き換えます。
splunkPlatform の場合:
kubectl create secret generic splunk-otel-collector \
--from-literal=splunk_platform_hec_token=<YOUR_HEC_TOKEN> \
-n splunk-monitoring
<YOUR_HEC_TOKEN> を実際の Splunk Platform HEC トークンに置き換えます。
ステップ6:Collectorを待つ
シークレットを追加した後、Collectorがシークレットを検出し、正常に実行を開始するまでしばらく時間をおいてください。
セキュアトークン処理なしでEKSアドオンをインストールする
または、シークレットを導入せずに、セキュリティレベルを下げてEKSアドオンをインストールすることもできます。
以下のように、Splunk のセットアップに合わせた YAML ファイルを用意します。
splunkObservability の場合:
splunkObservability:
accessToken: <YOUR_ACCESS_TOKEN>
realm: <REALM>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks
<YOUR_ACCESS_TOKEN> と <REALM> は対応するレルム内の実際の Splunk Observability Cloud アクセストークンに、<EKS_CLUSTER_NAME> は実際の EKS クラスター名に置き換えてください。
splunkPlatform の場合:
splunkPlatform:
endpoint: http://localhost:8088/services/collector
token: <YOUR_HEC_TOKEN>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks
<YOUR_HEC_TOKEN> は実際の Splunk Platform HEC トークンに、<EKS_CLUSTER_NAME> は実際の EKS クラスター名に置き換えてください。