Persisting Seq logs to an EBS volume - the volume keeps detaching

596 views Asked by At

I'm running the Seq docker image on an AWS EC2 instance.

In order to have the logs written to persistent storage, I've attached an EBS volume to the instance, and mounted it from within the instance with the rexray/ebs plugin:
docker plugin install rexray/ebs:latest REXRAY_PREEMPT=true EBS_REGION=eu-central-1a --grant-all-permissions EBS_ACCESSKEY=... EBS_SECRETKEY=...

docker volume create --driver rexray/ebs --name SeqData

Then instructed Seq to use that volume:
docker run -d --name seq -e ACCEPT_EULA=Y -v SeqData:/data -p 80:80 -p 5341:5341 datalust/seq:latest

Seq runs fine for a while (sometimes for a few hours, sometimes a few days), then I notice that the container is no longer running, and the AWS console shows that the volume has been detached. The AWS logs show that a DetachVolume event was initiated by the instance.

I reattach the volume manually in the AWS console, and restart the container. Seq resumes its normal operation, then after a while the phenomenon repeats itself.

The docker log doesn't give any hint. It just shows Seq logging its normal activity (retention, indexing, etc.) approximately every 5 minutes - up till about 10 minutes before the time that the detaching occurred.

I have limited experience with AWS or Docker, so I'll be grateful if anyone can help me out.

1

There are 1 answers

0
Nicholas Blumhardt On BEST ANSWER

For Seq's memory management to work effectively, both --memory and --memory-swap need to be passed to the docker run command. Normally these should have the same value (i.e. no swap).

docker run --memory=4g --memory-swap=4g <other args> datalust/seq