Zabbixのプロセスが生きているのにキューが溜まり続ける事がある。
その場合、telnet [Zabbix Host] 10051 で確認すると接続できなくなっている。
$ telnet 192.168.100.10 10051 Trying 192.168.100.10... telnet: connect to address 192.168.100.10: Connection timed out telnet: Unable to connect to remote host: Connection timed out
$ telnet 192.168.100.10 10051 Trying 192.168.100.10... Connected to 192.168.100.10 (192.168.100.10). Escape character is '^]'. Connection closed by foreign host.
①expectでtelnetを実行する。
②正常に接続できれば、改行を入れる事でtelnetから抜ける。(終了ステータス: 0)
タイムアウトした場合(終了ステータス: 1)
③終了ステータスの場合は、エラーメールを投げる
_host=192.168.100.10 expect -c " set timeout 20 spawn telnet $_host 10051 expect \"Trying 192.168.100.10...\r\r Connected to 192.168.100.10.\r\r Escape character is '^]'.\r\r \" { send \"\r\" exit 0 } exit 1 " flg=$?
expect利用時にハマりやすい。