Skip to content
This repository was archived by the owner on Sep 2, 2025. It is now read-only.

Commit c30284f

Browse files
authored
Replace ecs-metadata with awsecscontainermetrics
Update the docs to deprecate ecs-metadata and replace it with the `awsecscontainermetrics`. Corresponding change on the Splunk Collector: signalfx/splunk-otel-collector#5541
1 parent 1b39708 commit c30284f

File tree

1 file changed

+27
-42
lines changed

1 file changed

+27
-42
lines changed

gdi/opentelemetry/deployments/deployments-ecs-ec2.rst

Lines changed: 27 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ Deploy the Collector with Amazon ECS EC2
55
********************************************************
66

77
.. meta::
8-
:description: Deploy the Splunk Observability Cloud OpenTelemetry Collector as a Daemon service in an Amazon ECS EC2 cluster.
8+
:description: Deploy the Splunk Observability Cloud OpenTelemetry Collector as a Sidecar in an Amazon ECS EC2 cluster.
99

10-
Use the guided setup to deploy the Collector as a Daemon service in an Amazon ECS EC2 cluster. The guided setup provides a JSON task definition for the Collector.
10+
Use the guided setup to deploy the Collector as a Sidecar in an Amazon ECS EC2 cluster. The guided setup provides a JSON task definition for the Collector.
1111

1212
Choose one of the following Collector configuration options:
1313

@@ -28,60 +28,26 @@ Getting started
2828

2929
The following sections describe how to create a task definition and launch the Collector. A task definition is required to run Docker containers in Amazon ECS. After creating the task definition, you need to launch the Collector.
3030

31-
Create a task definition
31+
Add the Collector as a Sidecar
3232
---------------------------------
3333
.. note::
3434

3535
Knowledge of Amazon ECS using launch type EC2 is assumed. See :new-page:`Getting started with the classic console using Amazon EC2 <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started-ecs-ec2.html>` for further reading.
3636

37-
Creating the task definition requires using release v0.34.1 or newer (which corresponds to image tag 0.34.1 and newer) of the Collector. See the :new-page:`image repository <https://quay.io/repository/signalfx/splunk-otel-collector?tab=tags>` to download the latest image.
38-
39-
To create the task definition:
37+
Open the ECS task definition to which the Collector Sidecar is going to be added:
4038

4139
1. Locate the task definition for the Collector from the :new-page:`repository <https://github.com/signalfx/splunk-otel-collector/blob/main/deployments/ecs/ec2/splunk-otel-collector.json>`.
42-
2. Replace ``MY_SPLUNK_ACCESS_TOKEN`` and ``MY_SPLUNK_REALM`` with valid values. You should pin the image version to a specific version instead of ``latest`` to avoid upgrade issues.
43-
3. Create a task definition of EC2 launch type. See :new-page:`Creating a task definition using the new console <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html>` for the instructions. The supplied task definition is a minimal definition. See :new-page:`Task definition parameters <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html>` for additional configuration options.
40+
2. Merge the definitions of the Collector with the existing ECS task definition.
41+
3. Replace ``MY_SPLUNK_ACCESS_TOKEN`` and ``MY_SPLUNK_REALM`` with valid values. You can pin the image version to a specific version instead of ``latest`` if you want to avoid automatic upgrades.
4442

4543
The Collector is configured to use the default configuration file ``/etc/otel/collector/ecs_ec2_config.yaml``. The Collector image Dockerfile is available at :new-page:`Dockerfile <https://github.com/signalfx/splunk-otel-collector/blob/main/cmd/otelcol/Dockerfile>` and the contents of the default configuration file can be seen at :new-page:`ECS EC2 configuration <https://github.com/signalfx/splunk-otel-collector/blob/main/cmd/otelcol/config/collector/ecs_ec2_config.yaml>`.
4644

4745
.. note::
4846

49-
You do not need the ``smartagent/ecs-metadata`` metrics receiver in the default configuration file if all you want is tracing. You can take the default configuration, remove the receiver, then use the configuration in a custom configuration following the directions in :ref:`ecs-ec2-custom-config`.
50-
51-
The configured network mode for the task is ``host``. This means that task metadata endpoint version 2 used by the ``smartagent/ecs-metadata`` receiver is not activated by default. See :new-page:`task metadata endpoint <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint.html>` to determine if task metadata endpoint version 3 is activated by default for your task. If this version is activated, then add the following to the environment list in the task definition:
52-
53-
.. code-block:: none
54-
55-
{
56-
"name": "ECS_TASK_METADATA_ENDPOINT",
57-
"value": "${ECS_CONTAINER_METADATA_URI}/task"
58-
},
59-
{
60-
"name": "ECS_TASK_STATS_ENDPOINT",
61-
"value": "${ECS_CONTAINER_METADATA_URI}/task/stats"
62-
}
47+
You do not need the ``awsecscontainermetrics`` receiver in the default configuration file if all you want is tracing. You can take the default configuration, remove the receiver, then use the configuration in a custom configuration following the directions in :ref:`ecs-ec2-custom-config`.
6348

6449
Assign a stringified array of metrics you want excluded to environment variable ``METRICS_TO_EXCLUDE``. You can set the memory limit for the ``memory_limiter`` processor using environment variable ``SPLUNK_MEMORY_LIMIT_MIB``. The default memory limit is 512 MiB.
6550

66-
Launch the Collector
67-
=============================
68-
The Collector is designed to be run as a Daemon service in an EC2 ECS cluster. To create a Collector service from the Amazon ECS console:
69-
70-
#. Go to your cluster in the console.
71-
#. Select :guilabel:`Services`.
72-
#. Select :guilabel:`Create`.
73-
#. Select the following options:
74-
#. Launch Type: EC2
75-
#. Task Definition (Family): splunk-otel-collector
76-
#. Task Definition (Revision): 1 (or whatever the latest is in your case)
77-
#. Service Name: splunk-otel-collector
78-
#. Service type: DAEMON
79-
#. Leave everything else at default.
80-
#. Select :guilabel:`Next step`.
81-
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
82-
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
83-
#. Select :guilabel:`Create Service` to deploy the Collector onto each node in the ECS cluster. You should see infrastructure and docker metrics flowing soon.
84-
8551
.. _ecs-ec2-custom-config:
8652

8753
Use a custom configuration
@@ -94,7 +60,7 @@ Alternatively, you can specify the custom configuration YAML directly using the
9460

9561
``ecs_observer`` configuration
9662
--------------------------------
97-
Use extension Amazon Elastic Container Service Observer (``ecs_observer``) in your custom configuration to discover metrics targets in running tasks, filtered by service names, task definitions, and container labels. ``ecs_observer`` is currently limited to Prometheus targets and requires the read-only permissions below. You can add the permissions to the task role by adding them to a customer-managed policy that is attached to the task role.
63+
Use extension Amazon Elastic Container Service Observer (``ecs_observer``) in your custom configuration to discover metrics targets in running tasks, filtered by service names, task definitions, and container labels. ``ecs_observer`` is currently limited to Prometheus targets and requires the read-only permissions below. The Collector should be configured to run as an ECS Daemon. You can add the permissions to the task role by adding them to a customer-managed policy that is attached to the task role.
9864

9965
.. code-block:: yaml
10066
@@ -147,6 +113,25 @@ The results are written to ``/etc/ecs_sd_targets.yaml``. The ``prometheus`` rece
147113
148114
.. _aws-parameter-store:
149115

116+
Launch the Collector as a Daemon
117+
-------------------------------
118+
To launch the Collector from the Amazon ECS console:
119+
120+
#. Go to your cluster in the console.
121+
#. Select :guilabel:`Services`.
122+
#. Select :guilabel:`Create`.
123+
#. Select the following options:
124+
#. Launch Type: EC2
125+
#. Task Definition (Family): splunk-otel-collector
126+
#. Task Definition (Revision): 1 (or whatever the latest is in your case)
127+
#. Service Name: splunk-otel-collector
128+
#. Service type: DAEMON
129+
#. Leave everything else at default.
130+
#. Select :guilabel:`Next step`.
131+
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
132+
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
133+
#. Select :guilabel:`Create Service` to deploy the Collector onto each node in the ECS cluster. You should see infrastructure and docker metrics flowing soon.
134+
150135
Use the AWS Parameter Store
151136
----------------------------
152137

0 commit comments

Comments
 (0)