Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Muninは舞い降りた- リソース監視を通して、運用現場を変える話-Munin has landed.I’m Not Afraid of Anything AnymoreMunin User Group Japan http://munin.j...
今日のテーマTODAY’S RECEIPE
ZABBIXよ、これがリソース監視だ。
ZABBIXよ、       まちがいこれがリソース監視だ。
そうじゃなくって。。。    m(__)m (ごめんなさい、ごめんなさい)
ZABBIX and Munin Are Real
今日の4つのキーワード TODAY’S FOUR KEYWORDS
Keywords
西高東低ARTS        Keywords武器τεχνη   神を殺せ
今日のセミナーで共有したい事。1.【 西高東低 】○○の出来ない時代に備える2.【 Q 】    なぜ○○を行うのか?3.【 武器 】   ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
…という話しを、今日は中二病テイストで共有いたしますインフラエンジニアでもだから 監視    がしたい!            ※背景はMuninのグラフを加工しました
リソース監視で仕事を変えた話…?気がついてみたら、仕事の変化を強いられているんだ!
#   1予測の出来ない時代に備える。By the Time We Realized It, It Had Already Begun.■□□□□
もし、Muninが無かったら、今の私の業務は成立しません。   The Only Thing I Have Left To Guide Me
…業務??
\                                         /私は誰?                                                         \         丶       ...
\                                         /私は誰?                                                         \         丶       ...
鯖を捌くOps的、何か     DevOps!
―Dont forget. always, somewhere,                   someone is fighting for you.               ―As long as you remember her...
A HUMAN WORKホスティングサービス業務    サーバの形、心の形。見知らぬ、仕様書。光、そして影。    クラウド、来日。変わる業界。まごころを、お客様へ。DECISIVE BATTLE障害対応  鳴り止まない電話。静止したデータセン...
日本Muninユーザ会 ABOUT MUNIN USER GROUP JAPAN
Munin.jp• Munin User Group Japan  – http://munin.jp/• Wiki  – http://munin.jp/wiki/• Demo  – http://demo.munin.jp/• メーリングリ...
WEST-HIGH EAST-LOW西    高        東            低        低    高
WEST-HIGH EAST-LOW西    高        東            低        低    高
西                           WEST-HIGH EAST-LOW高                      高        低              東                       低    ...
なぜ天気予報が当たらないのか     Weather break.
天気予報とは?                 参考文献:                 『数値予報の歴史、現状、課題』 元気象庁気象研究所 増田善信                 http://www.metsoc.or.jp/kyoik...
天気予報の歴史                 参考文献:                 『天気予報の歴史』                 http://www.nowden.co.jp/info/tips/infobox018.html•...
現代の天気予報は万能か?                                                                         数値計算の発達により、短• 1ヶ月以上の長期天気予報は不可能       ...
カオス        CHAOS(」・ω・)」うー!(/・ω・)/にゃー!
仮説気象観測とサーバ監視は類似 UNDER COMPLUSION OF MONITORING METHOD
現代のカオス         SNS を通して情報が【拡散】され、         まったくピークの読めない時間帯         にアクセスが殺到してしまう環境         が整ってしまいました。
サーバ監視の現在• アラートで検出できないケースが急増 – SNS向けサービス提供事業者様やWeb系サービス – 閾値を超えた時には、時既におそし• 迅速な対応へのニーズ – 1分あたりの損失が、ケタ違い• 問題が起こったら、今すぐ対応しなくて...
不幸な事に、事故や機会損失…• なぜ、障害発生に気がつかない – アラートが上がらないケース – 閾値の設定が難しいケース – アラートが上がったら  もうオワタなケース
今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】    なぜ○○を行うのか?3.【 武器 】   ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
#   2何故、監視を行うのか?This Just Cant Be Right.■■□□□
: question
なぜ監視を行うのか?• 異常値の把握             テレホーダイというサービス             (規定時間内のアクセスは子             通話料金が固定)があった頃、             ウェブサーバへのアクセス...
これは、とある社内メール なぜ監視を行うのか?サーバのトラフィック推移。【平日の日中】にアクセスが集中しているというパターンが分かります。 • 異常値の把握※もちろん Munin のグラフ。
: quickly
なぜ迅速な対応を行うのか?• サービスの安定稼働のため – ユーザ環境の変化  • SNSやモバイルデバイスの普及により、   意図せぬアクセスのピークが発生しうる – インフラ環境の変化  • クラウド・コンピューティング技術の普及により、 ...
Before   After
アラートが上がった時リソース監視があれば        リソース監視がなければ• グラフを見るだけで、複数台   • とりあえずログイン  のサーバを同時に状況判断    • ログの調査• コマンド投入時にログイン    • コマンド投入(ps...
予測が難しいから、リソース監視• ピークの見込みが難しい – アラート設定は意味があるのかどうか、真剣に考えた方が良い。• アラート処理が目的化していないだろうか – インシデントに対応するだけの仕事になっていないだろうか? – 本当にサービス...
今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】    なぜ監視を行うのか?3.【 武器 】   ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
#   3Muninでリソース監視Can You Face Your True Server Resoruces?■■■□□
迅速な状況把握の為に I Wont Rely On Anyone Anymore
リソース監視とは                     サーバ内外におけるリソース情報(CPUやメ• 変化を記録する            モリ、ディスク使用率)は、sar コマンドで                     取得出来ます。※...
Munin?The secret of Munin
MuninNetworked Resource Monitoring Toolhttp://munin-monitoring.org/http://munin.jp/
Munin                                                                            シャキーン(`・ω・´)• http://munin-monitoring.org...
demo• http://demo.munin.jp/• 状況を知るのに便利  – リソース一覧  – ズーミング機能
一覧性    ∩_∩           人人人人人人人人人人人人人人人人人人人人人人人人人人人人人   / \ /\        < すごい一体感を感じる。今までにない何か熱い一体感を。                  >  | (゜)=...
敢えて言おう、リソース監視ツールであると。  Munin is a networked resource monitoring tool.
シンプルかつパワフルな設計思想• Perl5• OS  – Linux     • Source code ( version 2.0.10 )     • Binary Package            – Red Hat Enterpr...
Muninの、すごく単純な構造     Architecture of Munin
比較的単純な構成• クライアント・サーバーモデル – cronを使った定期処理 – RRDtoolによるデータ管理・グラフ生成 – munin-nodeがデータを介在• プラグインでデータ取得 – サーバのシステム・ネットワーク・アプリケーショ...
ユーザ視点        サーバ上のHTML&グラフを参照します。         ただそれだけの、シンプルなもの。
もう少し詳しくみてみましょう。これが、先ほどのデータです。
これが本体(Muninマスタ)の構成です。Crondによって、データ取得・閾値チェック・HTML&グラフ生成のプログラムを、逐次実行します。
これは、エージェントである  munin-nodeです。
データ取得は、munin-updateが、TCP Port 4949 を通して、munin-     nodeと通信します。
munin-nodeでプラグインを呼び出します。プラグインが、様々なデータを取得します。
RRDtoolに格納されたデータ(.rrd)を元に、グラフやHTMLを生成します。これが、5分に1回実行されます。設定変更により、1分など任意指定も可です。
Muninの構成master ( サーバ )         munin-node ( エージェント )• Perl Libs            • Perl Libs   – Munin::Common        – Munin::C...
データ収集の基本• munin-node が、プラグイン単位で収集 – Port 4949(TCP) に対するアクセス – Munin プロトコル   •   LIST   •   CONFIG                 (T_T)494...
データ格納、グラフ生成はRRDtool• データは rrd 形式 (round robin database)  – /var/lib/munin/<ホスト名>/プラグイン名.rrd   -rw-r--r-- 1 munin munin 506...
Muninが持つ、様々なプラグイン• システムリソース – CPU、メモリ、Load Average、ディスク関連• ネットワーク – トラフィック、SNMP、HTTP 読み込み時間• ミドルウェア・アプリケーション – Apache, Ngi...
例: Load Average取得プラグイン• /etc/munin/plugins/load  – 5分間平均のデータを取得  – シンボリックリンク    • 実体は /usr/share/munin/plugin/load  – シェルス...
トラブルシュート!  TROUBLESHOOTING
Muninは標準で色々取れます• システムリソース – CPU使用率、メモリ、Swap、ディスク使用率、IOPS、ディスクのレ   イテンシ、Load Average、スレッド数、vmstat、温度、等々• ネットワーク – パケット数、トラフ...
トラブルシュートに役立つ項目• forks• processes / threads• entropy※予測不能なトラブルや障害発生・攻撃時の 原因切り分けにも役立ちます。
自鯖が不正アクセスを受けた    という話    CRACKER’S ATTACK
とある障害対応事例• メール増加、サーバの負荷上昇 – これはSendmail が原因と特定• 直接原因は、とあるCMSに対する攻撃が原因 – 同時に、DNSに対する不正利用も判明• 状況へ対処 – そして、トラフィックの収束へ – 対応が正し...
1. Gmailへのメール転送エラー多発•   普段のメールは、Gmail に転送    –   しかし、突然メールが転送されなくなる•   Postmaster宛の、大量エラーメールに気づく                        大量...
2. Muninで状況確認を開始•   まずはメールの配送状況を確認                        キューが24万件に                        到達しているのを確認。                    ...
同時に fork          rate(プロセスが          フォークした時の          カウント=プロセ          スの推移変化を見          るときの参考にな          る)が上昇開始。    ...
3.影響範囲の確認           CPUのiowaitが                    急上昇(紫部)  Load Average 上昇                    HDDのIOPs(秒                 ...
root   4274 0.0 0.0 10500 984 ?     Ss   2012 5:05 sendmail: accepting connections                             root   1431...
5. 更に状況調査               なぜかESTABLISED                        が急増• 再びMuninで確認 – メールの流通量増大、   Apacheのアクセス増   TCP (ESTABLISHE...
6. 再びログイン&対処• sendmailの状況は、明らかに変 – Apacheのアクセスログ調査          原因は、不正設置されたファイル経由                            でメール送信が試みられていた模様。...
7. 更なる特定へ               MySQL                        クエリ     Apacheアクセス数                        MySQL•   1月4日の現象発生(点線)    ...
8. それでも収まらないトラフィック トラフィック推移                         CPUやfork数の                         異常も見受けら     メールは止めたのに…          れない...
9. 改めて調査                 t1    t2• 週の推移グラフ  「トラフィックと          トラフィック推移   メール送信の間に   時差がある!」 – t1 … 1月3日 12時頃              ...
10. 原因はDNSの外部参照→対処             トラフィック推移   t1   t2                          DNS推移と連動!                   対応時刻
11. 推移観察                           t3   t4                                               外部からの  • 原因                      ...
一般的にも、使えるシーン例えば、Load Average上昇       CASE: A
事象:Load Average 急上昇                     物理メモリ不足の兆候                         原因:                     sendmail の大量          C...
BINDへのクエリ   CASE: B
普段とは異なる状況から、不正アクセスや攻撃の疑い
MySQLクエリ   CASE: C
事象:MySQLの処理が頭打ち?原因はどこに?                ディスクのスループットは問題なし。                CPUの処理にも負担なし。                → MySQL のチューニング余地を検討
不正アクセス検出   CASE: D
事象:Postmaster宛のエラーメールが急増。httpdの動作ユーザ権限によるもの。Muninで見ると、キュー数が急増                         通常とは異なったアクセス兆候。                     ...
その他Other Resrouces
AWS の料金表示プラグインを                                     書いてみました。API 経由で                                     データを取得し、Munin に取  ...
とある電子書籍媒体の冊数を数えることも出来ます。Muninは数値化されたものなら、何でも簡単にグラフ化できます。
こちらは、とある電力会社の総発電量と供給量のグラフです。
簡単な予測 Forecasting
ディスクの使用率が 100% に達する見込みも立てられます。
プラグインを自作する  How to make plugins
httpingプラグインを作ってみた• http://www.vanheusden.com/httping/             • httping は、HTTPサーバの応答時間を ping コマンドのよ               うに計...
Plugin: httping_#!/bin/sh## Plugin to monitor HTTP response (httping)#%# family=auto#%# capabilities=autoconfURL=${URL:-"h...
シェルスクリプトがキモ•   logtail2 ( logrotate に対応した log viewer )•   awk                  logtail パッケージは、yum install logtail         ...
まずApacheのログを読み込みます。ログの例:awk                               10番目の要素を変数”traffic”に格納し積算。                                    最後...
例:awk        あとは、VirtulHost毎        に集計して、Muninプ        ラグインに取り込むと、        どのサイトに対してア        クセスが集まっている        か、把握出来ます   ...
例:cut , sort, uniq• syslog_detail  – /usr/sbin/logtail2 -f /var/log/messages | ¥     -o/var/lib/munin/plugin-state/syslog_...
コマンドを組み合わせて、フィルタ• more /var/log/messages | awk {print $5}  snmpd[502]:  snmpd[502]:  snmpd[502]:      |cut –d¥[ -f1 |sort ...
リソース監視ツールの仲間達                             ‐-、 ィ-‐、                                        | ‐-⊂⊃-‐ }⌒ヽ_ノ|r、 /             ...
リソース監視系の比較http://www.munin-monitoring.org/   http://oss.oetiker.ch/rrdtool/   http://oss.oetiker.ch/mrtg/                 ...
主要ツール(リソース系)の比較表 ツール       種別        データの管理            設定方法 管理画面(WebUI) 通知機能 Munin    リソース監視      RRDTool           CUI   ...
今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】    なぜ監視を行うのか?3.【 武器 】   Muninでリソース監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
#   4属人性の排除こそが、道しるべI wan’t rely on anyone anymore.■■■■□
スーパーハカー(神)は死んだ   I Wont Rely On Anyone Anymore
スーパーハカーリソース監視は
もう貴方が   ログインする必要は無いわ。        Munin is a networked resource monitoring tool.僕にログインさせて、トラブルシュートさせてください!             障害ですよね!?...
様々なデータを瞬時に把握出来る• グラフを通した視認性の高さ – 短時間で複数台の状況を把握できる。異常値(スパイク)の把握が容易。 – 得られるもの:迅速な対応• 属人性の排除、少人数での対応を実現       ログをいきなり読む方法もあ  ...
機会損失を抑え、迅速な復旧のために• “神は死んだ” – ベテランでも、切り分けに時間を要する場合がある   • 例:LB のノードダウンが発生したけれど…• 障害発生後のトラブルシューティングが容易に – 短時間で対応できる – 少人数で対応...
Fugin      Munin                                             “thought”   “memory”                                         ...
エージェントである munin-node は、 開発段階の名称が “munin-eye”でした。リソース監視により、インフラを見通す”神の視点”(munin-eye)が手に入るとも言えるでしょう。
もう障害対応も怖くない Im Not Afraid of Anything Anymore
Muninが変えた、障害対応の流れ• ツールにたよらない場合 – 各種ログの調査、コマンド実行(sysstat等) – 人の手が掛かり、時間もかかる←致命的• Munin があれば… – サーバにログインしなくとも、状況把握 – 視覚的に比較で...
とあるホスティングの場合• Muninはマジで仕事に欠かせません。 – とにかく入れる – 片っ端から入れる – 無駄に入れる
/ヽ                  /ヽ                                                                                            / ヽ     ...
実際の運用では…(こういう場合も)• 障害発生から復旧までの時間短縮のために – アラート検出間隔の短縮 – 閾値は、とりあえず設定しない。意味が無い。• レイヤ毎に異なる監視 – サーバの死活監視と、リソース監視は別 – ロードバランサの管理...
#  5今日のまとめ。Its new ideas based on the past.■■■■■
西高東低ARTS        Keywords武器τεχνη   神を殺せ
今日のセミナーで共有したい事。1.【 西高東低 】○○の出来ない時代に備える2.【 Q 】    なぜ○○を行うのか?3.【 武器 】   ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除こそが、道しるべ
今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】    なぜ監視を行うのか?3.【 武器 】   Muninでリソース監視4.【 神を殺せ 】 属人性の排除こそが、道しるべ
(業務で)もし、Muninでやれと言われたら?   僕は、リソース監視が出来るなら、Zabbbix でも何でもいいと思います。 これから始めるのであれば、Munin の導入・運用コストは少なくオススメです。
僕からのお願い。• もし、今日セッションでMuninが気になったらまずは、リソース監視を試してみませんか?• きっと、そこには、まだ誰も知らない運用のありかた(未来)があるのかもしれません。
今日、リソース監視をはじめます。
今日、リソース監視をはじめます。
今 ま で な か っ た ド キ ド キ を。      http://munin.jp
http://munin.jpQuestions?• もう少しkwsk訊きたい所はありますか?               / ̄\               |        |               \_/              ...
Reference『ウェブオペレーション』 サイト運用管理の実践テクニック O’REILLY JAPAN John Allspaw、Jesse Robbins 編 角 征典 訳 2011年05月発行 278ページ ISBN978-4-87311...
Reference『私がMuninに恋する理由』 インフラエンジニアでも監視がしたい! http://www.slideshare.net/zembutsu/this-is-the-reason-why-i-choose-munin-20121...
Reference『Muninで始める実戦★リソース監視』 俺のサーバがこんなに重いはずが無い、を乗り切るために http://www.slideshare.net/zembutsu/practical-resource-monitoring-...
References•   Munin                                • Magazine     – http://munin-monitoring.jp/                           ...
Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~
Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~
Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~
Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~
Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~
Upcoming SlideShare
Loading in …5
×

Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~

15,271 views

Published on

Muninはオープンソースのリソース監視ツールであり,様々なサーバリソースの取得やグラフ化を行う事に特化しているツールである。 死活監視だけではなく,何故,リソースも監視する必要性があるのか。今回は,Muninユーザ会の前佛雅人が,自身のホスティング業務における監視体制や, 運用サポートの様子など実例を交えながらMuninの使いどころを紹介する。そして,クラウドコンピューティング時代における監視体制の目指すべき方向について考察する。

日時:2013年1月18日(金)18:00~
会場:産業技術大学院大学 433教室
http://pk.aiit.ac.jp/index.php?InfoTalk%2F20130118

Published in: Technology
  • Be the first to comment

Muninは舞い降りた ~リソース監視を通して、運用現場を変える話~

  1. 1. Muninは舞い降りた- リソース監視を通して、運用現場を変える話-Munin has landed.I’m Not Afraid of Anything AnymoreMunin User Group Japan http://munin.jp/Masahito Zembutsu @zembutsuJan 18, 2013 , Infotalk #50
  2. 2. 今日のテーマTODAY’S RECEIPE
  3. 3. ZABBIXよ、これがリソース監視だ。
  4. 4. ZABBIXよ、 まちがいこれがリソース監視だ。
  5. 5. そうじゃなくって。。。 m(__)m (ごめんなさい、ごめんなさい)
  6. 6. ZABBIX and Munin Are Real
  7. 7. 今日の4つのキーワード TODAY’S FOUR KEYWORDS
  8. 8. Keywords
  9. 9. 西高東低ARTS Keywords武器τεχνη 神を殺せ
  10. 10. 今日のセミナーで共有したい事。1.【 西高東低 】○○の出来ない時代に備える2.【 Q 】 なぜ○○を行うのか?3.【 武器 】 ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
  11. 11. …という話しを、今日は中二病テイストで共有いたしますインフラエンジニアでもだから 監視 がしたい! ※背景はMuninのグラフを加工しました
  12. 12. リソース監視で仕事を変えた話…?気がついてみたら、仕事の変化を強いられているんだ!
  13. 13. # 1予測の出来ない時代に備える。By the Time We Realized It, It Had Already Begun.■□□□□
  14. 14. もし、Muninが無かったら、今の私の業務は成立しません。 The Only Thing I Have Left To Guide Me
  15. 15. …業務??
  16. 16. \ /私は誰? \ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ Zembutsu Masahito ー __ わ た し で す --• 前佛 雅人 @zembutsu  ̄. 二 / ̄\ | ^o^ | = 二  ̄ -‐ \_/ ‐- – Solutions Engineer ( 萌えるSE ) / / ヽ \ • インフラエンジニア的な仕事メイン / • 株式会社リンク at+link サービス開発部 ( http://www.at-link.ad.jp/ ) 丶 \ / / / | i, 丶 \ • “技術者に安心と休息を” 提供するホスティング事業者のサポート対応 / / / | i, 丶 \ – オープンソース系・クラウド系コミュニティ活動 • http://pocketstudio.jp/log3/ – 主な職歴 • 2000年 4月~ ホスティングのサポート、はじめました。 • 2012年10月~サービス開発部だけど、データセンタ内で色々(ry 『オンプレだけどioDriveさえあれば関係ないよねっ』 • 2013年1月~ 気がついたら、一次監視や一次対応も行っていたという話 ←New!
  17. 17. \ /私は誰? \ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ Zembutsu Masahito ー __ わ た し で す --• 前佛 雅人 @zembutsu  ̄. 二 / ̄\ | ^o^ | = 二  ̄ -‐ \_/ ‐- – Solutions Engineer ( 萌えるSE ) / / ヽ \ • インフラエンジニア的な仕事メイン / • 株式会社リンク at+link サービス開発部 ( http://www.at-link.ad.jp/ ) 丶 \ / / / | i, 丶 \ • “技術者に安心と休息を” 提供するホスティング事業者のサポート対応 / / / | i, 丶 \ – オープンソース系・クラウド系コミュニティ活動 • http://pocketstudio.jp/log3/ – 主な職歴 • 2000年 4月~ ホスティングのサポート、はじめました。 • 2012年10月~サービス開発部だけど、データセンタ内で色々(ry 『オンプレだけどioDriveさえあれば関係ないよねっ』 • 2013年1月~ 気がついたら、一次監視や一次対応も行っていたという話 ←New!
  18. 18. 鯖を捌くOps的、何か DevOps!
  19. 19. ―Dont forget. always, somewhere, someone is fighting for you. ―As long as you remember her.Operation you are not alone.運用 忘れないで、いつもどこかで誰かがあなたの為に戦っている。 彼女を覚えている限り、あなたは一人じゃない。 (出典:魔法少女まどかマギカ最終話「わたしの、最高の友達」)Monitoring監視
  20. 20. A HUMAN WORKホスティングサービス業務 サーバの形、心の形。見知らぬ、仕様書。光、そして影。 クラウド、来日。変わる業界。まごころを、お客様へ。DECISIVE BATTLE障害対応 鳴り止まない電話。静止したデータセンタの中で。 優先度の選択を。電源停止に至る病、そして。 営業、侵入。客先訪問、魂の座。嘘と沈黙。涙。 You can advance.次世代ニーズに向けた挑戦 特科サポート部隊、誕生。奇跡の価値は。せめて人間らしく。
  21. 21. 日本Muninユーザ会 ABOUT MUNIN USER GROUP JAPAN
  22. 22. Munin.jp• Munin User Group Japan – http://munin.jp/• Wiki – http://munin.jp/wiki/• Demo – http://demo.munin.jp/• メーリングリスト – http://munin.jp/mailing-list/
  23. 23. WEST-HIGH EAST-LOW西 高 東 低 低 高
  24. 24. WEST-HIGH EAST-LOW西 高 東 低 低 高
  25. 25. 西 WEST-HIGH EAST-LOW高 高 低 東 低 1/14(月) 東京都江東区の様子。どこの雪国? 関東平野部は雪降らないはずじゃ…(;´Д`)
  26. 26. なぜ天気予報が当たらないのか Weather break.
  27. 27. 天気予報とは? 参考文献: 『数値予報の歴史、現状、課題』 元気象庁気象研究所 増田善信 http://www.metsoc.or.jp/kyoikuhukyu/resume/Masuda.pdf• 天気予報とは – 天候状態(晴曇雨雪)と、気温、湿度、風向、風速など – これらの量や状態の時間経過を含めて予測、発表する事• 正確な天気予報を出すための条件 – 正確な天気図を持つこと – 天気予報図から正確に天気に翻訳すること
  28. 28. 天気予報の歴史 参考文献: 『天気予報の歴史』 http://www.nowden.co.jp/info/tips/infobox018.html• 天気諺時代(16世紀以前)• 気象計器時代(17世紀~)温度計・湿度計の発明• 地上天気図時代(1820年 初の地上天気図作成)• 高層天気図時代(1927年 気球による観測成功)• 数値天気予報時代(現代)
  29. 29. 現代の天気予報は万能か? 数値計算の発達により、短• 1ヶ月以上の長期天気予報は不可能 期の天気予報の制度は上が りました。あくまで短期。 現代の科学を駆使しても、 – ローレンツのバタフライ効果 長期の予報は難しいのです。 『予測可能性-ブラジルでの蝶の羽ばたきは テキサスでトルネードを引き起こすか』 – 大気運動はカオスであり1ヶ月以上の記憶を持たない ※バタフライ効果(バタフライこうか、butterfly effect)とは、カオス力学系において、通常なら無視できると思われる ような極めて小さな差が、やがては無視できない大きな差となる現象のことを指す。カオス理論を端的に表現した思 考実験のひとつ、あるいは比喩である。 参考文献:「長期予報はなぜ当たらないか?」 http://wwwoa.ees.hokudai.ac.jp/people/yamazaki/papers/Kohkai2005.pdf
  30. 30. カオス CHAOS(」・ω・)」うー!(/・ω・)/にゃー!
  31. 31. 仮説気象観測とサーバ監視は類似 UNDER COMPLUSION OF MONITORING METHOD
  32. 32. 現代のカオス SNS を通して情報が【拡散】され、 まったくピークの読めない時間帯 にアクセスが殺到してしまう環境 が整ってしまいました。
  33. 33. サーバ監視の現在• アラートで検出できないケースが急増 – SNS向けサービス提供事業者様やWeb系サービス – 閾値を超えた時には、時既におそし• 迅速な対応へのニーズ – 1分あたりの損失が、ケタ違い• 問題が起こったら、今すぐ対応しなくてはいけない
  34. 34. 不幸な事に、事故や機会損失…• なぜ、障害発生に気がつかない – アラートが上がらないケース – 閾値の設定が難しいケース – アラートが上がったら もうオワタなケース
  35. 35. 今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】 なぜ○○を行うのか?3.【 武器 】 ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
  36. 36. # 2何故、監視を行うのか?This Just Cant Be Right.■■□□□
  37. 37. : question
  38. 38. なぜ監視を行うのか?• 異常値の把握 テレホーダイというサービス (規定時間内のアクセスは子 通話料金が固定)があった頃、 ウェブサーバへのアクセス ピークは殆どが深夜に集中し ていました。
  39. 39. これは、とある社内メール なぜ監視を行うのか?サーバのトラフィック推移。【平日の日中】にアクセスが集中しているというパターンが分かります。 • 異常値の把握※もちろん Munin のグラフ。
  40. 40. : quickly
  41. 41. なぜ迅速な対応を行うのか?• サービスの安定稼働のため – ユーザ環境の変化 • SNSやモバイルデバイスの普及により、 意図せぬアクセスのピークが発生しうる – インフラ環境の変化 • クラウド・コンピューティング技術の普及により、 短時間で多くのリソース常用を把握する必要性
  42. 42. Before After
  43. 43. アラートが上がった時リソース監視があれば リソース監視がなければ• グラフを見るだけで、複数台 • とりあえずログイン のサーバを同時に状況判断 • ログの調査• コマンド投入時にログイン • コマンド投入(ps, dstat 等々) …を、サーバ台数分繰り返し
  44. 44. 予測が難しいから、リソース監視• ピークの見込みが難しい – アラート設定は意味があるのかどうか、真剣に考えた方が良い。• アラート処理が目的化していないだろうか – インシデントに対応するだけの仕事になっていないだろうか? – 本当にサービスは復旧しているのか?• 何かあった時、迅速に対応するツール(武器)はあるか? – リソース監視ツールの有無は重要 – サービスレベルをも左右しうる。
  45. 45. 今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】 なぜ監視を行うのか?3.【 武器 】 ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
  46. 46. # 3Muninでリソース監視Can You Face Your True Server Resoruces?■■■□□
  47. 47. 迅速な状況把握の為に I Wont Rely On Anyone Anymore
  48. 48. リソース監視とは サーバ内外におけるリソース情報(CPUやメ• 変化を記録する モリ、ディスク使用率)は、sar コマンドで 取得出来ます。※要sysstatパッケージ – sysstat もある種の監視• さらに、グラフを生成する。通知する。 – 視認性の向上 – 何かが起こった時に、把握できるようになる。 サーバにログインし、ログを確認する前に 「どの時点」で異常が発生したか、推測を たてることが出来ます。
  49. 49. Munin?The secret of Munin
  50. 50. MuninNetworked Resource Monitoring Toolhttp://munin-monitoring.org/http://munin.jp/
  51. 51. Munin シャキーン(`・ω・´)• http://munin-monitoring.org/ – リソース監視ツール • トレンドの変化を解析できる • “何が性能を殺しているのか?”が分かる – プラグアンドプレイな設計 • 標準で、多くのグラフを表示できる Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play. A default installation provides a lot of graphs with almost no work.
  52. 52. demo• http://demo.munin.jp/• 状況を知るのに便利 – リソース一覧 – ズーミング機能
  53. 53. 一覧性 ∩_∩ 人人人人人人人人人人人人人人人人人人人人人人人人人人人人人 / \ /\ < すごい一体感を感じる。今までにない何か熱い一体感を。 > | (゜)=(゜) | < 風・・・なんだろう吹いてきてる確実に、着実に、俺たちのほうに。. > | ●_● | < 中途半端はやめよう、とにかく最後までやってやろうじゃん。 >/ ヽ < ネットの画面の向こうには沢山のサーバがいる。決して一人じゃない。 >| 〃 ------ ヾ | < 信じよう。そしてともに戦おう。 >\__二__ノ < 障害や過負荷はあるだろうけど、絶対に流されるなよ。 > YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
  54. 54. 敢えて言おう、リソース監視ツールであると。 Munin is a networked resource monitoring tool.
  55. 55. シンプルかつパワフルな設計思想• Perl5• OS – Linux • Source code ( version 2.0.10 ) • Binary Package – Red Hat Enterprise Linux 系 ( EPEL ) – Debian – openSUSE – MacOS X – Windows• RRDTool
  56. 56. Muninの、すごく単純な構造 Architecture of Munin
  57. 57. 比較的単純な構成• クライアント・サーバーモデル – cronを使った定期処理 – RRDtoolによるデータ管理・グラフ生成 – munin-nodeがデータを介在• プラグインでデータ取得 – サーバのシステム・ネットワーク・アプリケーション – Perl or シェルスクリプト – 比較的セットアップが簡単
  58. 58. ユーザ視点 サーバ上のHTML&グラフを参照します。 ただそれだけの、シンプルなもの。
  59. 59. もう少し詳しくみてみましょう。これが、先ほどのデータです。
  60. 60. これが本体(Muninマスタ)の構成です。Crondによって、データ取得・閾値チェック・HTML&グラフ生成のプログラムを、逐次実行します。
  61. 61. これは、エージェントである munin-nodeです。
  62. 62. データ取得は、munin-updateが、TCP Port 4949 を通して、munin- nodeと通信します。
  63. 63. munin-nodeでプラグインを呼び出します。プラグインが、様々なデータを取得します。
  64. 64. RRDtoolに格納されたデータ(.rrd)を元に、グラフやHTMLを生成します。これが、5分に1回実行されます。設定変更により、1分など任意指定も可です。
  65. 65. Muninの構成master ( サーバ ) munin-node ( エージェント )• Perl Libs • Perl Libs – Munin::Common – Munin::Common• munin-cron • munin-node – munin-update – config: munin-node.conf – munin-limits – Plugins – munin-html • Tools – munin-graph – munin-node-configure• config: munin.conf – munin-cron
  66. 66. データ収集の基本• munin-node が、プラグイン単位で収集 – Port 4949(TCP) に対するアクセス – Munin プロトコル • LIST • CONFIG (T_T)4949 • FETCH • VERSION • QUIT
  67. 67. データ格納、グラフ生成はRRDtool• データは rrd 形式 (round robin database) – /var/lib/munin/<ホスト名>/プラグイン名.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-idle-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-iowait-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-irq-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-nice-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-softirq-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-steal-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-system-d.rrd -rw-r--r-- 1 munin munin 50612 10月 18 2010 localhost-cpu-user-d.rrd• RRDファイルは、1つにつき約50KByte – 1プラグインあたり 200KB~必要 – munin-nodeあたり、デフォルトで150~250個前後 (合計8~15MB程度)
  68. 68. Muninが持つ、様々なプラグイン• システムリソース – CPU、メモリ、Load Average、ディスク関連• ネットワーク – トラフィック、SNMP、HTTP 読み込み時間• ミドルウェア・アプリケーション – Apache, Nginx, Sendmail, Postfix, MySQL, PostgreSQL, MongoDB, memcached, PHP… etc
  69. 69. 例: Load Average取得プラグイン• /etc/munin/plugins/load – 5分間平均のデータを取得 – シンボリックリンク • 実体は /usr/share/munin/plugin/load – シェルスクリプト echo -n "load.value " cut -f2 -d < /proc/loadavg load .value 3.22
  70. 70. トラブルシュート! TROUBLESHOOTING
  71. 71. Muninは標準で色々取れます• システムリソース – CPU使用率、メモリ、Swap、ディスク使用率、IOPS、ディスクのレ イテンシ、Load Average、スレッド数、vmstat、温度、等々• ネットワーク – パケット数、トラフィック、TCP、UDP、netstat、等々• アプリケーション・データベース – Apache、Nginx、Tomcat、MySQL、PostgreSQL、sendmail、 Postfix、BIND、等々サーバにログインすることなく、何が起こっているかが把握できる所がポイントです。
  72. 72. トラブルシュートに役立つ項目• forks• processes / threads• entropy※予測不能なトラブルや障害発生・攻撃時の 原因切り分けにも役立ちます。
  73. 73. 自鯖が不正アクセスを受けた という話 CRACKER’S ATTACK
  74. 74. とある障害対応事例• メール増加、サーバの負荷上昇 – これはSendmail が原因と特定• 直接原因は、とあるCMSに対する攻撃が原因 – 同時に、DNSに対する不正利用も判明• 状況へ対処 – そして、トラフィックの収束へ – 対応が正しかったかどうか、グラフから評価※これら一連の対応に、Muninは欠かせませんでした。
  75. 75. 1. Gmailへのメール転送エラー多発• 普段のメールは、Gmail に転送 – しかし、突然メールが転送されなくなる• Postmaster宛の、大量エラーメールに気づく 大量のメール配信を行ってい るため、Gmail側によって規制 されたという内容。
  76. 76. 2. Muninで状況確認を開始• まずはメールの配送状況を確認 キューが24万件に 到達しているのを確認。 通常はあり得ない 事象:2013年1月4日 Sendmailのキュー数 (配送待ちのメール) が上昇し始める。
  77. 77. 同時に fork rate(プロセスが フォークした時の カウント=プロセ スの推移変化を見 るときの参考にな る)が上昇開始。 threads(スレッド =1つのプロセス の中での並列処理 も上昇)キュー数が増えた時点で、通常よりも多いメールの流通が発生 プロセス数に対する 大きな変化は、後日
  78. 78. 3.影響範囲の確認 CPUのiowaitが 急上昇(紫部) Load Average 上昇 HDDのIOPs(秒 あたりInput・ HDDアクセスが Output)上昇 100%
  79. 79. root 4274 0.0 0.0 10500 984 ? Ss 2012 5:05 sendmail: accepting connections root 14312 0.1 0.3 11336 3352 ? D 06:00 0:28 ¥_ sendmail: ./r06NCFxj021942 from queue4. 暫定対処 root 9038 0.1 0.6 16024 6452 ? D 07:00 0:21 ¥_ sendmail: running queue: /var/spool/mqueue root 25741 0.1 0.9 19160 9664 ? D 08:00 0:15 ¥_ sendmail: running queue: /var/spool/mqueue root 21344 0.1 0.2 12072 2580 ? D 09:00 0:09 ¥_ sendmail: running queue: /var/spool/mqueue root 23921 0.1 0.3 12756 3292 ? D 10:00 0:04 ¥_ sendmail: running queue: /var/spool/mqueue root 30906 0.0 0.2 10672 2616 ? S 10:45 0:00 ¥_ sendmail: server localhost [127.0.0.1] cmd read root 30992 0.0 0.2 10672 2612 ? S 10:45 0:00 ¥_ sendmail: server localhost [127.0.0.1] cmd read root 31726 0.0 0.2 10676 2600 ? D 10:45 0:00 ¥_ sendmail: r071jQD3031726 localhost [127.0.0.1]: DATA root 31727 0.0 0.2 10676 2600 ? D 10:45 0:00 ¥_ sendmail: r071jQwf031727 localhost [127.0.0.1]: DATA• ここで始めてサーバに SSH ログイン root 31728 0.0 0.2 10676 2592 ? D 10:45 0:00 ¥_ sendmail: r071jQqF031728 localhost [127.0.0.1]: DATA うえへ。。(;´Д`) – Sendmail によるサーバ負荷が原因→停止 • sendmai l を停止(killall -9 sendmail) • /var/spool/queue/ と /var/spool/clientmqueue/ を別名にして、 キューを消す – ログからは、不正中継の形跡は見られない • apache ユーザ権限でメール配送が行われている(?)• どうしてこうなった・・? ___ ♪ ∧__,∧.∩ / || ̄ ̄|| r( ^ω^ )ノ どうしてこうなった! |.....||__|| └‐、 レ´`ヽ どうしてこうなった! | ̄ ̄\三 / ̄ ̄ ̄/ノ´` ♪ | | ( ./ /
  80. 80. 5. 更に状況調査 なぜかESTABLISED が急増• 再びMuninで確認 – メールの流通量増大、 Apacheのアクセス増 TCP (ESTABLISHED)が 同時に発生(緑実線) Apacheアクセス数• 推測 – CGIか何かのアプリが 暴走?(フォームとか)
  81. 81. 6. 再びログイン&対処• sendmailの状況は、明らかに変 – Apacheのアクセスログ調査 原因は、不正設置されたファイル経由 でメール送信が試みられていた模様。 – “find /home –mtime -4” • (異常発生した 4 日前に変更のあったファイルの検索) – ファイル除去 アクセス制限 • 全POST禁止
  82. 82. 7. 更なる特定へ MySQL クエリ Apacheアクセス数 MySQL• 1月4日の現象発生(点線) スループット より前にApacheやMySQLに 対する通常とは異なる挙動• 前後のApacheログより、 あるCMSに対する攻撃を 試みていたことがわかる→対処
  83. 83. 8. それでも収まらないトラフィック トラフィック推移 CPUやfork数の 異常も見受けら メールは止めたのに… れないのに、 どうして…? 対応時刻 対応時刻
  84. 84. 9. 改めて調査 t1 t2• 週の推移グラフ 「トラフィックと トラフィック推移 メール送信の間に 時差がある!」 – t1 … 1月3日 12時頃 メール転送量 • トラフィック上昇 – t2 …1月4日 00時頃 • メール送信開始• t1に何が起こった?
  85. 85. 10. 原因はDNSの外部参照→対処 トラフィック推移 t1 t2 DNS推移と連動! 対応時刻
  86. 86. 11. 推移観察 t3 t4 外部からの • 原因 再帰問い合 わせを拒否 – 1. CMSのセキュリティホール – 2. DNS の外部参照 _, ,_ (^Д^) プギャー • 参照元は世界各地のCIDRから。。m9 ヽ) • ネームサーバなのでポート閉じれず / ノ 俺涙目wwww orz(,/^ヽ) 動的に iptabelsで Port • 最終的な対処 53(UDP) – Iptables で、動的に遮断 を遮断して • BIND のログから、短期間にANY 収束 リクエストを大量に送ってくる環境を 自動的に遮断する仕組みを導入
  87. 87. 一般的にも、使えるシーン例えば、Load Average上昇 CASE: A
  88. 88. 事象:Load Average 急上昇 物理メモリ不足の兆候 原因: sendmail の大量 CPUの負担増加 のキュー発生
  89. 89. BINDへのクエリ CASE: B
  90. 90. 普段とは異なる状況から、不正アクセスや攻撃の疑い
  91. 91. MySQLクエリ CASE: C
  92. 92. 事象:MySQLの処理が頭打ち?原因はどこに? ディスクのスループットは問題なし。 CPUの処理にも負担なし。 → MySQL のチューニング余地を検討
  93. 93. 不正アクセス検出 CASE: D
  94. 94. 事象:Postmaster宛のエラーメールが急増。httpdの動作ユーザ権限によるもの。Muninで見ると、キュー数が急増 通常とは異なったアクセス兆候。 当該時間の httpd のログを調査し、 不正アクセスを発見→直ちに対処
  95. 95. その他Other Resrouces
  96. 96. AWS の料金表示プラグインを 書いてみました。API 経由で データを取得し、Munin に取 り込みグラフ化します。https://github.com/zembutsu/AWS-EstimateCharge
  97. 97. とある電子書籍媒体の冊数を数えることも出来ます。Muninは数値化されたものなら、何でも簡単にグラフ化できます。
  98. 98. こちらは、とある電力会社の総発電量と供給量のグラフです。
  99. 99. 簡単な予測 Forecasting
  100. 100. ディスクの使用率が 100% に達する見込みも立てられます。
  101. 101. プラグインを自作する How to make plugins
  102. 102. httpingプラグインを作ってみた• http://www.vanheusden.com/httping/ • httping は、HTTPサーバの応答時間を ping コマンドのよ うに計測できるツール。 • オプションで –S (大文字)を付与すると、サーバ接続時間 と、応答時間を分けて取得できるのが便利。 $ httping -S http://210.239.46.254/ PING 210.239.46.254:80 (http://210.239.46.254/): connected to 210.239.46.254:80 (380 bytes), seq=0 time=0.10+0.69=0.79 ms connected to 210.239.46.254:80 (380 bytes), seq=1 time=0.08+0.47=0.55 ms connected to 210.239.46.254:80 (380 bytes), seq=2 time=0.07+0.68=0.75 ms connected to 210.239.46.254:80 (380 bytes), seq=3 time=0.12+0.66=0.77 ms Got signal 2 --- http://210.239.46.254/ ping statistics --- 4 connects, 4 ok, 0.00% failed
  103. 103. Plugin: httping_#!/bin/sh## Plugin to monitor HTTP response (httping)#%# family=auto#%# capabilities=autoconfURL=${URL:-"http://localhost/"}COUNT=${COUNT:-"5"}httping_bin=$(which httping) これがプラグインの実体です。if [ "$1" = "autoconf" ]; then echo yes Config部分と、実際にデータを取得する部分fi exit 0 グラフの定義 を定義するだけです。割とシンプルなシェルif [ "$1" = "config" ] ; then スクリプトで行けます。PerlやrubyやPHPで echo "graph_args -r --lower-limit 0 "; echo "graph_title http response $URL"; も構いません。 echo "graph_category httping"; echo "graph_info httping response time: $URL"; echo graph_vlabel msec echo "connect.label connect time" echo "connect.draw AREA" echo "connect.type GAUGE" echo "processing.label processing time" echo "processing.draw STACK" echo "processing.type GAUGE" exit 「xxx.Value ***」の形式で出力fi# format for httpiing 1.5.3 http://www.vanheusden.com/httping/$httping_bin -c $COUNT -G -S $URL | tr +|= | awk {connect+=$9; processing+=$10} END{print "connect.value",connect/$COUNT"¥n""processing.value",processing/$COUNT}
  104. 104. シェルスクリプトがキモ• logtail2 ( logrotate に対応した log viewer )• awk logtail パッケージは、yum install logtail この中に logtail と logtail2 があります。• cut 基本機能はどちらも同じですが、logtail2 はロ• sort グのローテートに対応しています。• uniqこれらの組み合わせで、様々な解析が容易に
  105. 105. まずApacheのログを読み込みます。ログの例:awk 10番目の要素を変数”traffic”に格納し積算。 最後は、bps に変換 (300秒で割る)&(byte->bit換算で*8)• Apache の VirtualHost 毎のトラフィックをグラフ化する! – logtail2 $LOGFILE | awk {traffic+=$10} END{print traffic/300*8}‘kd111099116218.ppp-bb.dion.ne.jp - - [07/Jan/2013:23:44:11 +0900] "GET /info.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2524 ここがバイト数 "http://pocketstudio.jp/info.php?union+select" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"
  106. 106. 例:awk あとは、VirtulHost毎 に集計して、Muninプ ラグインに取り込むと、 どのサイトに対してア クセスが集まっている か、把握出来ます 。 ※ログには、ファイル 転送した時点での書き 込みなので、あまり正 確ではない場合もあり ます。
  107. 107. 例:cut , sort, uniq• syslog_detail – /usr/sbin/logtail2 -f /var/log/messages | ¥ -o/var/lib/munin/plugin-state/syslog_detail-messages.offset | ¥ awk ‘{ print $5 } | cut –d¥[ -f1 | sort | uniq –c /var/log/messages ファイル の集計も、これらコマンドを 使えばお手のものです。 ※プラグインは後日公開予定
  108. 108. コマンドを組み合わせて、フィルタ• more /var/log/messages | awk {print $5} snmpd[502]: snmpd[502]: snmpd[502]: |cut –d¥[ -f1 |sort | uniq -c snmpd[502]: snmpd[502]: snmpd snmpd snmpd snmpd 6 snmpd xinetd[2129]: xinetd[23261]: snmpd snmpd 3 xinetd xinetd[2129]: snmpd snmpd snmpd[502]: snmpd snmpd xinetd snmpd xinetd xinetd xinetd xinetd snmpd xinetd
  109. 109. リソース監視ツールの仲間達 ‐-、 ィ-‐、 | ‐-⊂⊃-‐ }⌒ヽ_ノ|r、 / >´ ̄ ̄ヽー、__ノ \二ニ─‐ニ´__/ /_____ ヽ ハノ\ <´____ノ、 ヽ >─、 l r-、 r-、\_r-| / r-、 r-、\r-} | ⌒ ) l ⌒ ) Some Fascinating Monitoring tools. \(´ ̄ ̄⊃ 厂 \ (´ ̄ ̄フ ノ´ >二二<´ >⊂ロ⊃< 〈_,ィ o ト、〉、 <_,ィ o ト、_> / / ノ o ( 、ヽ / / |_o_| | | mn∠___\ nm レm(_r-,_) レm \‐∨‐/ \∨/ ⊂-┴-⊃ ⊂-┴-⊃ 土 | 干 二、 /)⌒) ⌒ゝ丶/ | ‐┼`` ‐─ァ`` rノ、 l rノ、 _ノ .レ ノ 、_ (__ .l rノ、 (_ た~のし~い な~かま~が
  110. 110. リソース監視系の比較http://www.munin-monitoring.org/ http://oss.oetiker.ch/rrdtool/ http://oss.oetiker.ch/mrtg/ snmpd http://www.zabbix.com/ http://ganglia.info/ http://www.cacti.net/ http://www.nagios.org/ C
  111. 111. 主要ツール(リソース系)の比較表 ツール 種別 データの管理 設定方法 管理画面(WebUI) 通知機能 Munin リソース監視 RRDTool CUI △ (参照のみ) △ Cacti リソース監視 RRDToolとMySQL CUI/GUI ○ ○ MRTG リソース監視 独自形式 CUI △ (参照のみ) ×Zabbix 統合監視 MySQLやPostgreSQL等 GUI ○ ○Nagios 統合監視 MySQLかPostgreSQL CUI/GUI ○ ○Hinemos 統合監視 PostgreSQL GUI ○ ○特定のツールが優れているかどうかではなく、用途に応じた使い分け・共存が可能なのです。
  112. 112. 今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】 なぜ監視を行うのか?3.【 武器 】 Muninでリソース監視4.【 神を殺せ 】 ○人○の排除が、道しるべ
  113. 113. # 4属人性の排除こそが、道しるべI wan’t rely on anyone anymore.■■■■□
  114. 114. スーパーハカー(神)は死んだ I Wont Rely On Anyone Anymore
  115. 115. スーパーハカーリソース監視は
  116. 116. もう貴方が ログインする必要は無いわ。 Munin is a networked resource monitoring tool.僕にログインさせて、トラブルシュートさせてください! 障害ですよね!?シンクロ率0.00000000%(公開鍵認証的な意味で)ログインだけはせんといてくださいよ!
  117. 117. 様々なデータを瞬時に把握出来る• グラフを通した視認性の高さ – 短時間で複数台の状況を把握できる。異常値(スパイク)の把握が容易。 – 得られるもの:迅速な対応• 属人性の排除、少人数での対応を実現 ログをいきなり読む方法もあ りますが、未知の状況や障害 – ○○さんが居なくても、だいたい分かる に対して、スムーズに闘う為 の武器として、リソース監視 – 得られるもの:迅速な対応 は有用と考えています。• 過去データの蓄積 – 傾向を手軽に分析できる(過去1年分まで) – 得られるもの:迅速な対応
  118. 118. 機会損失を抑え、迅速な復旧のために• “神は死んだ” – ベテランでも、切り分けに時間を要する場合がある • 例:LB のノードダウンが発生したけれど…• 障害発生後のトラブルシューティングが容易に – 短時間で対応できる – 少人数で対応できる
  119. 119. Fugin Munin “thought” “memory” 思考 記憶This Photo is under creative commons licensehttp://en.wikipedia.org/wiki/File:Odin hrafnar.jpg
  120. 120. エージェントである munin-node は、 開発段階の名称が “munin-eye”でした。リソース監視により、インフラを見通す”神の視点”(munin-eye)が手に入るとも言えるでしょう。
  121. 121. もう障害対応も怖くない Im Not Afraid of Anything Anymore
  122. 122. Muninが変えた、障害対応の流れ• ツールにたよらない場合 – 各種ログの調査、コマンド実行(sysstat等) – 人の手が掛かり、時間もかかる←致命的• Munin があれば… – サーバにログインしなくとも、状況把握 – 視覚的に比較できるので、異常値検出が用意 – 迅速な対応が可能 • 障害対応の Plan-Do-Check-Action (PDCA) • グラフを見た瞬間「この障害対応のエンディングが見えたッ!」
  123. 123. とあるホスティングの場合• Muninはマジで仕事に欠かせません。 – とにかく入れる – 片っ端から入れる – 無駄に入れる
  124. 124. /ヽ /ヽ / ヽ / ヽ ______ / ヽ__/ ヽ Plan | ____ / :::::::::::::::\ 障害状況の把握 || || // | ● ● \ :::::::::::::::| ::::::::::::::| 何このアラート・・・ /つ_∧ || .| :::::::::::::| 計画 || | (__人__丿 .....:::::::::::::::::::/ /つ_,∧ 〈( ゚д゚) | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::|\キター/ |( ゚д゚) ヽ ⊂ニ) まじっすか! |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::| ∧_∧  ̄||ヽ、 ヽ__と/ ̄ ̄ ̄/ | 障害個所推測( ) ||_|  ̄\/___/(__ つ三_ | カタカタ /__ヽ) || || カタカタ 障害対応PDCA Do _||_J || || 円環の理 ___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 実行 の予感!! Action / || ̄ ̄|| <⌒ヽ )) < >>Munin はてさて、 | ||__|| < 丿 | どこが障害ポイントなんだ? ,. -‐‘’‘’‘“”¨¨¨ヽ | ̄ ̄\三⊂/ ̄ ̄ ̄/ , \___________ ノ) (.___,,,... -ァァフ| あ…ありのまま 今 Munin で見た事を話すぜ! | ( ./ | / 改善 |i i| }! }} //| ノ)ノ,(ノi |l、{ j} /,,ィ//| 『おれはfontentの鯖でnginxを確認していたと ( (ノし i|:!ヾ、_ノ/ u {:}//ヘ 思ったらいつのまにかバックエンドのMySQLをみてた』 |リ u } ,ノ _,!V,ハ | ┐) ∧,∧ ノコマンド実行 /´fト、_{ル{,ィeラ , タ人 な… 何を言ってるのか わからねーと思うが ..|( ( ....:::::::) ( / ヾ|宀| {´,)⌒`/ |<ヽトiゝ Check おれも何をされたのかわからなかった… ,゙ / )ヽ iLレ u | | ヾlトハ〉  ̄⊂/ ̄ ̄7 ) ヽ lヽ,,lヽ |/_/ ハ !ニ⊇ /:} V:::::ヽ 頭がどうにかなりそうだった… (/ 川口 /ノ ( ) やめて! // 二二二7T /u __ /:::::::/`ヽ /´r -―一ァ‐゙T´ "´ /::::/-‐ \ ioDriveだとか超スピードだとか  ̄TT ̄ と、 ゙i / // 广¨´ / /:::::/´ ̄`ヽ ⌒ヽ そんなチャチなもんじゃあ 断じてねえ 評価 ノ / ノ:::::`ー-、___/:::::// ヽ } _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ… グラフやサービス状況確認
  125. 125. 実際の運用では…(こういう場合も)• 障害発生から復旧までの時間短縮のために – アラート検出間隔の短縮 – 閾値は、とりあえず設定しない。意味が無い。• レイヤ毎に異なる監視 – サーバの死活監視と、リソース監視は別 – ロードバランサの管理画面 – 実機による確認• はじめからピークが予測される場合 ←ここはナントカし – 待機! たい。イケてない。 本当に改善したい。 – 人間による各種目視確認とリアルタイム対応
  126. 126. # 5今日のまとめ。Its new ideas based on the past.■■■■■
  127. 127. 西高東低ARTS Keywords武器τεχνη 神を殺せ
  128. 128. 今日のセミナーで共有したい事。1.【 西高東低 】○○の出来ない時代に備える2.【 Q 】 なぜ○○を行うのか?3.【 武器 】 ○○○○○で○○○○監視4.【 神を殺せ 】 ○人○の排除こそが、道しるべ
  129. 129. 今日のセミナーで共有したい事。1.【 西高東低 】予測の出来ない時代に備える2.【 Q 】 なぜ監視を行うのか?3.【 武器 】 Muninでリソース監視4.【 神を殺せ 】 属人性の排除こそが、道しるべ
  130. 130. (業務で)もし、Muninでやれと言われたら? 僕は、リソース監視が出来るなら、Zabbbix でも何でもいいと思います。 これから始めるのであれば、Munin の導入・運用コストは少なくオススメです。
  131. 131. 僕からのお願い。• もし、今日セッションでMuninが気になったらまずは、リソース監視を試してみませんか?• きっと、そこには、まだ誰も知らない運用のありかた(未来)があるのかもしれません。
  132. 132. 今日、リソース監視をはじめます。
  133. 133. 今日、リソース監視をはじめます。
  134. 134. 今 ま で な か っ た ド キ ド キ を。 http://munin.jp
  135. 135. http://munin.jpQuestions?• もう少しkwsk訊きたい所はありますか? / ̄\ | | \_/ | / ̄ ̄ \ / \ / \ / ⌒ ⌒ \ よくぞ訊いてくれた | (__人__) | 褒美としてオプーナを買う権利をやる \ ` ⌒´ / ☆ /ヽ、--ー、__,-‐´ \─/ / > ヽ▼●▼<\ ||ー、 / ヽ、 \ i |。| |/ ヽ (ニ、`ヽ .l ヽ l |。| | r-、y `ニ ノ \ l | |ー─ |  ̄ l `~ヽ_ノ____ / ̄ ̄ ̄ ̄ヽ-ヽ-- / オプーナ /| .| ̄ ̄ ̄ ̄ ̄ ̄|/| | ̄ ̄ ̄ ̄ ̄ ̄|/| ______ / ̄オプーナ/|  ̄|__」/_オプーナ /| ̄|__,」___ /| | ̄ ̄ ̄ ̄ ̄|/オプーナ ̄/ ̄ ̄ ̄ ̄|/ オプーナ /| / .| | ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/l ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/ | / | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  136. 136. Reference『ウェブオペレーション』 サイト運用管理の実践テクニック O’REILLY JAPAN John Allspaw、Jesse Robbins 編 角 征典 訳 2011年05月発行 278ページ ISBN978-4-87311-493-4
  137. 137. Reference『私がMuninに恋する理由』 インフラエンジニアでも監視がしたい! http://www.slideshare.net/zembutsu/this-is-the-reason-why-i-choose-munin-20121211distribution
  138. 138. Reference『Muninで始める実戦★リソース監視』 俺のサーバがこんなに重いはずが無い、を乗り切るために http://www.slideshare.net/zembutsu/practical-resource-monitoring-with-munin
  139. 139. References• Munin • Magazine – http://munin-monitoring.jp/ – Software Design 2012年11月号 – 第二特集 Muninが手放せない理由• Munin User Group Japan – p.77-110 – http://munin.jp/ – http://munin.jp/wiki/• Slideshare – http://slideshare.net/zembutsu/

×