とある監視ではまった話 #ssmjp 2014/12
TRANSCRIPT
とある監視ではまった話2014/12/17 #ssmjp @th0x0472
14年12月17日水曜日
おまえだれよ
• @th0x0472 読めない。アルファベットより数字の方が多い。黒字に緑のQRコードアイコン。twitter, blog はこれで探せます。そこからSlideshare, Qiitaたどれます。
14年12月17日水曜日
サマリ
• とある監視ではまった話。
• 監視で異常を検知した・・・話ではなくて、監視する側で異常が起きた話です。
• 調べたら色々反省すべき点があったのでシェアしますよ。
14年12月17日水曜日
どんな監視か、簡単に• Nagiosを使った監視をしています。
• Nagiosは、
• 定期的に監視のアクションを実行してくれます。
• 監視の結果をWebで見られます。
• Pluginを自作してお好みの監視が出来ます。
14年12月17日水曜日
Nagios Pluginは• スクリプトでもバイナリでもOK。
• その中で何をしてもOK。
• リターンコードで監視結果をNagiosに返す。0=OK, 1=Warning, 2=Critical, 3=Unknown
• NagiosがPluginの出力を拾って、監視結果を見るWebに表示してくれる。
14年12月17日水曜日
今日は、Nagios + 自作Pluginでの監視ではまった時のことをお話しします。
14年12月17日水曜日
こんな風にはまりました
• あるとき、自作Pluginが異常終了。
• Nagiosが受け取ったリターンコードはUnknown。
• Nagiosでは自作Pluginの出力は何も拾えてない。
14年12月17日水曜日
なんとかしなきゃ
• 自作PluginはPerlスクリプトなので、どこで止まったのかソースコード追っかけ。
• 結果、ここで止まってた
open (OUT, "> file") or die "file書き込めない"
14年12月17日水曜日
なぜこうなった
• 自作Pluginが書き込むファイルの持ち主・権限が変更されていた
• 自作Pluginを実行している権限では書き込みできなくなっていた
14年12月17日水曜日
• 関係するファイルの持ち主と権限を元通りにして、ひとまず監視は元通りに動くようになりました。
14年12月17日水曜日
• なぜNagiosではメッセージを拾えなかったのか?
• Nagiosは標準出力に出力されたメッセージを拾う。
• die ~ のメッセージは標準エラー出力に出力される。
• すれ違い。分かってみれば簡単ですね。
14年12月17日水曜日
• 異常発生時に手掛かりが無いのも改善したい。
• ラッパースクリプトをひとつはさんで標準エラー出力への出力を標準出力にリダイレクトすればいいと思うよ。
Plugin 2>&1
• これでNagiosもメッセージ拾ってくれる。
14年12月17日水曜日
• 既存のサービス、システム、ソフトウェア、コンポーネント、XaaS・・・etc
利用するときは、相手を把握しよう。
• 任せたいことを期待通りやってもらうには、相手に何をどう伝えれば良いのか?
もうちょっと考えると
14年12月17日水曜日
逆の立場にもなるよね
• 自分が提供する側になるときは、知っておいて欲しいこと分かり易く伝えよう。
• 相手が何を期待してるか、理解・配慮しよう。
14年12月17日水曜日
この点、Nagiosはどう?Nagios Plugin APIPlugin Overview
Scripts and executables must do two things (at a minimum) in order to function as Nagios plugins:
• Exit with one of several possible return values
• Return at least one line of text output to STDOUT
http://nagios.sourceforge.net/docs/nagioscore/4/en/pluginapi.html
14年12月17日水曜日
ご清聴ありがとうございました
14年12月17日水曜日