Re: ゼロから始める監視設計
@zembutsu
運用自動化のための
2
私は誰?
‣ @zembutsu a.k.a. 前佛雅人
- Technology Evangelist  2+ yrs
- Technical Trainer  1 yr
- Data Center Operations Engineer  15+ yrs
興味:運用監視自動化
趣味でOSSやクラウド系の検証・情報発信
- SlideShare http://slideshare.net/zembutsu
- Blog https://pocketstudio.net
Why am I here?
+MasahitoZembutsu
3
‣ ゼロから監視設計できますか?
運用目的を明確化した監視と、非機能要件としてのシステム監視
‣ なぜ私たちは失敗をするのか?
人が介在する以上は不可避なので、手作業を減らしていこう
‣ 「知識×経験」を自動化で更に活かす
自動化は単なるきっかけの1つ
個人は経験の蓄積を、組織は知識の蓄積を
解決したい課題と、対策の提案
4
‣ なぜこの監視項目が入っているのか分からない
‣ いざ監視をしようと思っても、できない
‣ ツール選定の話をすると、職場が荒れる
現場あるある(?)
どうしてこうなった?
運用
監視
Operation
Monitoring
―Don't forget. always, somewhere,
someone is fighting for you.
―As long as you remember her.
you are not alone.
忘れないで、いつもどこかで誰かがあなたの為に戦っている。
彼女を覚えている限り、あなたは一人じゃない。
(出典:魔法少女まどかマギカ最終話「わたしの、最高の友達」)
6
運用を評価する手段が監視
利用者
システム担当
運用
7
運用を評価する手段が監視
システム設計
利用者
システム担当
構築
運用
評価
報告 システム利用
検証
計画
キャパシティ・プランニング
トラブル・シューティング
8
‣ システム管理 ‣ サイト運用技術
00年代~10年代にかけての監視変遷
System Operator, System Administrator Site Reliability Engineering
(出典)総務省「平成23年通信利用動向調査」
http://www.soumu.go.jp/johotsusintokei/statistics/statistics05.html
5,593
6,942
7,730
7,948
8,529
8,754 8,811
9,091
9,408 9,462 9,610
46.3
57.8
64.3 66.0
70.8 72.6 73.0
75.3
78.0 78.2 79.1
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
10,000
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
普
及
率
(
%
)
利
用
者
数
(
万
人
)
利用者数 人口普及率
インターネット利用者数と普及率の推移
監視第1世代・物理 (~2000年)=死活監視
First Generation Monitoring System, Dead or Alive
監視第2世代・仮想化 (~2009年)=時系列リソース
Second Generation Monitoring System, Time Series and Resource Monitoring
監視第3世代・クラウド対応 (~現在)=時系列サービス
Third Generation Monitoring System, Time Series Service Level
13
ペットから家畜へ
Architectures for open and scalable clouds
http://www.slideshare.net/randybias/architectures-for-open-and-scalable-clouds
ゼロからの監視設計
15
非機能要件としての
システム監視
• プロセス
• システムリソース
• ログ
• ネットワーク
• ハードウェア
サービスレベルの監視
• プロトコル
• 応答速度
• サービス遷移
• セキュリティ
キャパシティ・プランニング
トラブル・シューティング
16
例:とある会社のサイトを運用
17
‣ OSを知ろう、理解しよう、使おう
‣ 基本コマンド群の理解
‣ 自由に扱えるプログラミング言語
知識
18
‣ IT系のエンジニアを名乗るなら(目指すなら)、
インターネットの開かれた環境上に
自分でサーバの1つぐらい運用しませんか?
経験に対する、私からの提案
知識を活かす経験の蓄積
なぜ自動化なのか
私たちは何故失敗するのか
22
運用における失敗とは
23
運用における失敗とは
24
運用における失敗
システム稼働前 システム稼働後
• 不適切な運用フロー
• 監視設定漏れorミス
• 通知設定漏れorミス
• 保守時の作業ミス
• 異常時のリカバリ失敗
• 機能しない運用フロー
事前に対策可能な場合が多い 不可避
失敗の共通要素:人的問題
25
‣ 運用前
適切な設計で回避できる
‣ 運用中
人が介在すると失敗が起こる
• 精神論では回避できない
私たちは何故失敗するのか
26
ラスムッセンのSRKモデル(人間の行動レベルは、知識→規則→熟練)
WEB版「航空と文化」 教育訓練のメカニズム 黒田 勲
http://www.aero.or.jp/web-koku-to-bunka/2006.06.12humanfactor4.htm
余裕がない状態
混乱・パニックで
事故を起こす
マニュアル通りに
事故を起こす
手順省略や
思い込みで
事故を起こす
レベル毎のミス
27
‣ 障害に強い設計
• 障害時のフェイルオーバなど、自動化の仕組み
‣ 手作業の排除≠完全な運用や監視の自動化
• 自動化ツールの導入
• 手作業が入る場合は、自動テストツールを組みあわせる
– 人がミスしても、その場で発見・リカバリできるように
– 人によるダブルチェックを信用しない
人の失敗を避けるには?
28
‣ 局所最適化は意味が無い
その自動化に価値が無い
自動化システムの維持が目的化してしまう(誰が面倒を見るか)
• 例:田んぼの水管理をシステム化しました
‣ 最悪なパターン
• 自動化投資を終えたので使い続けなくてはいけない(使命感)
– でも、手動に拘り続けるよりはましでは
自動化は目的ではないが、手段の1つ
29
‣ 何のための運用なのかを忘れずに
• ツールに運用や監視の幅を既定されるのは本末転倒
‣ 目的を失いがち
• 誰が使うのか
– (自社|他社)開発 ×(自社|他社)運用
• どのレイヤなのか
– インフラ
– プラットフォーム
– サービス
ツール選定の罠
30
‣ 個人
経験を積む
• インターネット上で実サーバを運用して経験値を積もう
効率化(時間短縮・正確さの追求)ツールの導入
‣ 組織
ドキュメント化
• なぜこのような運用設計・監視設計をしているのか
運用でもテスト文化
知識や経験を適切に活かすためには
知識だけでは生きていけない
経験だけでも生きていけない
32
‣ ゼロから監視設計できますか?
‣ なぜ私たちは失敗をするのか?
‣ 「知識×経験」を自動化で更に活かす
まとめ
33
‣ ゼロから監視設計できますか?
運用目的を明確化した監視と、非機能要件としてのシステム監視
‣ なぜ私たちは失敗をするのか?
人が介在する以上は不可避なので、手作業を減らしていこう
‣ 「知識×経験」を自動化で更に活かす
自動化は単なるきっかけの1つ
個人は経験の蓄積を、組織は知識の蓄積を
まとめ

Re: ゼロから始める監視設計