ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

「OpenStackとネットワークを監視するZabbixの活用事例」を聞いてきた

7月24日、ITインフラSummit2014に行って来た!

で、そこで聞いてきた内容をメモメモ。

次は

OpenStackとネットワークを監視するZabbixの活用事例
サイバーエージェント 山本氏・長谷川氏

をメモメモ




ネットワークを監視するZabbixの活用事例
1.Adtech Studio
 横断した組織
 目的「Zabbixはネットワーク監視にも上手く使えます」

2.Why zabbix
・導入にあたり
 背景
  インフラエンジニア少数→外部委託
 費用は安くしたいし、でも楽にしたい
 細かいチューニングだってしたいし
 必要ならすぐに反映

 インハウス
 省力

・Why Zabbix
 細かい設定が簡単
  1秒間書くも可能
  Zabbix2.0からLLD(ローデバイスディスカバリー)に対応

 サーバーサイドで使われている

 APIが充実している

 オープンソース

・Zabbix活用事例
 使用イメージ
   Zabbixサーバーのスペック
     Linux 2.6.32
   あいてむ数/トリガー数
     50097/31588
     一部Disable
   監視対象
     ネットワーク機器
     死活監視Ping、SNMP,SNMP trap

 画面イメージ1
   よく使うスクリーンを登録
   Zabbixは監視しているデータサマリ
   ディスカバリ機能で検出された機器
   グループごとの障害ホスト数
   障害レベルごと

 画面イメージ2
   Zabbixは使いやすい
   バーを動かして対象期間を変更
   保存しているトレンドデータから最小、平均、最大値を表示
   詳しく見たい箇所を反転させて対象期間を表示可能

画面イメージ3
   スクリーン

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

で、どうやって登録しているのか?
 基本的に自動です
画面の隅に新しいホストでなく、めーかーまで

仕組みは簡単
1.ディスカバリ機能でIPレンジで
2.ディスカバリルールには特定のOIDのチェック
3.OIDのチェック結果によりあらかじめ準備した
  ホストグループ・テンプレートを適用、ホストも

・大変なのは各メーカーごとのテンプレートを準備するところ
・ということで、テンプレート公開
・なんで公開するの?
  ハードル下がる
  ネットワーク利用促進
 個人の範囲の提供

Zabbix APIの活用

活用事例1:ホストの棚卸とバックアップ
 最新ホスト一覧host.get pythonで

活用事例2:マルチテナント用のカスタマイズページ
 IDはサーバー再起動で変わるため、graph.getも合わせて

活用事例3:特定のグラフを決まった時間に送信
 LBのコネクション数など

5.おわりに
 今後やりたいこと
  ・テンプレートのチューニング
  ・syslogとの連携
  ・カスタマイズページの拡充

---------

Zabbixを用いたOpenStack監視について
Zabbix Conference Japan2013
「ChefによるZabbix監視自動化について+α」

OpenStackについて
・OSSだが、大企業が力をいれて開発
・開発スピードはやい
・日本OpenStackユーザー会

Why Zabbix
・一番のポイントはAPIが充実していること
  今の時代、programableにインフラ構築できないと厳しい
  監視も
  APIで全て設定できるZabbixは適している

・死活監視とリソース監視に対応

・複数のコンポーネントで構成されるOpenStack

・Free/OSS

OpenStackの監視
コンポーネント編

OpenStackのコンポーネントとZabbixのテンプレート
・Componentごとにtemplateを分けておくメリット
  1台のサーバーに複数のcomponentを入れて起動させるというケースが多い
  細分化することで管理しやすい→templateはXMLなのでGITで管理

コンポーネントの監視内容
 processの有無、
 portのチェック
 daemonのメモリ使用量など
 Zabbixサーバーからexternal

OpenStackの監視
 インスタンス編

cloud-init
・設定ファイルを書くことで初回サーバ起動時に自動的にいろいろな処理をしてくれる

ユーザーデータの内容はインスタンス作成時に指定することができる
之を利用して
ユーザーデータ内でChefが起動するようにしておき
どのroleを適用するか、インスタンス起動時に指定する

ユーザーデータの使い方
その1:ブラウザからダッシュボード(Horizon)で埋め込む
その2:CUIから(Novaコマンド)

まとめ
・コンポーネントごとにテンプレート
・Cloud-init
・Chef::Handlerを使って結果をきちんと把握

https://github.com/makocchi-git/it_infra_summit_2014