Skip to content

Instantly share code, notes, and snippets.

@vfarcic
Created August 12, 2017 23:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vfarcic/8bafbe912f277491eb2ce6f9d29039f9 to your computer and use it in GitHub Desktop.
Save vfarcic/8bafbe912f277491eb2ce6f9d29039f9 to your computer and use it in GitHub Desktop.
chmod +x scripts/dm-swarm-12.sh
./scripts/dm-swarm-12.sh
eval $(docker-machine env swarm-1)
docker stack ls
docker stack deploy \
-c stacks/go-demo-instrument.yml \
go-demo
open "http://$(docker-machine ip swarm-1)/monitor/config"
open "http://$(docker-machine ip swarm-1)/monitor/targets"
open "http://$(docker-machine ip swarm-1)/monitor/graph"
for i in {1..30}; do
DELAY=$[ $RANDOM % 6000 ]
curl "http://$(docker-machine ip swarm-1)/demo/hello?delay=$DELAY"
done
for i in {1..30}; do
DELAY=$[ $RANDOM % 6000 ]
curl "http://$(docker-machine ip swarm-1)/demo/hello?delay=$DELAY"
done
for i in {1..100}; do
curl "http://$(docker-machine ip swarm-1)/demo/random-error"
done
docker stack deploy \
-c stacks/go-demo-instrument-alert.yml \
go-demo
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
for i in {1..30}; do
DELAY=$[ $RANDOM % 6000 ]
curl "http://$(docker-machine ip swarm-1)/demo/hello?delay=$DELAY"
done
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
docker stack rm monitor
docker secret rm alert_manager_config
echo "route:
group_by: [service,scale]
repeat_interval: 5m
group_interval: 5m
receiver: 'slack'
routes:
- match:
service: 'go-demo_main'
scale: 'up'
receiver: 'jenkins-go-demo_main-up'
receivers:
- name: 'slack'
slack_configs:
- send_resolved: true
title: '[{{ .Status | toUpper }}] {{ .GroupLabels.service }} service is in danger!'
title_link: 'http://$(docker-machine ip swarm-1)/monitor/alerts'
text: '{{ .CommonAnnotations.summary}}'
api_url: 'https://hooks.slack.com/services/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'
- name: 'jenkins-go-demo_main-up'
webhook_configs:
- send_resolved: false
url: 'http://$(docker-machine ip swarm-1)/jenkins/job/service-scale/buildWithParameters?token=DevOps22&service=go-demo_main&scale=1'
" | docker secret create alert_manager_config -
DOMAIN=$(docker-machine ip swarm-1) \
docker stack deploy \
-c stacks/docker-flow-monitor-slack.yml \
monitor
open "http://$(docker-machine ip swarm-1)/jenkins/blue/organizations/jenkins/service-scale/activity"
docker stack ps \
-f desired-state=Running go-demo
for i in {1..30}; do
DELAY=$[ $RANDOM % 6000 ]
curl "http://$(docker-machine ip swarm-1)/demo/hello?delay=$DELAY"
done
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
open "http://$(docker-machine ip swarm-1)/jenkins/blue/organizations/jenkins/service-scale/activity"
docker stack ps \
-f desired-state=Running go-demo
docker stack rm monitor
docker secret rm alert_manager_config
echo "route:
group_by: [service,scale]
repeat_interval: 5m
group_interval: 5m
receiver: 'slack'
routes:
- match:
service: 'go-demo_main'
scale: 'up'
receiver: 'jenkins-go-demo_main-up'
- match:
service: 'go-demo_main'
scale: 'down'
receiver: 'jenkins-go-demo_main-down'
receivers:
- name: 'slack'
slack_configs:
- send_resolved: true
title: '[{{ .Status | toUpper }}] {{ .GroupLabels.service }} service is in danger!'
title_link: 'http://$(docker-machine ip swarm-1)/monitor/alerts'
text: '{{ .CommonAnnotations.summary}}'
api_url: 'https://hooks.slack.com/services/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'
- name: 'jenkins-go-demo_main-up'
webhook_configs:
- send_resolved: false
url: 'http://$(docker-machine ip swarm-1)/jenkins/job/service-scale/buildWithParameters?token=DevOps22&service=go-demo_main&scale=1'
- name: 'jenkins-go-demo_main-down'
webhook_configs:
- send_resolved: false
url: 'http://$(docker-machine ip swarm-1)/jenkins/job/service-scale/buildWithParameters?token=DevOps22&service=go-demo_main&scale=-1'
" | docker secret create alert_manager_config -
DOMAIN=$(docker-machine ip swarm-1) \
docker stack deploy \
-c stacks/docker-flow-monitor-slack.yml \
monitor
docker stack deploy \
-c stacks/go-demo-instrument-alert-2.yml \
go-demo
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
open "http://$(docker-machine ip swarm-1)/jenkins/blue/organizations/jenkins/service-scale/activity"
docker stack deploy \
-c stacks/go-demo-instrument-alert-short.yml \
go-demo
docker stack deploy \
-c stacks/go-demo-instrument-alert-error.yml \
go-demo
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
for i in {1..100}; do
curl "http://$(docker-machine ip swarm-1)/demo/random-error"
done
open "http://$(docker-machine ip swarm-1)/monitor/alerts"
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