Ping auf einen TCP-Port
Da soll also ein kritischer Server, der unter VMWare in der DMZ läuft, per VMotion verschoben werden. Nur wie wird das Ganze überwacht? Im Normalfall lasse ich hier einen Ping laufen, einfach um zu sehen, dass das Zielnetz auf dem neuen Host auch vernünftig durchgereicht wird und der Server durchgehend erreichbar bleibt. Per ICMP-Echo ist die gute Maschine in der DMZ aber nicht erreichbar, also per WHILE-Schleife ein »Ping« auf Port 80. So die einfache Idee, leicht erweitert sollte das folgende Script in keiner Tools-Sammlung fehlen:
tcpping.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/bin/sh if [ $# != 2 ]; then echo "Usage: $0 <HOST> <PORT>" exit 1 fi i=0 while (true) do TIME=`date +%s%N| cut -c -13` SCAN=`nmap -P0 -p$2 $1` if [ $? != 0 ]; then exit 1; fi echo $SCAN |grep open >/dev/null if [ $? != 0 ]; then echo tcp ping from $1 port $2: tcp_seq\=$i time\=$(($((`date +%s%N| cut -c -13`-$TIME))))ms timeout else echo tcp ping from $1 port $2: tcp_seq\=$i time\=$(($((`date +%s%N| cut -c -13`-$TIME))))ms fi sleep 1 i=$((i+1)) done |
j-zero, der bei der Umsetzung geholfen hat, wird das Script sicherlich noch um das eine oder andere Feature erweitern.
This entry was posted on Tuesday, May 12th, 2009 at 10:04 and is filed under Linux, VMware. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
