aboutsummaryrefslogtreecommitdiff
path: root/utils/heartbeat_hammer.sh
diff options
context:
space:
mode:
authorTelyn <telyn@telynz.uk>2018-01-31 11:30:50 +0000
committerGitHub <noreply@github.com>2018-01-31 11:30:50 +0000
commit9ef70ed3d53e11dacc5d4df4478d5ff452a2dd6d (patch)
treeace44f0ea0a81d7d369df74c3d95c219905e7fa6 /utils/heartbeat_hammer.sh
parent0be1fa0ebadf9435a760582d17f47ff96dc0851c (diff)
parent9af0d1761552601db30de7a991d90d64ec6c88f5 (diff)
Merge pull request #6 from BytemarkHosting/release-to-masterHEADmaster
Release to master
Diffstat (limited to 'utils/heartbeat_hammer.sh')
-rw-r--r--utils/heartbeat_hammer.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/utils/heartbeat_hammer.sh b/utils/heartbeat_hammer.sh
new file mode 100644
index 0000000..12b74bc
--- /dev/null
+++ b/utils/heartbeat_hammer.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+PRE="ruby -I lib bin/mauvesend [::1]"
+F=60
+S=10
+n=$*
+
+_host () {
+ hostname="imaginary-$i.example.com"
+ down="n"
+
+ while( true ) ; do
+
+ if [ "$down" == "n" ] ; then
+ $PRE -o $hostname -i heartbeat -r +$F -c now -s "heartbeat failed" --detail="<p>The heartbeat wasn't sent for this host</p><p>This indicates that the host might be down</p>"
+ sleep $((F - $RANDOM*$S/32768 - $S))
+ else
+ sleep $((RANDOM*$S/32768 + $F + $S))
+ fi
+
+ if [ $RANDOM -gt 30000 ] ; then
+ [ "$down" == "n" ] && echo "Host $hostname down"
+ down="y"
+ else
+ [ "$down" == "y" ] && echo "Host $hostname up"
+ down="n"
+ fi
+ done
+}
+
+echo -e "This command will go beserk. To kill run\n pkill -t `tty`\n\nGiving you 5 seconds to quit!"
+
+sleep 5
+
+for i in `seq 1 100` ; do
+ _host $i &
+ sleep 0.2
+done
+