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.
Below are two ways of forwarding your Docker logs to SignalFlex.
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 keySIGNALFLEX_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
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