Overview
For RHEL and CentOS, the Observability Pipelines Worker supports versions 8.0 or later.
The Observability Pipelines Worker is software that runs in your environment to centrally aggregate and process your logs and metrics (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.Glossary), and then route them to different destinations.
The Observability Pipelines Worker supports all major Kubernetes distributions, such as:
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- Google Kubernetes Engine (GKE)
- Red Hat OpenShift
- Rancher
This page describes how you can set up the Observability Pipelines Worker in ECS Fargate.
Note: If you are using a proxy, see the proxy option in Bootstrap options.
Install the Worker
Run the following command to install the Worker:
docker run -i -e DD_API_KEY=<DATADOG_API_KEY> \ -e DD_OP_PIPELINE_ID=<PIPELINE_ID> \ -e DD_SITE=<DATADOG_SITE> \ -v /path/to/local/bootstrap.yaml:/etc/observability-pipelines-worker/bootstrap.yaml \ datadog/observability-pipelines-worker runYou must replace the placeholders with the following values:
<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.<DATADOG_SITE>: The Datadog site.
Modify the Worker bootstrap file to connect the Worker to your secrets manager. See Secrets Management for more information.
Restart the Worker to use the updated bootstrap file:
sudo systemctl restart observability-pipelines-worker
Run the following command to install the Worker:
docker run -i -e DD_API_KEY=<DATADOG_API_KEY> \
-e DD_OP_PIPELINE_ID=<PIPELINE_ID> \
-e DD_SITE=<DATADOG_SITE> \
-e <SOURCE_ENV_VARIABLE> \
-e <DESTINATION_ENV_VARIABLE> \
-p 8088:8088 \
datadog/observability-pipelines-worker run
You must replace the placeholders with these values:
<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.<DATADOG_SITE>: The Datadog site.<SOURCE_ENV_VARIABLE>: The environment variables required by the source you are using for your pipeline.- For example:
DD_OP_SOURCE_DATADOG_AGENT_ADDRESS=0.0.0.0:8282 - See Environment Variables for a list of source environment variables.
- For example:
<DESTINATION_ENV_VARIABLE>: The environment variables required by the destinations you are using for your pipeline.- For example:
DD_OP_DESTINATION_SPLUNK_HEC_ENDPOINT_URL=https://hec.splunkcloud.com:8088 - See Environment Variables for a list of destination environment variables.
- For example:
Notes:
- By default, the
docker runcommand exposes the same port the Worker is listening on. If you want to map the Worker's container port to a different port on the Docker host, use the-p | --publishoption in the command:-p 8282:8088 datadog/observability-pipelines-worker run - Use the
VECTOR_HOSTNAMEenvironment variable to assign a unique hostname and help you identify the Worker. - If you are using a firewall, see Add domains to firewall allowlist.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
- Download the Helm chart values file. See the full list of available configuration options. If you are not using a managed service, see Self-hosted and self-managed Kubernetes clusters before continuing to the next step.
- Add the Datadog chart repository to Helm:If you already have the Datadog chart repository, run the following command to ensure it is up to date:
helm repo add datadog https://helm.datadoghq.comhelm repo update
See Secrets Management on how to configure your
values.yamlfile for your secrets manager.Run the following command to install the Worker:
helm upgrade --install opw \ -f values.yaml \ --set datadog.apiKey=<DATADOG_API_KEY> \ --set datadog.pipelineId=<PIPELINE_ID> \ datadog/observability-pipelines-workerYou must replace the placeholders with the following values:
<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.
Run the following command to install the Worker:
helm upgrade --install opw \ -f values.yaml \ --set datadog.apiKey=<DATADOG_API_KEY> \ --set datadog.pipelineId=<PIPELINE_ID> \ --set <SOURCE_ENV_VARIABLES> \ --set <DESTINATION_ENV_VARIABLES> \ --set service.ports[0].protocol=TCP,service.ports[0].port=<SERVICE_PORT>,service.ports[0].targetPort=<TARGET_PORT> \ datadog/observability-pipelines-workerYou must replace the placeholders with the following values:
<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.<SOURCE_ENV_VARIABLE>: The environment variables required by the source you are using for your pipeline.- For example:
--set env[0].name=DD_OP_SOURCE_DATADOG_AGENT_ADDRESS,env[0].value='0.0.0.0' \ - See Environment Variables for a list of source environment variables.
- For example:
<DESTINATION_ENV_VARIABLE>: The environment variables required by the destinations you are using for your pipeline.- For example:
--set env[1].name=DD_OP_DESTINATION_SPLUNK_HEC_ENDPOINT_URL,env[1].value='https://hec.splunkcloud.com:8088' \ - See Environment Variables for a list of destination environment variables.
- For example:
Follow these steps if you want to use the one-line installation script to install the Worker. Otherwise, see Manually install the Worker.
- Run this one-step command to install the Worker:You must replace the placeholders with the following values:
DD_API_KEY=<DATADOG_API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<DATADOG_SITE> bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_op_worker2.sh)"<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.<DATADOG_SITE>: The Datadog site.
- Modify the Worker bootstrap file to connect the Worker to your secrets manager. See Secrets Management for more information.
- Restart the Worker to use the updated bootstrap file:
sudo systemctl restart observability-pipelines-worker
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
Run this one-step command to install the Worker:
DD_API_KEY=<DATADOG_API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<DATADOG_SITE> <SOURCE_ENV_VARIABLE> <DESTINATION_ENV_VARIABLE> bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_op_worker2.sh)"
You must replace the placeholders with the following values:
<DATADOG_API_KEY>: Your Datadog API key.- Note: The API key must be enabled for Remote Configuration.
<PIPELINE_ID>: The ID of your pipeline.<DATADOG_SITE>: The Datadog site.<SOURCE_ENV_VARIABLE>: The environment variables required by the source you are using for your pipeline.- For example:
DD_OP_SOURCE_DATADOG_AGENT_ADDRESS=0.0.0.0:8282 - See Environment Variables for a list of source environment variables.
- For example:
<DESTINATION_ENV_VARIABLE>: The environment variables required by the destinations you are using for your pipeline.- For example:
DD_OP_DESTINATION_SPLUNK_HEC_ENDPOINT_URL=https://hec.splunkcloud.com:8088 - See Environment Variables for a list of destination environment variables.
- For example:
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
Select one of the options in the dropdown to provide the expected log or metrics (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.Glossary) volume for the pipeline:
Option Description Unsure Use this option if you are not able to project the data volume or you want to test the Worker. This option provisions the EC2 Auto Scaling group with a maximum of 2 general purpose t4g.largeinstances.1-5 TB/day This option provisions the EC2 Auto Scaling group with a maximum of 2 compute optimized instances c6g.large.5-10 TB/day This option provisions the EC2 Auto Scaling group with a minimum of 2 and a maximum of 5 compute optimized c6g.largeinstances.>10 TB/day Datadog recommends this option for large-scale production deployments. It provisions the EC2 Auto Scaling group with a minimum of 2 and a maximum of 10 compute optimized c6g.xlargeinstances.Note: All other parameters are set to reasonable defaults for a Worker deployment, but you can adjust them for your use case as needed in the AWS Console before creating the stack.
Select the AWS region you want to use to install the Worker.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Click Launch CloudFormation Template to navigate to the AWS Console to review the stack configuration and then launch it. Make sure the CloudFormation parameters are as expected.
Select the VPC and subnet you want to use to install the Worker.
Review and check the necessary permissions checkboxes for IAM. Click Submit to create the stack. CloudFormation handles the installation at this point; the Worker instances are launched, the necessary software is downloaded, and the Worker starts automatically.
Note: If you are using a firewall, see Add domains to firewall allowlist.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
After you set up your source, destinations, and processors on the Build page of the pipeline UI, follow the steps on the Install page to install the Worker.
- Select Docker as your installation platform.
In Review your secrets management, ensure that your secrets are configured in your secrets manager.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Run the command provided in the UI to install the Worker. The command points to the Worker bootstrap file that you configure to resolve secrets using your secrets manager.
Modify the Worker bootstrap file to connect the Worker to your secrets manager. See Secrets Management for more information.
Restart the Worker to use the updated bootstrap file:
sudo systemctl restart observability-pipelines-workerNavigate back to the Observability Pipelines installation page and click Deploy.
In Review your secrets management, enter the environment variables for your sources and destinations, if applicable.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Run the command provided in the UI to install the Worker. The command is automatically populated with the environment variables you entered in Review your secrets management.
Navigate back to the Observability Pipelines installation page and click Deploy.
Notes:
- By default, the
docker runcommand exposes the same port the Worker is listening on. If you want to map the Worker's container port to a different port on the Docker host, use the-p | --publishoption in the command:-p 8282:8088 datadog/observability-pipelines-worker run - Use the
VECTOR_HOSTNAMEenvironment variable to assign a unique hostname and help you identify the Worker. - If you are using a firewall, see Add domains to firewall allowlist.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
After you set up your source, destinations, and processors on the Build page of the pipeline UI, follow the steps on the Install page to install the Worker.
- Select Kubernetes as your installation platform.
- In Review your secrets management, ensure that your secrets are configured in your secrets manager.
- Download the Helm chart values file. See the full list of available configuration options.
- If you are not using a managed service, see Self-hosted and self-managed Kubernetes clusters before continuing to the next step.
- Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
- Add the Datadog chart repository to Helm:If you already have the Datadog chart repository, run the following command to make sure it is up to date:
helm repo add datadog https://helm.datadoghq.comhelm repo update
- Configure your
values.yamlfile for your secrets manager. See Secrets Management. - Run the command provided in the UI to install the Worker.
- Navigate back to the Observability Pipelines installation page and click Deploy.
- In Review your secrets management, enter the environment variables for your sources and destinations, if applicable.
- Download the Helm chart values file. See the full list of available configuration options.
- If you are not using a managed service, see Self-hosted and self-managed Kubernetes clusters before continuing to the next step.
- Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
- Add the Datadog chart repository to Helm:If you already have the Datadog chart repository, run the following command to make sure it is up to date:
helm repo add datadog https://helm.datadoghq.comhelm repo update
- Run the command provided in the UI to install the Worker. The command is automatically populated with the environment variables you entered earlier.
- Navigate back to the Observability Pipelines installation page and click Deploy.
After you set up your source, destinations, and processors on the Build page of the pipeline UI, follow the steps on the Install page to install the Worker.
- Select Linux as your installation platform.
- In Review your secrets management, ensure that your secrets are configured in your secrets manager.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Run the one-step command provided in the UI to install the Worker. If you want to manually install the Worker, see Manually install the Worker.
- Modify the Worker bootstrap file to connect the Worker to your secrets manager. See Secrets Management for more information.
- Restart the Worker to use the updated bootstrap file:
sudo systemctl restart observability-pipelines-worker - Navigate back to the Observability Pipelines installation page and click Deploy.
Note: If you are using a firewall, see Add domains to firewall allowlist.
- In Review your secrets management, enter the environment variables for your sources and destinations, if applicable.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Run the one-step command provided in the UI to install the Worker. If you want to manually install the Worker, see Manually install the Worker.
- Navigate back to the Observability Pipelines installation page and click Deploy.
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
After you set up your source, destinations, and processors on the Build page of the pipeline UI, follow the steps on the Install page to install the Worker.
- Select CloudFormation as your installation platform.
- In Review your secrets management, ensure that your secrets are configured in your secrets manager.
- In Review your secrets management, enter the environment variables for your sources and destinations, if applicable.
Select one of the options in the dropdown to provide the expected log or metrics (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.Glossary) volume for the pipeline:
Option Description Unsure Use this option if you are not able to project the data volume or you want to test the Worker. This option provisions the EC2 Auto Scaling group with a maximum of 2 general purpose t4g.largeinstances.1-5 TB/day This option provisions the EC2 Auto Scaling group with a maximum of 2 compute optimized instances c6g.large.5-10 TB/day This option provisions the EC2 Auto Scaling group with a minimum of 2 and a maximum of 5 compute optimized c6g.largeinstances.>10 TB/day Datadog recommends this option for large-scale production deployments. It provisions the EC2 Auto Scaling group with a minimum of 2 and a maximum of 10 compute optimized c6g.xlargeinstances.Note: All other parameters are set to reasonable defaults for a Worker deployment, but you can adjust them for your use case as needed in the AWS Console before creating the stack.
Select the AWS region you want to use to install the Worker.
Click Select API key to choose the Datadog API key you want to use.
- Note: The API key must be enabled for Remote Configuration.
Click Launch CloudFormation Template to navigate to the AWS Console to review the stack configuration and then launch it. Make sure the CloudFormation parameters are as expected.
Select the VPC and subnet you want to use to install the Worker.
Review and check the necessary permissions checkboxes for IAM. Click Submit to create the stack. CloudFormation handles the installation at this point; the Worker instances are launched, the necessary software is downloaded, and the Worker starts automatically.
Navigate back to the Observability Pipelines installation page and click Deploy.
Note: If you are using a firewall, see Add domains to firewall allowlist.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
Configuration setup
In the following example, the setup configuration consists of a Fargate task, Fargate service, and a load balancer.
Configure the task definition
Create a task definition. The task definition describes which containers to run, the configuration (such as the environment variables and ports), and the CPU and memory resources allocated for the task.
The tasks should be deployed as a replica with auto scaling enabled, where the minimum number of containers should be based on your log volume and the maximum number of containers should be able to absorb any spikes or growth in log volume. See Best Practices for Scaling Observability Pipelines to help determine how much CPU and memory resources to allocate.
Notes:
- The guidance for CPU and memory allocation is not for a single instance of the task, but for the total number of tasks. For example, if you want to send 3 TB of logs to the Worker, you could either deploy three replicas with one vCPU each or deploy one replica with three vCPUs.
- Datadog recommends enabling load balancers for the pool of replica tasks.
In the task definition, set the DD_OP_SOURCE_* environment variable according to the configuration of the pipeline and port mappings. DD_OP_API_ENABLED and DD_OP_API_ADDRESS allow the load balancer to perform health checks on the Observability Pipelines Worker.
Also, configure your task definition to point to your Secrets Manager. For example for AWS Secrets Manager or AWS Systems Manager Parameter Store, specify the ARNs that point to the stored secrets. See Specifying sensitive data using Secrets Manager secrets in Amazon ECS for details.
An example task definition using AWS Secrets Manager:
{
"family": "my-opw",
"containerDefinitions": [
{
"name": "my-opw",
"image": "datadog/observability-pipelines-worker",
"cpu": 0,
"portMappings": [
{
"name": "my-opw-80-tcp",
"containerPort": 80,
"hostPort": 80,
"protocol": "tcp"
}
],
"essential": true,
"command": [
"run"
],
"environment": [
{
"name": "DD_OP_API_ENABLED",
"value": "true"
},
{
"name": "DD_API_KEY",
"value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{
"name": "DD_SITE",
"value": "datadoghq.com"
},
{
"name": "DD_OP_API_ADDRESS",
"value": "0.0.0.0:8181"
},
{
"name": "DD_OP_PIPELINE_ID",
"value": "xxxxxxx-xxxx-xxxx-xxxx-xxxx"
}
],
"secrets": [
{
"valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:username_value",
"name": "username_value"
}
],
"mountPoints": [],
"volumesFrom": [],
"systemControls": []
}
],
"tags": [
{
"key": "PrincipalId",
"value": "AROAYYB64AB3JW3TEST"
},
{
"key": "User",
"value": "username@test.com"
}
],
"executionRoleArn": "arn:aws:iam::60142xxxxxx:role/ecsTaskExecutionRole",
"networkMode": "awsvpc",
"volumes": [],
"placementConstraints": [],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "xxx",
"memory": "xxx"
}
An example task definition:
{
"family": "my-opw",
"containerDefinitions": [
{
"name": "my-opw",
"image": "datadog/observability-pipelines-worker",
"cpu": 0,
"portMappings": [
{
"name": "my-opw-80-tcp",
"containerPort": 80,
"hostPort": 80,
"protocol": "tcp"
}
],
"essential": true,
"command": [
"run"
],
"environment": [
{
"name": "DD_OP_API_ENABLED",
"value": "true"
},
{
"name": "DD_API_KEY",
"value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{
"name": "DD_SITE",
"value": "datadoghq.com"
},
{
"name": "DD_OP_API_ADDRESS",
"value": "0.0.0.0:8181"
},
{
"name": "DD_OP_SOURCE_HTTP_SERVER_ADDRESS",
"value": "0.0.0.0:80"
},
{
"name": "DD_OP_PIPELINE_ID",
"value": "xxxxxxx-xxxx-xxxx-xxxx-xxxx"
}
],
"mountPoints": [],
"volumesFrom": [],
"systemControls": []
}
],
"tags": [
{
"key": "PrincipalId",
"value": "AROAYYB64AB3JW3TEST"
},
{
"key": "User",
"value": "username@test.com"
}
],
"executionRoleArn": "arn:aws:iam::60142xxxxxx:role/ecsTaskExecutionRole",
"networkMode": "awsvpc",
"volumes": [],
"placementConstraints": [],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "xxx",
"memory": "xxx"
}
Configure the ECS service
Create an ECS service. The service configuration sets the number of Worker replicas to run and the scaling policy. In this example, the scaling policy is set to target an average CPU utilization of 70% with a minimum of two replicas and a maximum of five replicas.
Set up load balancing
Depending on your use case, configure either an Application Load Balancer or a Network Load Balancer to target the group of Fargate tasks you defined earlier. Configure the health check against the Observability Pipelines' API port that was set in the task definition.
Notes:
- By default, the Kubernetes Service maps incoming port
<SERVICE_PORT>to the port the Worker is listening on (<TARGET_PORT>). If you want to map the Worker's pod port to a different incoming port of the Kubernetes Service, use the followingservice.ports[0].portandservice.ports[0].targetPortvalues in the command:--set service.ports[0].protocol=TCP,service.ports[0].port=8088,service.ports[0].targetPort=8282 - If you enable disk buffering for destinations, you must enable Kubernetes persistent volumes in the Observability Pipelines Helm chart.
- If you are using a firewall, see Add domains to firewall allowlist.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
Self-hosted and self-managed Kubernetes clusters
If you are running a self-hosted and self-managed Kubernetes cluster, and defined zones with node labels using topology.kubernetes.io/zone, then you can use the Helm chart values file as is. However, if you are not using the label topology.kubernetes.io/zone, you need to update the topologyKey in the values.yaml file to match the key you are using. Or if you run your Kubernetes install without zones, remove the entire topology.kubernetes.io/zone section.
Kubernetes services created
When you install the Observability Pipelines Worker on Kubernetes, the Helm chart creates:
- A headless Service (
clusterIP: None) that exposes the individual Worker Pods using DNS. This allows direct Pod-to-Pod communication and stable network identities for peer discovery or direct Pod addressing. - A ClusterIP service that provides a single virtual IP and DNS name for the Worker. This enables load balancing across Worker Pods for internal cluster traffic.
LoadBalancer service
If you set service.type: LoadBalancer in the Helm chart, Kubernetes provisions a load balancer in supported environments and exposes the Worker Service with an external IP/DNS name. For example, Amazon EKS with the AWS Load Balancer Controller installed. Use this LoadBalancer service when traffic originates outside the cluster.
Set the Worker name using the Pod and cluster name
By default, a Worker's hostname is the machine's hostname, such as COMP-JLXPKWTGJF. If you run your pipeline across multiple clusters or containers, assign each Worker a unique hostname based on the Pod name and cluster name to make them easier to identify.
In the Helm chart values.yaml:
- Configure the environment variable
POD_NAMEto be automatically set to the Pod's name. In the Helm chart:env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - Set the
CLUSTER_NAMEenvironment variable in the Helm chart.env: - name: CLUSTER_NAME value: "<MY_CLUSTER_NAME>" - Set the
VECTOR_HOSTNAMEto thePOD_NAMEandCLUSTER_NAME.env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: CLUSTER_NAME value: "<MY_CLUSTER_NAME>" - name: VECTOR_HOSTNAME value: "$(CLUSTER_NAME)_$(POD_NAME)"
Upgrade the Worker
To upgrade the Worker, you can either upgrade with a pinned image tag or upgrade with the chart's default image tag.
After you update the values.yaml file with the new Worker version, new Worker pods are created with the updated image. Old pods are terminated only after the replacements are Ready. The update is a rolling update by default, so one pod is upgraded at a time. To change the default values, see the updateStrategy options in the values.yaml file:
updateStrategy: {}
# type: RollingUpdate
# rollingUpdate:
# maxUnavailable: 1
# terminationGracePeriodSeconds -- Override terminationGracePeriodSeconds.
Upgrade with a pinned image tag
Update the image.tag in your values.yaml file, replacing <WORKER_VERSION> with the Worker version you want to use (such as 2.15.0):
image:
# image.name -- Specify the image name to use (relative to `image.repository`).
name: observability-pipelines-worker
# image.tag -- Specify the image tag to use.
tag: <WORKER_VERSION>
Note: Your deployment continues using that image tag until you set image.tag in your values.yaml file to another version.
Upgrade with the chart's default image tag
Run these commands to update the Helm repo and upgrade the release to the chart's default image, applying any overrides you previously set. Replace <YOUR_VALUES_FILE> with the name of your values.yaml file:
helm repo update
helm upgrade --install opw datadog/observability-pipelines-worker -f <YOUR_VALUES_FILE>.yaml
Note: Keep all custom settings in your values.yaml file and override only the values you need. You can then re-run helm upgrade without reapplying manual overrides.
Manually install the Worker
Follow these steps to manually install the Worker, instead of running the one-line installation script.
- Set up APT transport for downloading using HTTPS:
sudo apt-get update sudo apt-get install apt-transport-https curl gnupg - Run the following commands to set up the Datadog
debrepo on your system and create a Datadog archive keyring:sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg] https://apt.datadoghq.com/ stable observability-pipelines-worker-2' > /etc/apt/sources.list.d/datadog-observability-pipelines-worker.list" sudo touch /usr/share/keyrings/datadog-archive-keyring.gpg sudo chmod a+r /usr/share/keyrings/datadog-archive-keyring.gpg curl https://keys.datadoghq.com/DATADOG_APT_KEY_CURRENT.public | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/datadog-archive-keyring.gpg --import --batch curl https://keys.datadoghq.com/DATADOG_APT_KEY_06462314.public | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/datadog-archive-keyring.gpg --import --batch curl https://keys.datadoghq.com/DATADOG_APT_KEY_F14F620E.public | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/datadog-archive-keyring.gpg --import --batch curl https://keys.datadoghq.com/DATADOG_APT_KEY_C0962C7D.public | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/datadog-archive-keyring.gpg --import --batch - Run the following commands to update your local
aptrepo and install the Worker:sudo apt-get update sudo apt-get install observability-pipelines-worker datadog-signing-keys
- Add your Datadog API key, site (for example,
datadoghq.comfor US1), and pipeline ID to the Worker's environment file:sudo cat <<EOF > /etc/default/observability-pipelines-worker DD_API_KEY=<DATADOG_API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<DATADOG_SITE> EOF
- Add your Datadog API key, site (for example,
datadoghq.comfor US1), and source and destination environment variables to the Worker's environment file:sudo cat <<EOF > /etc/default/observability-pipelines-worker DD_API_KEY=<DATADOG_API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<DATADOG_SITE> <SOURCE_ENV_VARIABLES> <DESTINATION_ENV_VARIABLES> EOF
- Start the Worker:
sudo systemctl restart observability-pipelines-worker
- Navigate back to the Observability Pipelines installation page and click Deploy.
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
Set up the Datadog
rpmrepo on your system with the following command.Note: If you are running RHEL 8.1 or CentOS 8.1, use
repo_gpgcheck=0instead ofrepo_gpgcheck=1in the configuration below.cat <<EOF > /etc/yum.repos.d/datadog-observability-pipelines-worker.repo [observability-pipelines-worker] name = Observability Pipelines Worker baseurl = https://yum.datadoghq.com/stable/observability-pipelines-worker-2/\$basearch/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public https://keys.datadoghq.com/DATADOG_RPM_KEY_B01082D3.public EOFUpdate your packages and install the Worker:
sudo yum makecache sudo yum install observability-pipelines-worker
- Add your Datadog API key, site (for example,
datadoghq.comfor US1), and pipeline ID to the Worker's environment file:sudo cat <<-EOF > /etc/default/observability-pipelines-worker DD_API_KEY=<API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<SITE> EOF - Start the Worker:
sudo systemctl restart observability-pipelines-worker
- Add your Datadog API key, site (for example,
datadoghq.comfor US1), and source and destination environment variables to the Worker's environment file:sudo cat <<-EOF > /etc/default/observability-pipelines-worker DD_API_KEY=<API_KEY> DD_OP_PIPELINE_ID=<PIPELINE_ID> DD_SITE=<SITE> <SOURCE_ENV_VARIABLES> <DESTINATION_ENV_VARIABLES> EOF - Start the Worker:
sudo systemctl restart observability-pipelines-worker
- Navigate back to the Observability Pipelines installation page and click Deploy.
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
Notes:
- The environment variables used by the Worker in
/etc/default/observability-pipelines-workerare not updated on subsequent runs of the install script. To update environment variables, manually make the changes in the file and restart the Worker. - See Add domains to firewall allowlist if you are using a firewall.
See Update Existing Pipelines if you want to make changes to your pipeline's configuration.
Upgrade the Worker
To upgrade the Worker to the latest version, run the following command:
sudo apt-get install --only-upgrade observability-pipelines-worker
sudo yum install --only-upgrade observability-pipelines-worker
Uninstall the Worker
If you want to uninstall the Worker, run the following commands:
sudo apt-get remove --purge observability-pipelines-worker
yum remove observability-pipelines-workerrpm -q --configfiles observability-pipelines-worker
Add domains to firewall allowlist
If you are using a firewall, these domains must be added to the allowlist:
api.config.http-intake.keys.
api.config.http-intake.keys.install.yum.
Index your Worker logs
Make sure your Worker logs are indexed in Log Management for optimal functionality. The logs provide deployment information, such as Worker status, version, and any errors, that is shown in the UI. The logs are also helpful for troubleshooting Worker or pipelines issues. All Worker logs have the tag source:op_worker.
Further reading
Additional helpful documentation, links, and articles:



