Docs
Search…
Docker
You can send logs from Docker, Docker Cloud, Amazon Elastic Container Service (ECS), and other Docker-based platforms to SignalFlex. They can be transformed and then forwarded to other tools.

Docker

Below are two ways of forwarding your Docker logs to SignalFlex.

Option 1

The SignalFlex logspout container lets you send logs from Docker, Docker Cloud, Amazon Elastic Container Service (ECS), and other Docker-based platforms. The container automatically collects logs generated by other containers running on the host and sends them to SignalFlex. The container is based on Logspout.
To log a standard Docker deployment, deploy an instance of the SignalFlex logspout container. Make sure to replace the following values (these also apply to all of the following deployment methods):
  • SIGNALFLEX_KEY: Required. Your SignalFlex API key
  • SIGNALFLEX_PIPELINE_ID: Required. Your SignalFlex pipeline to process logs.
  • FILTER_NAME: Optional. The name of the specific container to monitor.
  • FILTER_LABELS: Optional. A comma-separated list of labels to use to filter specific containers.
  • HOSTNAME: Optional. An alternate hostname other than the one detected by the container.
  • TAGS: Optional. A comma-separated list of tags to apply to logs processed by this container.
sudo docker run --name="signalflex" --restart=always \
-d -v=/var/run/docker.sock:/var/run/docker.sock \
-e SIGNALFLEX_KEY="YOUR-SIGNALFLEX-KEY" \
-e SIGNALFLEX_PIPELINE_ID="SIGNALFLEX-PIPELINE-PROCESS-YOUR-LOGS"
-e FILTER_NAME="CONTAINER-NAME" \
-e FILTER_LABELS="COMMA-SEPARATED-LABELS" \
-e HOSTNAME="ALTERNATIVE-HOSTNAME" \
-e TAGS="COMMA-SEPARATED-TAGS" \
signalflex/logspout:latest

Option 2

Use Vector and use Docker source in Vector configuration file.
Step 1. Create Vector configuration file vector.toml, add the following:
Replace container_id pipeline_id, and api_key accordingly
data_dir = "/vector"
[sources.in]
type = "docker"
include_containers = [${container_id}]
[sinks.out]
inputs = ["in"]
type = "http"
encoding.codec = "text"
headers.pipeline = $SIGNALFLEX_PIPELINE_ID
headers.api_key = $SIGNALFLEX_KEY
uri = "http://localhost:8080/batch"
Step 2. Start vector
$vector --config vector.toml
After above steps are finished, your logs will be collected by Vector and sent to SignalFlex.
Last modified 2yr ago
Copy link
Outline
Docker
Option 1
Option 2