You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 2, 2025. It is now read-only.
: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.
9
9
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.
11
11
12
12
Choose one of the following Collector configuration options:
13
13
@@ -28,76 +28,43 @@ Getting started
28
28
29
29
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.
30
30
31
-
Create a task definition
31
+
Add the Collector as a Sidecar
32
32
---------------------------------
33
-
.. note::
34
-
35
-
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.
36
-
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.
33
+
.. note:: To use this option you need to be familiar with Amazon ECS EC2 launch type. 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.
38
34
39
-
To create the task definition:
35
+
Open the ECS task definition to which the Collector Sidecar is going to be added:
40
36
41
37
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.
38
+
2. Merge the definitions of the Collector with the existing ECS task definition.
39
+
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.
44
40
45
41
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>`.
46
42
47
-
.. note::
48
-
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:
43
+
Notes:
52
44
53
-
.. code-block:: none
45
+
* 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`.
* To exclude metrics assign them as a stringified array to environment variable ``METRICS_TO_EXCLUDE``.
63
48
64
-
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.
65
-
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:
#. 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.
49
+
* 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.
84
50
85
51
.. _ecs-ec2-custom-config:
86
52
87
53
Use a custom configuration
88
54
==============================
55
+
89
56
To use a custom configuration file, replace the value of the ``SPLUNK_CONFIG`` environment variable with the file path of the custom configuration file in the Collector task definition.
90
57
91
58
Alternatively, you can specify the custom configuration YAML directly using the ``SPLUNK_CONFIG_YAML`` environment variable, as described in :ref:`ecs-observer-config`.
92
59
93
60
.. _ecs-observer-config:
94
61
95
-
``ecs_observer`` configuration
62
+
Configure ``ecs_observer``
96
63
--------------------------------
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.
98
64
99
-
.. code-block:: yaml
65
+
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.
100
66
67
+
.. code-block:: yaml
101
68
102
69
ecs:List*
103
70
ecs:Describe*
@@ -108,7 +75,6 @@ The results are written to ``/etc/ecs_sd_targets.yaml``. The ``prometheus`` rece
108
75
109
76
.. code-block:: yaml
110
77
111
-
112
78
extensions:
113
79
ecs_observer:
114
80
refresh_interval: 10s
@@ -147,6 +113,26 @@ The results are written to ``/etc/ecs_sd_targets.yaml``. The ``prometheus`` rece
147
113
148
114
.. _aws-parameter-store:
149
115
116
+
Launch the Collector as a Daemon
117
+
--------------------------------------------
118
+
119
+
To launch the Collector from the Amazon ECS console:
#. Task Definition (Revision): 1 (or whatever the latest is in your case)
128
+
#. Service Name: splunk-otel-collector
129
+
#. Service type: DAEMON
130
+
#. Leave everything else at default.
131
+
#. Select :guilabel:`Next step`.
132
+
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
133
+
#. Leave everything on this next page at their defaults and select :guilabel:`Next step`.
134
+
#. Select :guilabel:`Create Service` to deploy the Collector onto each node in the ECS cluster. You should see infrastructure and docker metrics flowing soon.
0 commit comments