====== 11_Zabbix自体の監視 ====== Zabbixのプロセスが生きているのにキューが溜まり続ける事がある。 その場合、telnet [Zabbix Host] 10051 で確認すると接続できなくなっている。 ===== 手動でtelnetした場合 ===== ==== 異常な場合 ===== $ 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利用時にハマりやすい。 === コマンドラインで実行すると === spawn telnet 192.168.100.10 10051 Trying 192.168.100.10... Connected to 192.168.100.10 (192.168.100.10). Escape character is '^]'. === Cronで実行すると === spawn telnet 192.168.100.10 10051 Trying 192.168.100.10... Connected to 192.168.100.10. Escape character is '^]'.