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

33
Re: ゼロから始める監視設計 @ zembutsu 運用自動化のための

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

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 cloudshttp://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つ

個人は経験の蓄積を、組織は知識の蓄積を

まとめ