it infra Summit 2014 network zabbix

B722d457f803a630f3c55429b526510b?s=47 komeinw
July 24, 2014

it infra Summit 2014 network zabbix

ITインフラSummit2014 「ネットワークを監視する」Zabbixの活用事例の資料です。

B722d457f803a630f3c55429b526510b?s=128

komeinw

July 24, 2014
Tweet

Transcript

  1. 「ネットワークを監視する」 Zabbixの活用事例 株式会社サイバーエージェント アドテク本部 山本 孔明 @ITインフラSummit 2014

  2. 1. はじめに ~自己紹介と今回の目的~ 2. Why Zabbix?? 3. 弊社でのZabbix活用事例 4. Zabbix

    APIの活用 5. おわりに ~今後やりたいこと~ Agenda
  3. 自己紹介 • AdTech STUDIOとは? – サイバーエージェントグループ内でアドテクノロジーに携わっていたエンジニ アを結集させた組織 – 各サービスの開発部門を集結し、横断した組織としてアドテクスタジオを設立 •

    プロフィール – 今年からアドテクスタジオのインフラエンジニア(主にネットワーク)を 担当 – プロダクトはCisco、Brocade、DELL、F5などネットワーク機器中心 – 職歴 • 某Sierにてネットワーク設計・構築 • ストレージ(EMC/NetApp)のプリセールス • その他 – Twitter @komeinw
  4. オープンソースのサーバ監視ソフトウェアとして 注目されているZabbixですが、 「Zabbixはネットワークの 監視にも上手く使えます」 ということを伝えたい (「そんなの知ってるよ。」という人は後半あたりから聞いてください) 今回の目的

  5. 1. はじめに ~自己紹介と今回の目的~ 2. Why Zabbix?? 3. 弊社でのZabbix活用事例 4. Zabbix

    APIの活用 5. おわりに ~今後やりたいこと~ Agenda
  6. 導入にあたり・・・ • 背景 – アドテクスタジオにはインフラエンジニアは数名しかいない – そのため、監視・運用周りを外部委託していた – 台数が増えるほど増加する運用コスト –

    スピード感の維持 • 結果 – インハウスで運用する – ただし、省力 – 運用周りとして、まずは性能監視から 費用は安くしたいし、でも楽もしたい、細かいチューニングだってし たいし、必要になったらすぐに反映したい
  7. Why Zabbix?? • 細かい設定が簡単にできる – 乗数、差分、Calculateなど – 1秒間隔の監視も可能 – Zabbix

    2.0からLLDに対応している • サーバサイドで使われている – 同じ画面で切り分けできる – テンプレートをImportして他で監視している項目も簡単に監視項目へ 追加できる • APIが充実している • オープンソース
  8. 1. はじめに ~自己紹介と今回の目的~ 2. Why Zabbix?? 3. 弊社でのZabbix活用事例 4. Zabbix

    APIの活用 5. おわりに ~今後やりたいこと~ Agenda
  9. 使用イメージ • Zabbixサーバのスペック Dell Inc. PowerEdge R210 Linux version 2.6.32-431.11.2.el6.x86_64

    CPU model name : Intel(R) Xeon(R) CPU E31220L @ 2.20GHz 4core MemTotal: 8030508 kB • アイテム/トリガー数 – 50097/31588 – インタフェース分増えるので一部Disableへ変更中 • 監視対象 – ネットワーク機器(サーバやアプリの監視は別) – Cisco(Catalyst)、Brocade(VDX)、DELL(Force10)、F5(BIG-IP)等 – 死活監視 – Ping、SNMP、SNMP Trap 余っていた サーバを拝借 まだ全台入っ ておらず・・・
  10. 画面イメージ① ①よく使うスクリーンを登録 ②Zabbixが監視している データサマリ ③ディスカバリ機能で 検出された機器 ④グループごとの 障害ホスト数 ⑤障害のレベルごと の件数

    ⑦最新20件の検知した障害 ⑥WEB監視サマリ ※分かりやすいように多くの障害あがるようにしている環境の画面を表示しています
  11. 画面イメージ② ①バーを動かして対象期間を変更 ②詳しくみたい箇所を反転させて 対象期間を変更可能 ③保存しているトレンドデータから最小、平均、最大値を表示

  12. 画面イメージ③ 操作方法は通常のグラフと同じです

  13. 他の可視項目や機能など • スクリーンはDynamic Itemに対応 • トリガーの障害判定も細かく設定可能 • マップも作成可能 • LLDによりMIB値の一括取得可能

    • 正規表現によるフィルタリングやマクロも使用可能 ・・・etc チューニングが 細かくできる!
  14. で、どうやって登録してるのか? – 基本的に自動です Q:画面の隅に新しいホストが検出されました的な? – ちゃんとメーカーを認識して登録されます。 Q:グラフの設定とかは後からでしょ? – いいえ、グラフも同時に生成されます。

  15. 登録までのフロー • 仕組みはとても簡単です 1. Zabbixのディスカバリ機能を使用して、IPレンジで新規ホスト を検出 2. ディスカバリのルールには特定のOIDのチェックを含める 3. OIDのチェック結果により、予め準備したホストグループ・テ

    ンプレートを適用。合わせてホスト登録も実施する。 4. テンプレートに所属するアイテム・トリガー・グラフが登録さ れる LBに新しくVirtual Serverが作成された場合も自動で検出してグラフを生成します。 申請→対応の待ち時間から解放・・・。設定忘れもない。
  16. 登録のポイント • 結局、大変なのは各メーカーごとの「テンプレートを準備」するとこ ろ – NW機器向けのテンプレートはまとまっていなく探すのが大変 • ということで、今回以下のテンプレートを公開します • Cisco

    Catalyst、Brocade VDX、DELL Force10、F5 BIG-IP 基本的に性能監視用途として作成 • なんで公開するの? – ある程度まとめて公開することで、利用者がZabbixを使用するハードル が下がる – これをキッカケにネットワーク利用促進になってほしい – (オープンソースで使用できていることへの感謝) …取得方法は後程。あくまでも個人の範囲での提供です。
  17. テンプレートの一例 Template Brocade VDX |---- Application |---- General |---- (Template

    ICMP)ICMP |---- (Template Network Interface)interface |---- (Template SNMP traps)snmptraps |---- Item |---- CPU Usage |---- Memory Usage |---- (Template ICMP)ICMP ping |---- (Template ICMP)ICMP loss |---- (Template ICMP)ICMP response time |---- (Template SNMP traps)snmptraps linkup |---- (Template SNMP traps)snmptraps linkdown |---- (Template SNMP traps)snmptraps other |---- (Template SNMP traps VDX)VCS node remove |---- (Template SNMP traps VDX)VCS node disconnect |---- (Template SNMP traps VDX)vLAG Split Detected |---- Trigger |---- CPU load 60% |---- CPU load 80% |---- (Template ICMP)Ping loss is too high |---- (Template ICMP)Response time is too high |---- (Template ICMP)unavailable |---- Screen |---- Graph |---- CPU Usage |---- Memory Usage |---- LLD |--- PowerSupply |--- FAN |--- Temperature |--- (Template Network Interface)Interface |---- Item |---- interface status |---- input rate |---- input errors |---- output errors |---- output rate |---- output discards |---- Trigger (略) |---- Graph (略) モデルによる個体差を 吸収するため極力LLDを 使用 標準で使用する テンプレートは 別のテンプレー トとリンクして共 通化 Swichは標準MIBでインタフェース周りの値が取得可能なため、 比較的作成しやすい。 VDX用のsnmp trap templateは別途準備
  18. 1. はじめに ~自己紹介と今回の目的~ 2. Why Zabbix?? 3. 弊社でのZabbix活用事例 4. Zabbix

    APIの活用 5. おわりに ~今後やりたいこと~ Agenda
  19. 弊社でのZabbix API活用 • Zabbixの基本機能でできないことでも、APIを利用してある程 度のことが実現できます。 • 活用事例① – ホストの棚卸しとコンフィグバックアップ •

    活用事例② – マルチテナント用のカスタマイズページ • 活用事例③ – 特定のグラフを決まった時間にメール送信する
  20. 活用事例① • ホストの棚卸しとバックアップ Zabbixに自動で溜まっていく最新ホスト一覧を利用するため、 メンテナンスフリーです。 ディスカバリ 自動登録された 監視データ モデル別ホスト一覧 Zabbix

    API host.get +SessionID Python Configファイル
  21. 活用事例② • マルチテナント用のカスタマイズページ IDはサーバ再起動で変わるため「graph.get」も合わせて 実施すると良い。 Zabbix API user.login Python URL(GraphID+SessionID+Option)

    システム担当者ごとの グラフのみを表示 WEB 監視
  22. 活用事例③ • 特定のグラフを決まった時間に送信する ②の応用で簡単に実現可能です Zabbix API user.login Python URL(GraphID+Cookie+Option) pngファイルとして保存

    必要なグラフをまとめて 特定の日時に送信
  23. 1. はじめに ~自己紹介と今回の目的~ 2. Why Zabbix?? 3. 弊社でのZabbix活用事例 4. Zabbix

    APIの活用 5. おわりに ~今後やりたいこと~ Agenda
  24. 今後やりたいこと • テンプレートのチューニング – 監視項目の追加 – SnmpTrapのトリガーの追加 – 突発的な値の上昇へのトリガー対応 (現時点のテンプレートでできていない)

    • Syslogとの連携 – Rsyslog(Zabbixサーバに同居)で受信した特定のメッセージをSnmpTrapと して送信、Zaibbxのトリガーとして扱う。 • カスタマイズページの拡充 – 他の機器のAPI経由で取得した情報追加 (BIG-IPのNode追加、一覧表示など、メンテナンスJOB用)
  25. 本日出てきた Zabbix template 等は下記に上げて あります https://github.com/makocchi-git/it_infra_summit_2014 ご清聴ありがとうございました