2009年12月6日

hbstudy#6に行ってきました

hbstudy#6
日時:2009/12/05 19:00 to 21:30
会場:ハロー貸会議室 新宿A(新宿三葉ビル6F) (東京都新宿区西新宿1-5-11)
URL:http://heartbeats.jp/hbstudy/2009/11/hbstudy6.html
URL:http://atnd.org/events/2212

hbstudyとは…
サーバ運営会社が主催するインフラ勉強会です。
- システム運用・監視のコツ 坂口氏(tsakaguchi)
  - 定例 … 管理/監視/問合せ対応/サポート
  - 非定例 … 設計(監視・分析)/選定(ソフト・ハード)/構築(ソフト・ハード)
  - 監視とは
    - じーっと見る/状況変化を知る活動
  - 機能停止→監視 サービス(L1〜L3 L4〜L7)
  - 性能低下→性能把握 CPU・メモリ・Disk I/O・ネットワーク・DB
    ↓
    予見するのは困難
    ↓どうやって監視?
    ツールを使う OSS(ZABBIX・hinemos・Nagios・hobbit)
  - hbではNagiosを利用
  - 監視ツールの選定ポイント
    - スケジューリング 人間に合わせる(予めメンテが分かっているならその間止める等)
    - 柔軟性 プラグインで拡張できる
    - Nagios 3年前のスペックのマシン1台で400台を監視して負荷上昇等問題なし/AMQP利用でスケールアウト可(未検証)
  - 設定ファイルはSVN
    - テスト環境で検証しチェックイン、本番環境にチェックアウト
  - Nagios設定のポイント
    - 監視項目をむやみに増やさない
    - 必要なところのみ監視
    - 使う側の視点で設定(閾値の設定)
  - hbの監視
    - 2拠点、2キャリアから1拠点を監視
  - 監視項目
    - 外部 … http、https、レスポンス時間、ページの最後の文字列(ページをすべて表示しきれているか)、回線帯域、ログイン後の画面(ログインできるか)、シナリオ(ECサイトの購入完了まで)
    - 内部 … ロードアベレージ、ログ、プロセス数、DBレプリケーションできているか、Disk容量、Disk I/O
    - JavaVM
      - Out of Memoryになる、ヒープ領域不足→OSにプロセスがkillされる
      - Tomcat/JBoss … プロセスサイズを閾値して越えたら警告、ログインして再起動
    - MySQL
      - ステータス(show xxx status)を監視
      - Webサーバから接続 … phpでDBに接続してリクエストを投げてhttpを返すスクリプトを作り動かし、返却文字列を監視
      - レプリケーションできているか … テーブルを作る、削除してレプリケーションできているか監視
    - サービスレイヤまで見る … IBM用語で「センス アンド レスポンド」 ※と、言っていたが「Sense & Response(感知即応)」では?
    - 閾値の設定
      - ポリシー … 運用しながら(ケースバイケースなので)
      - 誤報はなくせない(宿命) 減らすことは可(Nagiosはリトライチェックするので)
      - 「対応しない」もアリ 対応しない警報は誤報と同じ
    - サイト監視 3〜5秒で表示する
      - ロードアベレージ=コア数
      - swap=20%(swapしないのが理想だけど)
      - プロセス総数=稼働中プロセス数+(MaxClients- …聞き取れなかった)
  - 対応の自動化
    - イベントハンドラ活用
    - ロードバランサから切り離す
    - Apache、セマフォしてリソースの上限で起動できない場合があるので削除する
  - 性能監視
    - ボトルネック、変化を知る … いつ負荷がかかるか→チューニング、スケールアウト
    - キャパを知る
    - Cactiでグラフ化
      - MySQLでJoin数、ログインカウント、InnoDBバッファもグラフ化できる
  - 監視チームを作る
    - 監視と障害対応は切り離せない
    - 1人じゃ無理→夜間対応や複数拠点で同時多発
    - 24時間365日回すには、休みなしで4人でシフト組まないと無理
      - hbの場合、2人同時で300台(1時間に2インシデント)
    - 情報共有
      - アラートの送信先は開発や企画の人にも(障害対応のヒントをもらえる場合もある)
      - ドキュメント(hbでは「監視仕様書」)
        - ネットワーク構成図
        - アプリ構成図(Apache、Tomcat、MySQL、NFSがこうやって連携しています)
        - 対応フロー(連絡網)
        - 監視項目毎の状況確認方法と対応方法(コマンド)
          - 作業概要、コマンド、何を確認するか、判断基準、対応方法
      - 原因追及は復旧後
      - 対応中はターミナルソフトでログをファイル化(共有フォルダに置いて皆で検証)
      - 対応は個人のスキルまかせ ※ここで「それでいいのか?」と議論が起こりましたが、トラブル対応は個人の経験に拠るところが大きいので仕方ないところ
    - sshできない場合 … ランプを見る→ping打つ→電源落とし上げ
    - ドキュメントは二重化 … Wordで作成。バイナリファイルなのでSVNで管理できない
      - 参加者から「うちはWikiでやっている」という声あり
    - 対応する人を決定する … 「誰かがやるだろう」で誰も対応しないのを防止。ボールを持っている人を明確にする
      - hbの場合 … チームメンバ全員に電話する(チームメンバの死活監視w)
  - Q.Nagiosが複数拠点から監視ってことは警報も複数来る?
    A.来ます。片方だけなら誤報(監視経路のトラブル)の可能性あり

- 10分休憩

- [LT]ドメインやSSL証明書の有効期限をNagiosで監視 accutechs.co.jp
  - プラグインがある。ドメインは.comのものなので改造した

- [LT]インフラの仕事と神器 yuzorock
  - kickstart、yum、pupet等ツールを感謝しながら使う
  - インフラは守備範囲が広いので好奇心をもつこと

- [LT]よしおか先生
 - Google「DataCenter As a Computer」データセンタのサーバ群が1台のマシンになる
  - となれば、監視や障害対応が"OS"になると言えるのでは。個人的に熱い分野と言える
  - 1人1000台面倒をみるのがベストプラクティス ※「壊れたら(原因追及せず)交換」ってスタンスなら1000台はアリと思いますが…

- [LT]Xymonグラフの改良 スカイホビット こしかわ
  - Xymon=旧hobbitもっと旧BigBrother(名前変わったらしい)
  - 48時間以前は5分毎が30分毎に丸められてしまう→ソースをいじって丸められないようにした

- [LT]タイル型ウィンドウマネージャ awesome matsu
  - GNOME/KDEと同じ立ち位置
  - twm級に軽い
  - awesomeだけでは形容詞なのでヒットしにくい「awesome window manager」でググると吉

- [LT]サーバメンテナンスについて考える think-t
  - メンテは必要だが、止めるのは「悪」とみられる
  - どうやってとめるか? 理想と現実
    - 予定に入れる
      - 業務の先を読む
      - 段取りしておく … テストしておくなど想定外を減らす
    - 「止まらない」ではなく「止めないようにしている」と理解してもらう
    - 運用者のプレッシャーを減らす
      - 自動化
      - 体制作り
      - 切り戻し手順(ここまで進んでトラブってもこうやれば戻せる)
    - 昼間止めることもアリと考えてみる

- 表彰
  - 今まですべて参加している人を皆勤賞として表彰(表彰状を渡していた)

- 感想など
  - ドキュメントをどうしているかで盛り上がった→皆悩んでいるのね

0 件のコメント: