Skip to content

Instantly share code, notes, and snippets.

@vfarcic
Created January 11, 2017 00:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save vfarcic/5a35ceae789296c61ca660e8ba4d1d9a to your computer and use it in GitHub Desktop.
Save vfarcic/5a35ceae789296c61ca660e8ba4d1d9a to your computer and use it in GitHub Desktop.
cd cloud-provisioning
git pull
scripts/dm-swarm.sh
eval $(docker-machine env swarm-1)
docker network create --driver overlay elk
docker service create \
--name elasticsearch \
--network elk \
--reserve-memory 500m \
elasticsearch:2.4
docker service ps elasticsearch
mkdir -p docker/logstash
cp conf/logstash.conf \
docker/logstash/logstash.conf
cat docker/logstash/logstash.conf
docker service create --name logstash \
--mount "type=bind,source=$PWD/docker/logstash,target=/conf" \
--network elk \
-e LOGSPOUT=ignore \
--reserve-memory 100m \
logstash:2.4 logstash -f /conf/logstash.conf
docker service ps logstash
LOGSTASH_NODE=$(docker service ps logstash | tail -n +2 | awk '{print $4}')
eval $(docker-machine env $LOGSTASH_NODE)
LOGSTASH_ID=$(docker ps -q --filter "ancestor=logstash:2.4")
docker logs $LOGSTASH_ID
eval $(docker-machine env swarm-1)
docker service create \
--name logger-test \
--network elk \
--restart-condition none \
debian \
logger -n logstash -P 51415 hello world
eval $(docker-machine env $LOGSTASH_NODE)
docker logs $LOGSTASH_ID
eval $(docker-machine env swarm-1)
docker service rm logger-test
docker service create --name logspout \
--network elk \
--mode global \
--mount "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock" \
-e SYSLOG_FORMAT=rfc3164 \
gliderlabs/logspout syslog://logstash:51415
docker service ps logspout
docker service create --name registry \
-p 5000:5000 \
--reserve-memory 100m \
registry
docker service ps registry
eval $(docker-machine env $LOGSTASH_NODE)
docker logs $LOGSTASH_ID
docker network create --driver overlay proxy
docker service create --name swarm-listener \
--network proxy \
--mount "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock" \
-e DF_NOTIF_CREATE_SERVICE_URL=http://proxy:8080/v1/docker-flow-proxy/reconfigure \
-e DF_NOTIF_REMOVE_SERVICE_URL=http://proxy:8080/v1/docker-flow-proxy/remove \
--constraint 'node.role==manager' \
vfarcic/docker-flow-swarm-listener
docker service create --name proxy \
-p 80:80 \
-p 443:443 \
--network proxy \
-e MODE=swarm \
-e LISTENER_ADDRESS=swarm-listener \
vfarcic/docker-flow-proxy
docker service create --name kibana \
--network elk \
--network proxy \
-e ELASTICSEARCH_URL=http://elasticsearch:9200 \
--reserve-memory 50m \
--label com.df.notify=true \
--label com.df.distribute=true \
--label com.df.servicePath=/app/kibana,/bundles,/elasticsearch \
--label com.df.port=5601 \
kibana:4.6
docker service ps kibana
open http://$(docker-machine ip swarm-1)/app/kibana
docker-machine rm -f swarm-1 swarm-2 swarm-3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment