Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » その他のCollectorデプロイツールとオプション:ECS/EC2、Fargate、Nomad、PCF » Amazon ECS EC2 でCollectorをデプロイする

Amazon ECS EC2 でCollectorをデプロイする 🔗

ガイド付きセットアップを使用して、Amazon ECS EC2クラスターにサイドカーとしてCollectorをデプロイします。

AWSインテグレーションのガイド付きセットアップにアクセスするには、以下の手順を実行します:

  1. Splunk Observability Cloud にログインします。

  2. ナビゲーションメニューで、Data Management を選択します。

  3. Available integrations タブにアクセスするか、Deployed integrations タブで Add Integration を選択します。

  4. Amazon ECS EC2 のタイルを選択します。

  5. セットアップガイドの手順に従ってください。Collector の JSON タスク定義が記載されています。

以下のCollector 構成オプションのいずれかを選択します:

Collectorをサイドカーとして追加する 🔗

注釈

このオプションを使用するには、Amazon ECS EC2 ローンチに精通している必要があります。Amazon EC2 を使用してクラシックコンソールで開始する を参照してください。

Collector サイドカーを追加する ECS タスク定義を開きます:

  1. リポジトリ から Collector のタスク定義を探します。

  2. Collectorの定義を既存のECSタスク定義にマージします。

  3. MY_SPLUNK_ACCESS_TOKENMY_SPLUNK_REALM を有効な値に置き換えてください。自動アップグレードの問題を避けたい場合は、latest の代わりに、イメージのバージョンを特定のバージョンに固定できます。

Collector は、デフォルトのコンフィギュレーションファイル /etc/otel/collector/ecs_ec2_config.yaml を使用するように設定されています。CollectorイメージDockerfileは Dockerfile から入手でき、デフォルトの構成ファイルの内容は ECS EC2 構成 で見ることができます。

備考:

  • トレースするだけであれば、デフォルト構成ファイルの awsecscontainermetrics レシーバーは必要ありません。デフォルトの設定を使用し、レシーバーを削除し、カスタム設定を使用して Collector をデプロイする の指示に従ってカスタム設定で設定を使用することができます。

  • メトリクスを除外するには、文字列化された配列として環境変数 METRICS_TO_EXCLUDE に割り当てます。

  • 環境変数 memory_limiter を使用して、SPLUNK_MEMORY_LIMIT_MIB プロセッサーのメモリ制限を設定できます。デフォルトのメモリ制限は512MiBです。

カスタム設定を使用して Collector をデプロイする 🔗

カスタム構成ファイルを使用するには、Collectorタスク定義で SPLUNK_CONFIG 環境変数の値をカスタム構成ファイルのファイルパスに置き換えます。

あるいは、 Amazon Elastic Container Service オブザーバーエクステンションを設定する で説明されているように、SPLUNK_CONFIG_YAML 環境変数を使用してカスタム設定 YAML を直接指定することもできます。

Amazon Elastic Container Service オブザーバーエクステンションを設定する 🔗

カスタム設定で Amazon Elastic Container Service Observer ( ecs_observer ) エクステンションを使用すると、サービス名、タスク定義、コンテナラベルでフィルタリングされた、実行中のタスクのメトリクスターゲットを検出できます。

前提条件 🔗

以下が該当します:

  • Collector は ECS デーモンとして実行する必要があります。ECS コンソールから Collectorをデーモンとして実行する を参照してください。

  • ECS オブザーバーは現在、Prometheus のターゲットに限定されています。

  • ECS Observer には、以下の読み取り専用権限が必要です。タスクロールにアタッチされている顧客管理ポリシーに追加してください。

ecs:List*
ecs:Describe*

ECS コンソールから Collectorをデーモンとして実行する 🔗

Amazon ECSコンソールでCollectorを起動するには:

  1. コンソールでクラスターに移動し、Services を選択します。

  2. Create を選択し、以下のオプションを定義します:

  • 起動タイプ:EC2

  • タスク定義 (ファミリー): splunk-otel-collector

  • タスクの定義(リビジョン):1 (またはその場合で最新のもの)

  • サービス名:splunk-otel-collector

  • サービスタイプ:DAEMON

  1. 次のページにあるその他すべての項目をデフォルトのままにして、サービスの作成を要求されるまで、Next step に進みます。

  2. Create Service を選択して、ECSクラスターの各ノードにCollectorをデプロイします。インフラとDockerのメトリクスがすぐに表示されるはずです。

設定例 🔗

以下の設定例では、ecs_observer クラスターと lorem-ipsum-cluster 地域で Prometheus ターゲットを検索するように us-west-2 を設定します。ここで、タスク ARN パターンは ^arn:aws:ecs:us-west-2:906383545488:task-definition/lorem-ipsum-task:[0-9]+$ です。結果は /etc/ecs_sd_targets.yaml に書き込まれます。

prometheus レシーバーは、結果ファイルからターゲットを読み込むように設定されています。access_tokenrealm の値は SPLUNK_ACCESS_TOKENSPLUNK_REALM 環境変数から読み込まれます。環境変数はコンテナ定義で指定する必要があります。

extensions:
  ecs_observer:
    refresh_interval: 10s
    cluster_name: 'lorem-ipsum-cluster'
    cluster_region: 'us-west-2'
    result_file: '/etc/ecs_sd_targets.yaml'
    task_definitions:
      - arn_pattern: "^arn:aws:ecs:us-west-2:906383545488:task-definition/lorem-ipsum-task:[0-9]+$"
       metrics_ports: [9113]
       metrics_path: /metrics
receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: 'lorem-ipsum-nginx'
          scrape_interval: 10s
          file_sd_configs:
            - files:
                - '/etc/ecs_sd_targets.yaml'
processors:
  batch:
  resourcedetection:
    detectors: [ecs]
    override: false
exporters:
  signalfx:
    access_token: ${SPLUNK_ACCESS_TOKEN}
    realm: ${SPLUNK_REALM}
service:
  extensions: [ecs_observer]
  pipelines:
    metrics:
      receivers: [prometheus]
      processors: [batch, resourcedetection]
      exporters: [signalfx]

AWSパラメータストアを使用して Collector をデプロイする 🔗

AWSパラメータストアを使用するには、SPLUNK_CONFIG_YAML を使用する代わりに、SPLUNK_CONFIG 環境変数で設定 YAML を直接指定することもできます。

注釈

パラメータストアへの読み取りアクセスを持つためには、タスクのロールにポリシー AmazonSSMReadOnlyAccess を追加します。詳細については、Systems manager parameter store を参照してください。

以下の手順に従ってください:

  1. Amazon Elastic Container Service オブザーバーエクステンションを設定する のカスタム設定を AWS Systems Manager Parameter Store の splunk-otel-collector-config というパラメータに格納します。

  2. 次に、以下の例に示すように、splunk-otel-collector-config オプションを使用して、SPLUNK_CONFIG_YAMLvalueFrom パラメータを割り当てます:

{
  "valueFrom": "splunk-otel-collector-config",
  "name": "SPLUNK_CONFIG_YAML"
}

注意

AWS Parameter Storeは、設定ファイルのサイズを 4096 バイトに制限しています。

このページは 2025年02月10日 に最終更新されました。