Muninではじめる実践★リソース監視 -俺のサーバがこんなに重いはずがない、を乗り切るために-

40,641 views
40,775 views

Published on

Practical resource monitoring with munin
Munin User Group Japan http://munin.jp/
Sep 8, 2012 @ OSC1020 Tokyo/fall

Published in: Technology
1 Comment
86 Likes
Statistics
Notes
No Downloads
Views
Total views
40,641
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
0
Comments
1
Likes
86
Embeds 0
No embeds

No notes for slide

Muninではじめる実践★リソース監視 -俺のサーバがこんなに重いはずがない、を乗り切るために-

  1. 1. Muninで始める実践★リソース監視 俺のサ バがこんなに重いはずがない、を乗り切るために- 俺のサーバがこんなに重いはずがない、を乗り切るために -Practical Resource Monitoring with MuninI Think Munin Is Truly WonderfulMunin User G oup Japa http://munin.jp/ u Use Group Japan ttp // u jp/Masahito Zembutsu @zembutsuSep 8, 2012 , オープンソースカンファレンス 2012 Tokyo/Fall
  2. 2. 45分あります
  3. 3. 今日のテーマTODAY’S RECEIPE
  4. 4. Muninを使ってインフラ運用現場の負担が減ればそれはとっても、うれしいなって。
  5. 5. …の前に
  6. 6. \ / \ 丶 i. | / ./ /私は誰? \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ Zembutsu M Z b t Masahito hit ー __ わ た し で す --• 前佛 雅人 @zembutsu 二 / ̄\ = 二  ̄. | ^o^ |  ̄ -‐ \_/ ‐- – Solutions Engineer ( 萌えるSE ) / • インフラエンジニア的な仕事メイン / ヽ \ • 技術者に安心と休息を 提供するサービス追求(運用/監視/自動化) / 丶 \ / / / | i, 丶 \ – オープンソース系・クラウド系コミュニティ活動 / / / | i, 丶 \ • http://pocketstudio.jp/log3/ – 主な職歴 • 2000年 4月∼ リモート一次対応サポート部隊。 ISP サポート • 2008年 5月∼ 社内ネットワーク保守・通常運用 • 2010年11月∼ 一次&二次エスカレーション対応 • 2012年 7月∼ とあるデ タセ タ内 年 月 とあるデータセンタ内での運用・開発・対応等々 運用 開発 対応等々
  7. 7. を捌くOps的、何かOps的 何か DevOps!
  8. 8. ―Dont forget. always, somewhere, someone is fighting for you. ―As long as you remember her As her. you are not alone.Operation運用 忘れないで、いつもどこかで誰かがあなたの為に戦っている。 彼女を覚えている限り、あなたは一人じゃない。 彼女を覚え 限り あなたは 人じ な (出典:魔法少女まどかマギカ最終話「わたしの、最高の友達」)Monitoring監視
  9. 9. ※こんな職場のイメージですThis Photo is under creative commons license by torkildrhttp://www.flickr.com/photos/torkildr/3462606643/sizes/l/in/photostream/
  10. 10. A HUMAN WORKホスティングサービス業務 サーバの形、心の形。見知らぬ、仕様書。光、そして影。 クラウド、来日。変わる業界。まごころを、お客様へ。DECISIVE BATTLE障害対応 鳴り止まない電話。静止したデータセンタの中で。 優先度の選択を。電源停止に至る病、そして。 営業、侵入。客先訪問、魂の座。嘘と沈黙。涙。 You can advance.次世代ニーズに向けた挑戦 特科サポート部隊、誕生。奇跡の価値は。せめて人間らしく。
  11. 11. サーバ管理者ならば、サ バ管理者ならば一度は思った事があるはず…。 度は思った事があるはず 。 たぶん…。
  12. 12. こ んなore no server ga konna ni omoi hazu ga nai はず ない で解決 できなイカ?
  13. 13. セミナーを通して共有したいこと。• リソース監視を運用フローに組み込むことで、サーバの運用や障害対応の負担を減らせたら、サ バ 運 や障害対応 負担を減らせたらそれは、とっても嬉しいなって( ^ω^)• みんな定時帰りを目指そうぜ!! ← 定時 指 ぜ
  14. 14. セミナーを通して共有したいこと。1. Muninとは何か?2. Muninのアーキテクチャ3. できる!Munin4. 実践、トラブルシュート!5. わたしの最高の運用支援ツール(まとめ)
  15. 15. 個人的な想い。。。①リソース監視という、武器を手に入れよう。 Wille zur Macht②運用効率の、劇的な改善を目指そう。『みんなで幸せになろうよ 』 みんなで幸せになろうよ。(出典:後藤 喜一 警視庁警備部特科車両二課第二小隊長,機動警察パトレイバー)
  16. 16. 日本Muninユーザ会日本M i ユ ザ会 ABOUT MUNIN USER GROUP JAPAN
  17. 17. Munin.jp• Munin User Group Japan – http://munin.jp/• Wiki iki – http://munin.jp/wiki/• Demo – http://demo.munin.jp/• メーリングリスト – http://munin.jp/mailing-list/
  18. 18. #Muninとは何か?WHAT IS MUNIN?■□□□□
  19. 19. 敢えて言おう、リソース監視ツールであると。 Munin is a networked resource monitoring tool.
  20. 20. サーバ管理者の憂鬱サ バ管理者の憂鬱The Melancholy of Server Administrators y
  21. 21. 気づいた時には始まっていたという話• アラートで検出できないケースが急増 – SNS向けサービス提供事業者様 – 閾値を超えた時には、時既におそし• 迅速な対応へのニーズ – 1分あたりの損失が、ケタ違い
  22. 22. ちょっと重いので調べてください^^• 明確な障害原因が特定しにくい• もうちょっと、頑張らないとだね – なんていう、精神論は現場が消費するだけ。
  23. 23. 一昔前の構成
  24. 24. 一昔前の構成 BIND このあたりを抑えておけば、おk
  25. 25. 割と今時の構成
  26. 26. こんなの絶対おかしいよ!! BINDサーバ台数が増えたり、管理対象が増えているので、現場負担が増えつつある。また、障害発生時は、特定に時間がかかる要因の一つではないでしょうか。
  27. 27. どうしてこうなった…• 障害対応のありかたが変わった
  28. 28. コンソールからの開放コンソ ルからの開放 Ace Console: Fires of Liberation
  29. 29. 障害発生時に大切な事• 原因切り分けが最優先"われわれが行動するばあいには 気づくことが先決条件 われわれが行動するばあいには、気づくことが先決条件である。技術があれば、何でも解決できるわけではない。技術以前に気づくということが必要になる。日本にはいくらも技術屋はいるがなかなか解決出来ない。気づかないからだ。"本田宗一郎(2008) 『ざっくばらん』 PHP 研究所 10pp.
  30. 30. そんな装備(ツール)で大丈夫か?• 大丈夫だ、問題ない。 – ps p – top – vmstat – iostat – free – sar ( (sysstat) t t)
  31. 31. Before After
  32. 32. 障害対応のありかたが変わったかつて いま (present day present time, hahaha!!)• 1台や数台構成 • 複数台が前提• Apache, Sendmail, Perl • 従来 境 従来環境• PostgreSQL, MySQL +nginx,Tomcat,ruby,PHP,Py• たまにアプライアンスあり thon,memcached,Key-Value Store,Hadoop,Cassandra,M St H d C d M• スケールしない ongoDB…etc(仲間が増える• スペックアップで解決する よポポポポーン♪) • スペックアップで解決しない 事が多い
  33. 33. リソース可視化がMuninの本質リソ ス可視化がM i の本質 VISIALIZATION
  34. 34. MRTGは衰退しました。 MRTGは衰退しました MRTG Has Declined我々は一人の英雄を失った。これは敗北を意味するのか?否!始まりなのだ!クラウド連合に比べ我がXeonの国力は30分の1以下である。にも関わらず今日まで戦い抜いてこられたのは何故か!諸君!我がXeonの戦争目的が正しいからだ!一握りのエリートが宇宙にまで膨れ上がったクラウド連合を支配して50余年、宇宙に住む我々が自由を要求して、何度連邦に踏みにじられたかを思い起こすがいい。Xeon公国の掲げる、人類一人一人の自由のための戦いを、神が見捨てる訳は無い。私の弟、諸君らが愛してくれたMRTGは死んだ、何故だ!私の弟 諸君らが愛してくれたMRTGは死んだ 何故だ!戦いはやや落着いた。諸君らはこの戦争を対岸の火と見過ごしているのではないのか?しかし、それは重大な過ちである。クラウド連合は聖なる唯一の地球を汚して生き残ろうとしている。我々はその愚かしさをクラウド連合のエリート共に教えねばならんのだ。MRTG、諸君らの甘い考えを目覚めさせるために、死んだ!戦いはこれからである。我々の軍備はますます復興しつつある。クラウド連合軍とてこのままではあるまい。諸君の父も兄も、連邦の無思慮な抵抗の前に死んでいったのだ。この悲しみも怒りも忘れてはならない!それをMRTGは死を以って我々に示してくれたのだ!我々は今、この怒りを結集し、連邦軍に叩きつけて初めて真の勝利を得ることが出来る。この勝利こそ、戦死者全てへの最大の慰めとなる。国民よ立て!悲しみを怒りに変えて、立てよ国民!Xeonは諸君等の力を欲しているのだ。ジーク・Xeon!!
  35. 35. リソース監視系の比較http://www.munin-monitoring.org/http://www munin-monitoring org/ http://oss.oetiker.ch/rrdtool/ htt // tik h/ dt l/ http://oss.oetiker.ch/mrtg/ htt // tik h/ t / 私、樹になります! http://www.zabbix.com/ http://ganglia.info/ http://www.cacti.net/ http://www.nagios.org/
  36. 36. リソース監視系の比較http://www munin-monitoring org/http://www.munin-monitoring.org/ http://oss.oetiker.ch/rrdtool/ htt // tik h/ dt l/ htt // http://oss.oetiker.ch/mrtg/ tik h/ t / snmpd http://www.zabbix.com/ http://ganglia.info/ http://www.cacti.net/ http://www.nagios.org/ C
  37. 37. 主要ツール(リソース系)の比較表 ツール 種別 データの管理 設定方法 管理画面(WebUI) 通知機能 Munin リソース監視 RRDTool CUI △ (参照のみ) △ Cacti リソース監視 RRDToolとMySQL CUI/GUI ○ ○ ズッ友だよ… MRTG リソース監視 監視 独自形式 CUI △ (参照のみ) 参 ×Zabbix 統合監視 MySQLやPostgreSQL等 GUI ○ ○Nagios 統合監視 MySQLかPostgreSQL CUI/GUI ○ ○特定のツールが優れているかどうかではなく、用途に応じた使い分け・共存が可能なのです。
  38. 38. で、Muninって何なのさ?で M i て何なのさ? The Munin We Saw That Day y
  39. 39. Munin シャキ ン( ω シャキーン(`・ω・´) )• http://munin-monitoring.org/ – リソース監視ツール • トレンドの変化を解析できる • 何が性能を殺しているのか? が分かる – プラグアンドプレイな設計 • 標準で、多くのグラフを表示できる Munin is a networked resource monitoring tool that can help analyze resource trends and g p y "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.
  40. 40. 開発者サイト 本家プロジェクト github• http://munin-monitoring.org/ • https://github.com/munin-monitoring ドキュメント・trac・FAQ・Wiki 開発リポジトリ・ツール・plugins
  41. 41. 開発状況• 体制 – コミュニティが開発およびサポート • Github – https://github.com/munin-monitoring • メーリングリスト – https://lists.sourceforge.net/lists/listinfo/munin-users • IRC – irc://irc.oftc.net/#munin• ライセンス – GNU Public License version2 – 商用サポートなし・商用ライセンスもなし 商用サポートやライセンスの違いが戦力の決定的差ではないと言うことを(ry
  42. 42. 開発史• 2002年 開発スタート – LRRD という開発名称• 2004年 Munin 1.0 リリ 年 i リリース – 開発途上、munin-eye を munin-node へ呼称変更 – 長い時間をかけ、日々の改良• 2009年 Munin 1.4 リリース – 1.x 系で比較的広まっているバージョン• 2012年5月30日 – 2年の開発期間を経て Munin 2.0 (stable) リリース
  43. 43. 日本語の情報は…• まだ集まっていません!• これから作っていきましょう! – まずはWikiへ • http://munin.jp/wiki/
  44. 44. M i ?Munin?The secret of Munin
  45. 45. Fugin Munin “thought” “memory” 思考 記憶This Photo is under creative commons licensehttp://en.wikipedia.org/wiki/File:Odin hrafnar.jpg
  46. 46. munin-eye さんの心境 ( 現munin-node さん談)
  47. 47. ここまでの、まとめ• Munin はオープンソースのリソース監視ツール• コンソールからの開放をもたらす(効率アップ)• シンプル&パワフルな設計思想 memory• Muninは 記憶 を司る24時間365日の運用支援から、障害対応のお供にも。
  48. 48. #Muninの構造ARCHITECTURE OF MUNIN■■□□□
  49. 49. Muninの、すごく単純な構造M i の すごく単純な構造 Architecture of Munin
  50. 50. ユーザ視点 サーバ上のHTML&グラフを参照します。 ただそれだけの、シンプルなもの。
  51. 51. ユーザ視点
  52. 52. クライアント・サーバ・モデルクライアント サ バ モデル client server model
  53. 53. もう少し詳しくみてみましょう。
  54. 54. これが、先ほどのデータです。
  55. 55. これが本体(Muninマスタ)の構成です。これが本体(M i マスタ)の構成ですCrondによって、データ取得・閾値チェック・HTML&グラフ生成のプログラムを、逐次実行します。
  56. 56. これは、エージェントである munin-nodeです。
  57. 57. データ取得は、munin-updateが、デ タ取得は munin updateがTCP Port 4949 を通して、munin- nodeと通信します。
  58. 58. munin-nodeでプラグインを呼び出します。プラグインが、様々なデータを取得します。
  59. 59. RRDtoolに格納されたデ タ(.rrd)を元に、RRDtoolに格納されたデータ(.rrd)を元に、 を元に、グラフやHTMLを生成します。これが、5分に1回実行されます。設定変更により、1分など任意指定も可です。
  60. 60. 以上が、Muninの基本構造です。
  61. 61. Muninの構成master ( サーバ ) munin-node ( エージェント )• Perl Libs • Perl Libs – Munin::Common i – Munin::Common i• munin-cron • munin-node – munin-update – config: munin-node.conf – munin-limits – Plugins – munin-html • Tools – munin-graph – munin-node-configure• config: munin.conf fi i f – munin-cron
  62. 62. データ収集の基本• munin-node が、プラグイン単位で収集 – Port 4949(TCP) に対するアクセス – Munin プロトコル • LIST • CONFIG (T T)4949 (T_T)4949 • FETCH • VERSION • QUIT
  63. 63. データ格納、グラフ生成はRRDtool• データは rrd 形式 (round robin database) – /var/lib/munin/<ホスト名>/プラグイン名.rrd -rw-r--r-- 1 munin munin 50612 10月 18 rw r r 2010 localhost-cpu-idle-d.rrd 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 rw r r 2010 localhost-cpu-system-d.rrd 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程度)
  64. 64. Muninが持つ、様々なプラグイン• システムリソース – CPU、メモリ、Load Average、ディスク関連 g• ネットワーク – トラフィック、SNMP、HTTP 読み込み時間• ミドルウェア・アプリケーション – Apache, Nginx, Sendmail, Postfix, MySQL, PostgreSQL, M P t SQL MongoDB, memcached, PHP etc DB h d PHP… t
  65. 65. 例: Load Average取得プラグイン• /etc/munin/plugins/load – 5分間平均のデータを取得 – シンボリックリンク • 実体は /usr/share/munin/plugin/load – シ ルスクリプト シェルスクリプト echo -n "load.value " cut -f2 -d < /proc/loadavg /p / g load .value 3.22
  66. 66. グラフ生成は、プラグイン単位グラフ生成は プラグイン単位 Architecture of Munin
  67. 67. #できる!MuninPRACTICAL MUNIN■■■□□
  68. 68. Muninセットアップ!M i セ トア プ! Setting up. g p
  69. 69. 動作環境• 基本 Perl5 が動作する環境• OS – Linux • Source code ( version 2.0.6 ) • Binary Package – Red Hat Enterprise Linux 系 ( EPEL ) – Debian – openSUSE – MacOS X – Windows
  70. 70. 大まかな流れ• パッケージのセットアップ• 設定ファイル( u 設定ファイル(munin.conf)の書き換え .co )の書き換え• munin-nodeの設定• 動作確認
  71. 71. Red Hat Enterprise Linux系• EPEL*1(testingリポジトリ)パッケージ or ソース• 手順 – 1. EPELを有効に – 2. yum install munin – 3. 設定ファイル munin.conf 調整 – 4. munin-node(エージェント)の起動設定 – 5 動作確認 5.*1 Extra Packages for Enterprise Linux(EPEL) https://fedoraproject.org/wiki/EPEL
  72. 72. Debian / Ubuntu• パッケージ(Debian PTSではtesting) or ソース• 手順 – 1. apt-getでPerlライブラリをセットアップ – 2. バイナリかソースを組み込み – 3. 設定ファイル munin.conf 調整 – 4. munin-node(エージェント)の起動設定 – 5 動作確認 5.
  73. 73. 設定ファイルの基本知識設定フ イルの基本知識 How to configure g
  74. 74. 設定ファイルMuninマスタ munin-node• /etc/munin/munin.conf • /etc/munin/munin-node.conf – 対象ノ ド 指定 対象ノードの指定 – アクセス制限 ク 制限 – 動作モード • IPアドレス • グラフ・HTMLの動的/静的生成 • CIDR – 各種パス指定 – ホスト名 – ポート番号 • Default: TCP 4949 (T_T) – プラグインのオプション指定
  75. 75. [munin.conf] 対象ノード指定[GroupName;node1.pocketstudio.net] address 127 0 0 1 127.0.0.1 use_node_name yes
  76. 76. [munin-node.conf] アクセス制限• allow ^127¥.0¥.0¥.1$ – ※正規表現。• cidr_allow 192.0.2.0/24 – ※正規表現ではない。• 設定変更後は munin-node の再起動を! i d 再起動を
  77. 77. プラグインの基本知識 How to use plugins p g
  78. 78. プラグイン設置の基本• プラグイン実体 (シェルスクリプト中心) – /usr/share/munin/plugins/ p g• /etc/munin/plugins にシンボリックリンク作成• 必要に応じて munin-node.conf 調整• munin-node restart ←重要• グラフ描画をチェック
  79. 79. プラグインのデバッグ• /usr/sbin/munin-run <プラグイン名> – --debug オプションを付与すると、更に細かい g – munin-node の再起動をしなくとも、同じ挙動• コマンドラインツール – muninwalk & muninget (perl script) https://github.com/zembutsu/muninwalk h // i h b / b / i lk
  80. 80. 基本プラグインの追加設定 How to setup plugins pp g
  81. 81. Apache• シンボリック・リンク # ln -s /usr/share/munin/plugins/apache_* /etc/munin/plugins/• munin node conf munin-node.conf [apache_*] env.url http://127.0.0.1:%d/server-status?auto env.ports 80• httpd.conf ExtendedStatus On <Location /server-status> SetHandler server status server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>
  82. 82. MySQL• シンボリック・リンク # ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/• munin node conf munin-node.conf [mysql*] env.mysqlopts -u root -pPASSWORD env.mysqladmn /usr/bin/mysqladmin
  83. 83. BIND• シンボリック・リンク # ln -s /usr/share/munin/plugins/bind9_rndc /etc/munin/plugins/• munin node conf munin-node.conf [bind9_rndc] env.rndc /usr/sbin/rndc env.querystats /var/named/chroot/var/named/data/named_stats.txt user root• named.conf statistics-file "/var/named/data/named_stats.txt";
  84. 84. あなたの知らないプラグイン Plugins catalog g g
  85. 85. AWS利用料金表示プラグインを作ってみました
  86. 86. 電力会社の供給状況や、
  87. 87. 電力使用率など、数値化できるものであれば、 何でも簡単にグラフ化できます。
  88. 88. プラグインを自作する How to make plugins p g
  89. 89. 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 210 239 46 254:80 bytes), time=0 08+0 47=0 55 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
  90. 90. Plugin: httping_#!/bin/sh## Plugin to monitor HTTP response (httping)#%# family=auto#%# capabilities=autoconfURL=${URL:-"http://localhost/"}COUNT=${COUNT:-"5"}httping bin=$(which httping)httping_bin=$(which これがプラグインの実体です これがプラグインの実体です。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" processing.label 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}
  91. 91. Config: httping_• /etc/munin/plugin-conf.d/httping [httping_localhost] env.URL h // k di j / http://pocketstudio.jp/ env.COUNT 5 [httping_blog] env.URL env URL http://pocketstudio.jp/log3/ http://pocketstudio jp/log3/ env.COUNT 5 [httping_node1] env.URL env URL http://node1.pocketstudio.net/ http://node1 pocketstudio net/ env.COUNT 5• # ln -s /usr/share/munin/plugins/httping_ /etc/munin/plugins/httping_localhost
  92. 92. httping demo• http://demo.munin.jp/munin2/httping-day.html
  93. 93. #実践!トラブルシュートTHE DAY OF TROUBLESHOOTERS■■■■□
  94. 94. 俺のサーバがこんなに重いはずが無い ore no server ga konnani omoi hazu ga nai g g
  95. 95. あきらめたら試合終了ですよ。• 原因切り分け時の注意点 – ハードウェア or ソフトウェア or ネットワーク – どこで問題が起こっているか、迅速に判断する。 ※この対応速度こそが、サービスの肝
  96. 96. ここで実機を使った検証を。• http://demo.munin.jp/ – このデモ環境で問題になっている所を、 実際に確認してみます。 – 調査時は、サーバに一切ログインしません(キリッ
  97. 97. こんなの絶対おかしいよ! This Just Cant Be Right g
  98. 98. 実録:不正アクセス。• 気づいた時には始まっていた(ryを地でゆく事案• 状況 – 1. postmaster宛のエラーメールが届き始める – 2. 死活監視系のアラートは一切無し 活監視系 無 – 3. まずは Munin でリソース異常をチェック – 4. CMSによる不正アクセスの特定(リソース異常時 CMSによる不正アクセスの特定(リソ ス異常時 前後のログを洗い、対象URLやスクリプトを把握) – 以上の動作を、短時間でスムーズに行えた。
  99. 99. Sendmailのキュー数が急上昇 一方、LoadAverageは普通
  100. 100. トラフィックが不自然な時間帯発見 MySQLのクエリも急増している この状況から、CMSに対する攻撃を推測しはじめます。変動のあった時刻の この状況から CMSに対する攻撃を推測しはじめます 変動のあ た時刻の Apacheのログを調査することで、特定URLに対する不正アクセスを特定、 直ちに対処できました。 もしMuninがなければ、気がつくことや、原因特定に時間がかかったと思います。
  101. 101. #わたしの、最高の運用支援ツールMY VERY BEST MONITORING TOOL■■■■■
  102. 102. Munin 2.0M i 2 0 の新機能 I think that Munin is truly wonderful y
  103. 103. 2.0の新機能はとっても嬉しいなって• UI刷新 – Zooming機能 g• 非同期 I/O をサポート – 大規模環境を考慮• Native SSH 機能 – セキュア & SSH 経由取得 (port 22)• 非同期 proxy 機能 – munin-nodeを介さずデータ取得
  104. 104. [RemoteNetwork;backend-DB] addressssh://210.239.46.254/opt/munin/lib/munin-async-client --spooldir /var/opt/munin/spool/192.168.0.230 –spoolfetch use_node_name yes
  105. 105. もう障害対応も怖くない Im Not Afraid of Anything Anymore y g y
  106. 106. Muninが変えた、障害対応の流れ• ツールにたよらない場合 – 各種ログの調査、コマンド実行(sysstat等) – 人の手が掛かり 時間もかかる 致命的 人の手が掛かり、時間もかかる←致命的• Munin があれば… u があれば – サーバにログインしなくとも、状況把握 – 視覚的に比較できるので、異常値検出が用意 – 迅速な対応が可能 • 障害対応の Plan-Do-Check-Action (PDCA) • グラフを見た瞬間「この障害対応のエンディングが見えたッ!」
  107. 107. とあるホスティングの場合• Muninはマジで仕事に欠かせません。 – とにかく入れる – 片っ端から入れる – 無駄に入れる
  108. 108. 障害対応PDCA円環の理の予感!!
  109. 109. /ヽ /ヽ / ヽ / ヽ ______ / ヽ__/ ヽPlan | ____ / :::::::::::::::\ 障害状況の把握 || || // | ● ● \ :::::::::::::::| ::::::::::::::| 何このアラート・・・ /つ_∧ || .| :::::::::::::| 計画 || | (__人__丿 .....:::::::::::::::::::/ /つ_,∧ / ∧ 〈( ゚ ゚) ゚д゚) | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |( ゚д゚) ヽ ⊂ニ) まじっすか! |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::| ヽ__と/ ̄ ̄ ̄/ |  ̄\/___/ 障害対応PDCA 円環の理 の予感!!
  110. 110. /ヽ /ヽ / ヽ / ヽ ______ / ヽ__/ ヽPlan | ____ / :::::::::::::::\ 障害状況の把握 || || // | ● ● \ :::::::::::::::| ::::::::::::::| 何このアラート・・・ /つ_∧ || .| :::::::::::::| 計画 || | (__人__丿 .....:::::::::::::::::::/ /つ_,∧ / ∧ 〈( ゚ ゚) ゚д゚) | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |( ゚д゚) ヽ ⊂ニ) まじっすか! |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::| ヽ__と/ ̄ ̄ ̄/ | 障害個所推測  ̄\/___/ 障害対応PDCA Do 円環の理 ___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 実行 の予感!! / || ̄ ̄|| <⌒ヽ )) < >>Munin はてさて、 | ||__|| < 丿 | どこが障害ポイントなんだ? | ̄ ̄\三⊂/ ̄ ̄ ̄/ , \___________ ノ) | | ( ./ / ノ)ノ,(ノi ( (ノし ┐) ∧,∧ ノ ..|( ( ....:::::::) ( |( :::::::)  ̄⊂/ ̄ ̄7 ) ヽ lヽ,,lヽ (/ 川口 /ノ ( ) やめて!  ̄TT ̄ と、 ゙i
  111. 111. /ヽ /ヽ / ヽ / ヽ ______ / ヽ__/ ヽPlan | ____ / :::::::::::::::\ 障害状況の把握 || || // | ● ● \ :::::::::::::::| ::::::::::::::| 何このアラート・・・ /つ_∧ || .| :::::::::::::| 計画 || | (__人__丿 .....:::::::::::::::::::/ /つ_,∧ / ∧ 〈( ゚ ゚) ゚д゚) | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |( ゚д゚) ヽ ⊂ニ) まじっすか! |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::| ヽ__と/ ̄ ̄ ̄/ | 障害個所推測  ̄\/___/ 障害対応PDCA Do 円環の理 ___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 実行 の予感!! / || ̄ ̄|| <⌒ヽ )) < >>Munin はてさて、 | ||__|| < 丿 | どこが障害ポイントなんだ? ,. --‘’‘’‘“”¨¨¨ヽ | ̄ ̄\三⊂/ ̄ ̄ ̄/ , \___________ ノ) (.___,,,... -ァァフ|あ…ありのまま 今 Munin で見た事を話すぜ! | ( ./ | / |i i| }! }} //| ノ)ノ,(ノi |l、{ j} /,,ィ//| 『おれはfontentの鯖でnginxを確認していたと ( (ノし i|:!ヾ、_ノ/ u {:}//ヘ 思ったらいつのまにかバックエンドのMySQLをみてた』 |リ u } ,ノ _,!V,ハ | ┐) ∧,∧ ノ /´fト {ル{ ィeラ / fト、_{ル{,ィ eラ , タ人 な… な 何を言ってるのか わからねーと思うが わからね と思うが ..|( ( ....:::::::) ( |( :::::::) / ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった…  ̄⊂/ ̄ ̄7 ) ヽ lヽ,,lヽ ,゙ / )ヽ iLレ u | | ヾlトハ〉 |/_/ ハ !ニ⊇ /:} V:::::ヽ // 二二二7T /u __ /:::::::/`ヽ /´r -―一ァ-゙T´ "´ /::::/-- \ 頭がどうにかなりそうだった… ioDriveだとか超スピードだとか Check (/ 川口 /ノ  ̄TT ̄ ( ) やめて! と、 ゙i / // 广¨´ / /:::::/´ ̄`ヽ ⌒ヽ ノ / ノ:::::`ー-、___/:::::// ヽ } そんなチャチなもんじゃあ 断じてねえ 評価 _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ… グラフやサービス状況確認
  112. 112. /ヽ /ヽ / ヽ / ヽ ______ / ヽ__/ ヽ Plan | ____ / :::::::::::::::\ 障害状況の把握 || || // | ● ● \ :::::::::::::::| ::::::::::::::| 何このアラート・・・ /つ_∧ || .| :::::::::::::| 計画 || | (__人__丿 .....:::::::::::::::::::/ /つ_,∧ / ∧ 〈( ゚ ゚) ゚д゚) | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::|\キター/ |( ゚д゚) ヽ ⊂ニ) まじっすか! |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::| ∧_∧  ̄||ヽ、 ヽ__と/ ̄ ̄ ̄/ | 障害個所推測( ) ||_|  ̄\/___/(__ つ三_ |( 三 カタカタ /__ヽ) || || カタカタ 障害対応PDCA Do _||_J || || 円環の理 ___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 実行 の予感!! / || ̄ ̄|| <⌒ヽ )) < >>Munin はてさて、 Action ,. --‘’‘’‘“”¨¨¨ヽ (.___,,,... -ァァフ| | ||__|| < 丿 あ…ありのまま 今 Munin で見た事を話すぜ! | ( ./ | / | どこが障害ポイントなんだ? | ̄ ̄\三⊂/ ̄ ̄ ̄/ , \___________ ノ) 改善 |i i| }! }} //| ノ)ノ,(ノi |l、{ j} /,,ィ//| 『おれはfontentの鯖でnginxを確認していたと ( (ノし i|:!ヾ、_ノ/ u {:}//ヘ 思ったらいつのまにかバックエンドのMySQLをみてた』 |リ u } ,ノ _,!V,ハ | ┐) ∧,∧ ノ ド実行コマンド実行 /´fト {ル{ ィeラ / fト、_{ル{,ィ eラ , タ人 な… な 何を言ってるのか わからねーと思うが わからね と思うが ..|( ( ....:::::::) ( |( :::::::) / ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった…  ̄⊂/ ̄ ̄7 ) ヽ lヽ,,lヽ ,゙ / )ヽ iLレ u | | ヾlトハ〉 |/_/ ハ !ニ⊇ /:} V:::::ヽ // 二二二7T /u __ /:::::::/`ヽ /´r -―一ァ-゙T´ "´ /::::/-- \ 頭がどうにかなりそうだった… ioDriveだとか超スピードだとか Check (/ 川口 /ノ  ̄TT ̄ ( ) やめて! と、 ゙i / // 广¨´ / /:::::/´ ̄`ヽ ⌒ヽ ノ / ノ:::::`ー-、___/:::::// ヽ } そんなチャチなもんじゃあ 断じてねえ 評価 _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ… グラフやサービス状況確認
  113. 113. 24時間365日の運用支援から、 時間 日 運用支援 ら、 緊急障害対応のお供まで。 運用を支えるMunin−。 運用を支えるM i The O l Thi Th Only Thing I Have Left To Guide Me H L ft T G id M
  114. 114. Muninまとめ (今北産業)・Munin はリソース推移変化をグラフで見る、 視覚による「気づき」に特化した監視ツ ル。 視覚による「気づき」に特化した監視ツール・シンプルな構成、豊富なプラグイン。 シンプルな構成、豊富なプラグイン。・短時間に PDCA を回す必要があるシステムに 短時間に 最適である。
  115. 115. 結論 Muninはリソース推移監視に 特化した手軽なツ ルである。 特化した手軽なツールである。 この短期間でここまでトラブルシュートの精度が上げられる機動力。 まったく、Muninは最高だぜ!! まったく Muninは最高だぜ!! わたしの最高の運用支援ツ ル。 わたしの最高の運用支援ツール。 ※最後は個人の感想です。MUNINにありがとう。MRTGにさようなら。
  116. 116. 僕からのお願い。• もし、今日セッションでMuninが気になったらまずは、試してみませんか?まずは 試し みませんか• きっと、そこには、 き と、そ には、まだ誰も知らない運用のありかた(未来)があるのかもしれません。あるのかもしれません
  117. 117. Questions?• もう少しkwsk訊きたい所はありますか? / ̄\ | | \_/ | / ̄ ̄ \ / \ / \ / ⌒ ⌒ \ よくぞ訊いてくれた | (__人__) | 褒美としてオプーナを買う権利をやる \ ` ⌒´ / ☆ /ヽ、--ー、__,-‐´ \─/ / > ヽ▼●▼<\ ||ー、 / ヽ、 \ i |。| |/ ヽ (ニ、`ヽ .l ヽ l |。| | r-、y `ニ ノ \ l | |ー─ |  ̄ l `~ヽ_ノ____ / / ̄ ̄ ̄ ̄ヽ-ヽ-- / オプ ナ /| オプーナ .| ̄ ̄ ̄ ̄ ̄ ̄|/| | ̄ ̄ ̄ ̄ ̄ ̄|/| ______ / ̄オプーナ/|  ̄|__」/_オプーナ /| ̄|__,」___ /| | ̄ ̄ ̄ ̄ ̄|/オプーナ ̄/ ̄ ̄ ̄ ̄|/ オプーナ /| / .| | ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/l ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/ | / | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  118. 118. References• Munin – http://munin-monitoring.jp/• M i U G J Munin User Group Japan – http://munin.jp/ – http://munin.jp/wiki/• Website – Waiting for Munin 2.0 ‒ Introduction ‒ Personal Workflow Blog • http://blog.pwkf.org/post/2010/06/Waiting-for-Munin-2.0-Introduction – /tags/2 0 0/ChangeLog ‒ Munin ‒ Trac /tags/2.0.0/ChangeLog • http://munin-monitoring.org/browser/tags/2.0.0/ChangeLog

×