2011年9月20日火曜日

httpclient(ruby)によるログインチェックとyammerへの投稿

先日とあるサーバが不調になりました。
死活監視はしていたのですが、それだけでは満足な状況が把握出来なくなってしまったので、指定時間内にログインが完了するかチェックするスクリプトを急遽作ってみました。
早くビールが飲みたかったので状況をいち早くメンバーと共有するため、スピードと動く事を優先したスクリプトになってしまっていたので少しだけ整理しました。
当初はcurlでログインしてmailコマンドでローカルから、警告を出力すれば良いと安易に考えていたのですが…。
テストをするうちに以下のようなポイントが分かりました。
  • 失敗時のみアラート通知し、メールでyammerに投稿したい
  • yammerに投稿する場合、登録しているドメインからのみメール投稿が可能
  • アラートメッセージが同じないようだと、重複投稿としてyammerに拒否される
また、事前にyammerのアカウント設定>通知>メールでの投稿で承認しなくても投稿出来るようにしておきます。








そんな訳で以下がスクリプトです。
httpclient、tmail、tlsmailを使用しているのであらかじめgemでインストールしておいて下さい。
※ruby1.8.7で動作確認しています
実行権限与えてからcronに登録して完了。