Upgrade to Pro — share decks privately, control downloads, hide ads and more …

it infra Summit 2014 network zabbix

komeinw
July 24, 2014

it infra Summit 2014 network zabbix

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

komeinw

July 24, 2014
Tweet

More Decks by komeinw

Other Decks in Technology

Transcript

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

    View Slide

  2. 1. はじめに ~自己紹介と今回の目的~
    2. Why Zabbix??
    3. 弊社でのZabbix活用事例
    4. Zabbix APIの活用
    5. おわりに ~今後やりたいこと~
    Agenda

    View Slide

  3. 自己紹介
    • AdTech STUDIOとは?
    – サイバーエージェントグループ内でアドテクノロジーに携わっていたエンジニ
    アを結集させた組織
    – 各サービスの開発部門を集結し、横断した組織としてアドテクスタジオを設立
    • プロフィール
    – 今年からアドテクスタジオのインフラエンジニア(主にネットワーク)を
    担当
    – プロダクトはCisco、Brocade、DELL、F5などネットワーク機器中心
    – 職歴
    • 某Sierにてネットワーク設計・構築
    • ストレージ(EMC/NetApp)のプリセールス
    • その他
    – Twitter @komeinw

    View Slide

  4. オープンソースのサーバ監視ソフトウェアとして
    注目されているZabbixですが、
    「Zabbixはネットワークの
    監視にも上手く使えます」
    ということを伝えたい
    (「そんなの知ってるよ。」という人は後半あたりから聞いてください)
    今回の目的

    View Slide

  5. 1. はじめに ~自己紹介と今回の目的~
    2. Why Zabbix??
    3. 弊社でのZabbix活用事例
    4. Zabbix APIの活用
    5. おわりに ~今後やりたいこと~
    Agenda

    View Slide

  6. 導入にあたり・・・
    • 背景
    – アドテクスタジオにはインフラエンジニアは数名しかいない
    – そのため、監視・運用周りを外部委託していた
    – 台数が増えるほど増加する運用コスト
    – スピード感の維持
    • 結果
    – インハウスで運用する
    – ただし、省力
    – 運用周りとして、まずは性能監視から
    費用は安くしたいし、でも楽もしたい、細かいチューニングだってし
    たいし、必要になったらすぐに反映したい

    View Slide

  7. Why Zabbix??
    • 細かい設定が簡単にできる
    – 乗数、差分、Calculateなど
    – 1秒間隔の監視も可能
    – Zabbix 2.0からLLDに対応している
    • サーバサイドで使われている
    – 同じ画面で切り分けできる
    – テンプレートをImportして他で監視している項目も簡単に監視項目へ
    追加できる
    • APIが充実している
    • オープンソース

    View Slide

  8. 1. はじめに ~自己紹介と今回の目的~
    2. Why Zabbix??
    3. 弊社でのZabbix活用事例
    4. Zabbix APIの活用
    5. おわりに ~今後やりたいこと~
    Agenda

    View Slide

  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
    余っていた
    サーバを拝借
    まだ全台入っ
    ておらず・・・

    View Slide

  10. 画面イメージ①
    ①よく使うスクリーンを登録
    ②Zabbixが監視している
    データサマリ
    ③ディスカバリ機能で
    検出された機器
    ④グループごとの
    障害ホスト数
    ⑤障害のレベルごと
    の件数
    ⑦最新20件の検知した障害
    ⑥WEB監視サマリ
    ※分かりやすいように多くの障害あがるようにしている環境の画面を表示しています

    View Slide

  11. 画面イメージ②
    ①バーを動かして対象期間を変更
    ②詳しくみたい箇所を反転させて
    対象期間を変更可能
    ③保存しているトレンドデータから最小、平均、最大値を表示

    View Slide

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

    View Slide

  13. 他の可視項目や機能など
    • スクリーンはDynamic Itemに対応
    • トリガーの障害判定も細かく設定可能
    • マップも作成可能
    • LLDによりMIB値の一括取得可能
    • 正規表現によるフィルタリングやマクロも使用可能
    ・・・etc チューニングが
    細かくできる!

    View Slide

  14. で、どうやって登録してるのか?
    – 基本的に自動です
    Q:画面の隅に新しいホストが検出されました的な?
    – ちゃんとメーカーを認識して登録されます。
    Q:グラフの設定とかは後からでしょ?
    – いいえ、グラフも同時に生成されます。

    View Slide

  15. 登録までのフロー
    • 仕組みはとても簡単です
    1. Zabbixのディスカバリ機能を使用して、IPレンジで新規ホスト
    を検出
    2. ディスカバリのルールには特定のOIDのチェックを含める
    3. OIDのチェック結果により、予め準備したホストグループ・テ
    ンプレートを適用。合わせてホスト登録も実施する。
    4. テンプレートに所属するアイテム・トリガー・グラフが登録さ
    れる
    LBに新しくVirtual Serverが作成された場合も自動で検出してグラフを生成します。
    申請→対応の待ち時間から解放・・・。設定忘れもない。

    View Slide

  16. 登録のポイント
    • 結局、大変なのは各メーカーごとの「テンプレートを準備」するとこ

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

    View Slide

  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は別途準備

    View Slide

  18. 1. はじめに ~自己紹介と今回の目的~
    2. Why Zabbix??
    3. 弊社でのZabbix活用事例
    4. Zabbix APIの活用
    5. おわりに ~今後やりたいこと~
    Agenda

    View Slide

  19. 弊社でのZabbix API活用
    • Zabbixの基本機能でできないことでも、APIを利用してある程
    度のことが実現できます。
    • 活用事例①
    – ホストの棚卸しとコンフィグバックアップ
    • 活用事例②
    – マルチテナント用のカスタマイズページ
    • 活用事例③
    – 特定のグラフを決まった時間にメール送信する

    View Slide

  20. 活用事例①
    • ホストの棚卸しとバックアップ
    Zabbixに自動で溜まっていく最新ホスト一覧を利用するため、
    メンテナンスフリーです。
    ディスカバリ
    自動登録された
    監視データ
    モデル別ホスト一覧
    Zabbix API
    host.get
    +SessionID
    Python
    Configファイル

    View Slide

  21. 活用事例②
    • マルチテナント用のカスタマイズページ
    IDはサーバ再起動で変わるため「graph.get」も合わせて
    実施すると良い。
    Zabbix API
    user.login
    Python
    URL(GraphID+SessionID+Option)
    システム担当者ごとの
    グラフのみを表示
    WEB
    監視

    View Slide

  22. 活用事例③
    • 特定のグラフを決まった時間に送信する
    ②の応用で簡単に実現可能です
    Zabbix API
    user.login
    Python
    URL(GraphID+Cookie+Option)
    pngファイルとして保存
    必要なグラフをまとめて
    特定の日時に送信

    View Slide

  23. 1. はじめに ~自己紹介と今回の目的~
    2. Why Zabbix??
    3. 弊社でのZabbix活用事例
    4. Zabbix APIの活用
    5. おわりに ~今後やりたいこと~
    Agenda

    View Slide

  24. 今後やりたいこと
    • テンプレートのチューニング
    – 監視項目の追加
    – SnmpTrapのトリガーの追加
    – 突発的な値の上昇へのトリガー対応
    (現時点のテンプレートでできていない)
    • Syslogとの連携
    – Rsyslog(Zabbixサーバに同居)で受信した特定のメッセージをSnmpTrapと
    して送信、Zaibbxのトリガーとして扱う。
    • カスタマイズページの拡充
    – 他の機器のAPI経由で取得した情報追加
    (BIG-IPのNode追加、一覧表示など、メンテナンスJOB用)

    View Slide

  25. 本日出てきた Zabbix template 等は下記に上げて
    あります
    https://github.com/makocchi-git/it_infra_summit_2014
    ご清聴ありがとうございました

    View Slide