とある監視ではまった話 #ssmjp 2014/12

16
とある監視ではまった話 2014/12/17 #ssmjp @th0x0472 141217日水曜日

Upload: th0x0472

Post on 18-Jul-2015

622 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: とある監視ではまった話 #ssmjp 2014/12

とある監視ではまった話2014/12/17 #ssmjp @th0x0472

14年12月17日水曜日

Page 2: とある監視ではまった話 #ssmjp 2014/12

おまえだれよ

• @th0x0472 読めない。アルファベットより数字の方が多い。黒字に緑のQRコードアイコン。twitter, blog はこれで探せます。そこからSlideshare, Qiitaたどれます。

14年12月17日水曜日

Page 3: とある監視ではまった話 #ssmjp 2014/12

サマリ

• とある監視ではまった話。

• 監視で異常を検知した・・・話ではなくて、監視する側で異常が起きた話です。

• 調べたら色々反省すべき点があったのでシェアしますよ。

14年12月17日水曜日

Page 4: とある監視ではまった話 #ssmjp 2014/12

どんな監視か、簡単に• Nagiosを使った監視をしています。

• Nagiosは、

• 定期的に監視のアクションを実行してくれます。

• 監視の結果をWebで見られます。

• Pluginを自作してお好みの監視が出来ます。

14年12月17日水曜日

Page 5: とある監視ではまった話 #ssmjp 2014/12

Nagios Pluginは• スクリプトでもバイナリでもOK。

• その中で何をしてもOK。

• リターンコードで監視結果をNagiosに返す。0=OK, 1=Warning, 2=Critical, 3=Unknown

• NagiosがPluginの出力を拾って、監視結果を見るWebに表示してくれる。

14年12月17日水曜日

Page 6: とある監視ではまった話 #ssmjp 2014/12

今日は、Nagios + 自作Pluginでの監視ではまった時のことをお話しします。

14年12月17日水曜日

Page 7: とある監視ではまった話 #ssmjp 2014/12

こんな風にはまりました

• あるとき、自作Pluginが異常終了。

• Nagiosが受け取ったリターンコードはUnknown。

• Nagiosでは自作Pluginの出力は何も拾えてない。

14年12月17日水曜日

Page 8: とある監視ではまった話 #ssmjp 2014/12

なんとかしなきゃ

• 自作PluginはPerlスクリプトなので、どこで止まったのかソースコード追っかけ。

• 結果、ここで止まってた

open (OUT, "> file") or die "file書き込めない"

14年12月17日水曜日

Page 9: とある監視ではまった話 #ssmjp 2014/12

なぜこうなった

• 自作Pluginが書き込むファイルの持ち主・権限が変更されていた

• 自作Pluginを実行している権限では書き込みできなくなっていた

14年12月17日水曜日

Page 10: とある監視ではまった話 #ssmjp 2014/12

• 関係するファイルの持ち主と権限を元通りにして、ひとまず監視は元通りに動くようになりました。

14年12月17日水曜日

Page 11: とある監視ではまった話 #ssmjp 2014/12

• なぜNagiosではメッセージを拾えなかったのか?

• Nagiosは標準出力に出力されたメッセージを拾う。

• die ~ のメッセージは標準エラー出力に出力される。

• すれ違い。分かってみれば簡単ですね。

14年12月17日水曜日

Page 12: とある監視ではまった話 #ssmjp 2014/12

• 異常発生時に手掛かりが無いのも改善したい。

• ラッパースクリプトをひとつはさんで標準エラー出力への出力を標準出力にリダイレクトすればいいと思うよ。

Plugin 2>&1

• これでNagiosもメッセージ拾ってくれる。

14年12月17日水曜日

Page 13: とある監視ではまった話 #ssmjp 2014/12

• 既存のサービス、システム、ソフトウェア、コンポーネント、XaaS・・・etc

利用するときは、相手を把握しよう。

• 任せたいことを期待通りやってもらうには、相手に何をどう伝えれば良いのか?

もうちょっと考えると

14年12月17日水曜日

Page 14: とある監視ではまった話 #ssmjp 2014/12

逆の立場にもなるよね

• 自分が提供する側になるときは、知っておいて欲しいこと分かり易く伝えよう。

• 相手が何を期待してるか、理解・配慮しよう。

14年12月17日水曜日

Page 15: とある監視ではまった話 #ssmjp 2014/12

この点、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日水曜日

Page 16: とある監視ではまった話 #ssmjp 2014/12

ご清聴ありがとうございました

14年12月17日水曜日