Your SlideShare is downloading. ×
Osc 2013 tokyo fall ZABBIX-JP 『クラウド/DevOps実践へのZabbix適用』
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Osc 2013 tokyo fall ZABBIX-JP 『クラウド/DevOps実践へのZabbix適用』

3,333
views

Published on

2013/10/19 OSC 2013 Tokyo/Fallで発表したZABBIX-JPからの講演『クラウド/DevOps実践へのZabbix適用』の資料です。

2013/10/19 OSC 2013 Tokyo/Fallで発表したZABBIX-JPからの講演『クラウド/DevOps実践へのZabbix適用』の資料です。


0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,333
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
53
Comments
0
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. クラウド/DevOps実践への Zabbix適用 ZABBIX-JP 池田 大輔 2013/10/19 OSC2013 Tokyo/Fall
  • 2. 今日お話すること 自己紹介 DevOpsって? DevOps実践 ZabbixがDevOps時代に適する理由 Zabbixの便利な機能紹介(最新版Zabbix2.2便利機能紹介) ○ Devにも役立つ監視機能 ○ NoOps実現に向けた自動化機能 ● まとめ ● お知らせ ● ● ● ● ●
  • 3. 自己紹介 ● ● ● ● ● 名前: 池田 大輔 ZABBIX-JPのスタッフメンバー Twitter: @ike_dai Facebook:https://www.facebook.com/ikedai Zabbix関連の活動: ○ Chromix(Zabbixアラート通知用Chrome Extension)開発 ○ HyClops for Zabbix(AWS,vSphere自動監視用プラグイン)開発 @ITさんで連載中「クラウド &DevOps時代の運用を Zabbixで」(http: //www.atmarkit.co.jp/ait/articles/1309/18/news008.html) Zabbix Conference 2012 @Riga
  • 4. DevOps? DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services. Wikipediaより引用:http://en.wikipedia.org/wiki/DevOps 簡単にまとめると・・・ DevOpsとは、ソフトウェア開発者と ITプロフェッショナルの間の 「コミュニケーション」 ,「コラボレーション」 ,「インテグ レーション」に重きをおいた開発手法。 開発と運用の相互依存 を実現するための考え方であり、 迅速にソフトウェアプロダクトやサービスを作る ことを助ける ことが目的。
  • 5. DevOpsの実践 Dev Ops ・迅速に安定した開発が実施できるよう CI実践等  →アジャイルな開発手法  →テスト自動化 ・クラウドによる迅速なリソース入手 ・運用処理自動化による NoOps実践  →運用のソフトウェア制御化 Dev視点・Ops視点統合的な監視 →見える化 統合的な判断をもとにした迅速な対応を取れる体制づくり 実践する環境の文化・制度等が強く影響 とはいえ、実践を支えるツールをうまく活用することが非常に重要
  • 6. DevOpsの実践 Zabbix Dev Ops ・迅速に安定した開発が実施できるよう CI実践等  →アジャイルな開発手法  →テスト自動化 ・クラウドによる迅速なリソース入手 ・運用処理自動化による NoOps実践  →運用のソフトウェア制御化 Dev視点・Ops視点統合的な監視 →見える化 統合的な判断をもとにした迅速な対応を取れる体制づくり 実践する環境の文化・制度等が強く影響 とはいえ、実践を支えるツールをうまく活用することが非常に重要
  • 7. Zabbixの基本情報 OSS統合監視ツール ラトビアのZabbixSIA社が開発 2013/10/19時点の最新安定版2.0.9 (開発版2.1.7) 監視対象機器 - Linux - Windows - NW機器 等 監視方法 監視内容 - Zabbix Agent監視 - SNMP監視 - IPMI監視 - エージェントレス監視 等 - リソース監視 - 死活監視 - ICMPPing - プロセス - Web監視 - ログ監視 - HW監視 - SQL監視 等
  • 8. Zabbixの基本情報 -監視の仕組みApache (Zabbix Frontend) Zabbix Agent 設定情報 DB SNMP Agent 監視結果情報 Shared Memory Zabbix Server dbsyncer trapper poller alerter discoverer ・ ・ ・ SNMP Agent
  • 9. Zabbixの基本情報 -監視設定テンプレート ホストグループ ホスト 割当 アイテム グラフ トリガー アクション アイテム グラフ トリガー アクション ・ ・ ・ ホスト ・ ・ ・ アイテム グラフ トリガー 例 ホストグループ: Linux ホスト:Server1 テンプレート: LinuxServerテンプレート アイテム:CPU使用率 トリガー:CPU使用率が5分間平均80%以上 アクション:管理者にアラートメール送信
  • 10. ZabbixがDevOpsに適する理由
  • 11. ZabbixのDevOpsにマッチする機能 DevOps役割に応じた使い分け APP、DB、サーバ、ネットワーク等各エンジニアに必要な情報を統合監視 Zabbix Web監視 役割に応じた 適切なビューア ログ監視 各層の監視をサポート APP APP APP MW MW MW APPエンジニア向け DB監視 2013/08/19 - Error: 2013/08/20 - Info.. サーバエンジニア向け リソース監視 OS 場合によっては経営者・ 営業さん向けなど 死活監視 ハードウェア
  • 12. ZabbixのDevOpsにマッチする機能 NoOps実現に向けた自動化促進 Zabbix Zabbix Agent 監視設定テンプレート テンプレート テンプレート テンプレート サーバ内部の構成情報自動取得 (ローレベルディスカバリ ) 追加 ZabbixAgent自動登録 追加 ホスト ネットワークディスカバリ ホスト ホスト 障 害 障害対応アクション自動実行
  • 13. 使える機能詳細
  • 14. ZabbixでWeb監視 ブラウザからWebページを見るという動作を監視することが可能 ページ1 Zabbix ● ● ● ● レスポンスタイム レスポンスコード ダウンロード速度 ページの文字列 ページ2 ・ ・ ・ ・Basic認証、NTLM認証のかかっているページの監視可能 ・POST変数の引き渡しが必要なページの監視可能 ・プロキシ経由の監視可能 ・クッキー情報を使ったページアクセス可能 Devにも有用な監視機能
  • 15. ZabbixでWeb監視 シナリオ例  - Step1.ページ1(URL:http://hostname/page1.html) 正常状態: 200のレスポンスコードでページに ”Top Page”という文字列が含まれる - Step2. ページ2(URL:http://hostname/page2.html) ※POSTデータにページ 1で選択された情報を持つ 正常状態: 200のレスポンスコードでページに POSTで渡ってくる情報が含まれる http://hostname/page1.html Top Page menu abc menu=abc hoge=xxx ・・・ http://hostname/page1.html Page2 POST abc 設定例 設定例 Name: Page1 URL: http://hostname/page1.html POST: なし Required String: Top Page Required status code: 200 Name: Page2 URL: http://hostname/page2.html POST: menu=”abc”&hoge=xxx&・・・ Required String: abc Required status code: 200 Devにも有用な監視機能
  • 16. ZabbixでWeb監視 Devにも有用な監視機能
  • 17. ZabbixでWeb監視 New 各Stepで変数設定が可能に  - 静的な変数と正規表現により抽出した変数の活用が可能 静的な変数設定          → {変数名}=固定値 正規表現により抽出した変数設定  → {変数名}=regex:正規表現 Webページの内容 http://hostname/page1.html <span class="memberid">12345678</span> Stepの変数設定 {memberid}=regex:<span class="memberid">(.+?)</span> 以降のStepのURLおよび POST変数で展開可能 Devにも有用な監視機能
  • 18. Zabbixでログ監視 ログ監視アイテムキー(Zabbix2.0系) 単一のログファイル監視:  log[filepath, <pattern>, <encoding>, <maxlines>, <mode>] ローテートログファイル監視:  logrt[filepath_pattern, <pattern>, <encoding>, <maxlines>, <mode>] パターンにマッチしたログ情報のみ Zabbixにプッシュ通知 例:log[filepath, Error, , ,skip] Log file Zabbix Server Error・・・ Zabbix Agent Zabbix Agentアクティブチェック 受信したログに対して更に フィルタリングしてトリガー設定可能 Info・・・ Error・・・ Info・・・ ※最後にチェックした際の ログサイズ(lastlogsize)と最後にチェックした 時間(lastlogchecktime)をもとに追記が発生したかを確認 Devにも有用な監視機能
  • 19. Zabbixでログ監視 New ログの抽出が可能に  - これまではパターンにマッチしたログを行単位で収集  - Zabbix2.2からは1行の内、マッチした部分のみを抽出可能 2.0系: log[filepath, <pattern>, <encoding>, <maxlines>, <mode>] 2.2系: log[filepath, <pattern>, <encoding>, <maxlines>, <mode>, <output>] 正規表現によるパターン指定でサブグループが取り込めるよう設定 log[/path/sample.log,"Time: (.*)sec",,,skip,1] 抽出したいサブグループの番号を指定 sample.log 201310161001 Info Time: 123sec 201310161015 Info Time: 100sec 201310161023 Info Time: 140sec この部分のみ抽出して監視可能 ※ただし、Zabbixへの保存はLogタイプなので注意 Devにも有用な監視機能
  • 20. Zabbix Agent自動登録機能 新たに追加されたホストを自動的に監視スタート可能 Zabbix Server or Zabbix Proxy ※送付先は、ServerActiveで指定したZabbix Server (カンマ区切りで複数先指定も可能 ) 起動時にZabbixAgentの 情報をプッシュ通知 Zabbix Agent Target Server Zabbix Agent Target Server Zabbix Agent Target Server Zabbix Agent Target Server Zabbix Agent Target Server ■ 起動時に設定ファイル(zabbix_agentd.conf)に記載の以下の情報を通知(Zabbix2.0,1.8の場合)  - Hostname  - ListenIP  - ListenPort ■ この情報をもとにホスト追加、テンプレート割り当て等のアクション実行が可能 ■ 起動時に通信が失敗した場合でもRefreshActiveChecksで指定した間隔で定期的に情報送信 NoOps実践に向けた機能
  • 21. Zabbix Agent自動登録機能 具体例 Zabbix Server イベントソース『自動登録』アクション Zabbix Agent Hostname=linux-server02 ListenIP=10.0.0.2 ListenPort=10050 実行条件 ホスト名 含まれる  linux 実行内容 - ホストを追加 - ホストグループに追加  Linux serversグループ - テンプレートとのリンクを追加  Template OS Linux NoOps実践に向けた機能
  • 22. Zabbix Agent自動登録機能 具体例 Zabbix Server イベントソース『自動登録』アクション Zabbix Agent Hostname=linux-server02 ListenIP=10.0.0.2 ListenPort=10050 実行条件 ホスト名 含まれる  linux 実行内容 - ホストを追加 - ホストグループに追加  Linux serversグループ - テンプレートとのリンクを追加  Template OS Linux 注)自動登録されるのはエージェントのインタフェースのみ NoOps実践に向けた機能
  • 23. Zabbix Agent自動登録機能 具体例 Zabbix Server イベントソース『自動登録』アクション 実行条件 ホスト名 含まれる  linux 実行内容 - ホストを追加 - ホストグループに追加  Linux serversグループ - テンプレートとのリンクを追加  Template OS Linux Zabbix Agent Hostname=linux-server02 ListenIP=10.0.0.2 ListenPort=10050 より複雑なことを 可能な実行内容 するなら - メッセージの送信 - リモートコマンド実行 - ホストを追加 - ホストグループに追加 - テンプレートとのリンクを追加 - ホストを無効 NoOps実践に向けた機能
  • 24. Zabbix Agent自動登録機能 New 新たにHostMetadataの通知機能が実装されより柔軟な自動設定が可能に Zabbix2.0系 Zabbix2.2系 - Hostname - ListenIP - ListenPort - Hostname - ListenIP - ListenPort - HostMetadata HostMetadataに各サーバの特性を示す情報を付与することでアクション設定に活用可能 zabbix_agentd.conf設定例 HostMetadata = Linux DBServer アクション実行条件例 A and B A. ホストメタデータ 含まれる  Linux B. ホストメタデータ 含まれる  DBServer NoOps実践に向けた機能
  • 25. ローレベルディスカバリ機能 サーバ内部情報を探索し、探索結果に応じた適切な監視設定自動化 - Zabbix2.0から搭載された機能 - 各サーバのNICやファイルシステム、SNMP OIDのディスカバリが可能 SNMP Agent 探索定期実行 Zabbix Agent lo 探索 eth0 eth1 / /boot Zabbix Server 探索結果に応じて監 視設定自動登録 DB /var /proc/net/devの情報を自動取得 /proc/mountsの情報を自動取得 注)Linuxの場合 注)Linuxの場合 NoOps実践に向けた機能
  • 26. ローレベルディスカバリ機能 ファイルシステムディスカバリ設定例 - ディスカバリルール - ディスカバリルール用キーを登録 - ファイルシステム: vfs.fs.discovery - NIC:net.if.discovery - SNMP OID:任意(OID設定箇所に対象の SNMP OIDを指定) フィルタリング設定可能 ディスカバリ結果が格納されるマクロ変数の値に対し てフィルタリング設定可能 NoOps実践に向けた機能
  • 27. ローレベルディスカバリ機能 ファイルシステムディスカバリ設定例 - アイテムプロトタイプ - 監視アイテムキーを登録 ディスカバリ結果が格納されているマクロを活用してア イテムキー設定 - ファイルシステム : {#FSNAME}, {#FSTYPE} - NIC : {#IFNAME} - SNMP OID : {#SNMPINDEX}, {#SNMPVALUE} NoOps実践に向けた機能
  • 28. ローレベルディスカバリ機能 ローレベルディスカバリの仕組み - JSON形式で情報が返される - この形式に準拠すれば他の様々な値のディスカバリに活用可能 { ファイルシステムの例 { "data":[    {    "{#FSNAME}":"/",   "{#FSTYPE}":"rootfs"},   {   "{#FSNAME}":"/proc",   "{#FSTYPE}":"proc"},   {   "{#FSNAME}":"/sys",   "{#FSTYPE}":"sysfs"},   ・・・省略 } NoOps実践に向けた機能
  • 29. ローレベルディスカバリ機能 New ホストプロトタイプ設定によりディスカバリ結果を使ったホスト登録が可能に Zabbix2.0系 Zabbix2.2系 - アイテムプロトタイプ - トリガープロトタイプ - グラフプロトタイプ - アイテムプロトタイプ - トリガープロトタイプ - グラフプロトタイプ - ホストプロトタイプ ホストプロトタイプ設定可能情報 ホスト情報 - ホスト名 - 表示名 ホストグループ情報 テンプレート情報 - 既存グループ指定 -マクロ名で新規グループ登録 - テンプレート指定 ホストインベントリ情報 - 無効/手動/自動の選択 NoOps実践に向けた機能
  • 30. VMware環境の自動監視 New VMwareのvSphereAPIをもとに情報収集 vCenter経由 ローレベルディスカバリ結果はマクロとし て登録され、ホストプロトタイプを使って ホスト自動登録 {#VM.NAME},{#HV.NAME}など - クラスタのディスカバリ - ESXiのディスカバリ - VMのディスカバリ VM VMware ESXi API URL:https://vcenter/sdk Zabbix Server VMware ESXi vCenterServer VMwareESXi経由 - VMのディスカバリ 監視できること - ハイパーバイザと VMの紐付け - ハイパーバイザ、 VMのリソース (CPU,Memory,NIC,DiskIO等) - ハイパーバイザ、 VMの稼働状態 (稼働時間,ステータス等) VM API VM URL:https://esxi/sdk VMware ESXi NoOps実践に向けた機能
  • 31. アクション自動化 監視状況に応じてアクションの自動実行が可能 イベントソース アクション実行条件 アクション実行内容 指定可能なイベントソース (アクション実行元 ) トリガー 監視アイテムに対して設定したしきい値検知 ディスカバリ NWディスカバリ機能による新規監視対象機器検知 自動登録 ZabbixAgent自動登録機能による新規マシン検知 内部イベント アイテム取得不可、トリガー不明等の検知 New NoOps実践に向けた機能
  • 32. アクション自動化 監視状況に応じてアクションの自動実行が可能 イベントソース アクション実行条件 アクション実行内容 条件指定に使える要素 トリガー ディスカバリ 自動登録 内部イベント New アプリケーション ホストグループ ホストテンプレート ホスト トリガー トリガー名 トリガーの深刻度 トリガーの値 期間 メンテナンスの状態 ホストのIPアドレス サービスのタイプ サービスのポート ディスカバリルール ディスカバリチェック ディスカバリオブジェクト ディスカバリのステータス アップタイム/ダウンタイム 受信した値 プロキシ ホスト名 プロキシ ホストメタデータ イベントタイプ New - アイテムの取得不可状態 - トリガーの不明状態 - ディスカバリルールの取得不可状態 NoOps実践に向けた機能
  • 33. アクション自動化 監視状況に応じてアクションの自動実行が可能 イベントソース アクション実行条件 アクション実行内容 実行できる内容 トリガー ディスカバリ 自動登録 内部イベント New メッセージの送信 リモートコマンド メッセージの送信 リモートコマンド ホストを追加 ホストを削除 ホストグループに追加 ホストグループから削除 テンプレートとのリンクを作成 テンプレートとのリンクを解除 ホストを有効 ホストを無効 メッセージの送信 リモートコマンド ホストを追加 ホストグループに追加 テンプレートとのリンクを作成 ホストを無効 メッセージの送信 リモートコマンドについて - ZabbixServerからもZabbixAgentからも実行可能 - SSH/Telnet接続しての実行可能 NoOps実践に向けた機能
  • 34. まとめ Zabbixは  ◯DevとOps、場合によってはBizにとって必要な情報をインテグレーション   - 豊富な監視機能  ◯NoOps実現に向けた監視・運用のプラットフォームとして活用可能   - 監視設定自動化(自動登録機能・LLD等)   - 運用オペレーション自動化(豊富なアクション実行機能) DevOpsの意識の下、迅速で安定した サービス運用にZabbix活用が有効
  • 35. お知らせ ZABBIX-JP ● 10/19,20両日ブース出展 ○ ○ Zabbix2.1.7のデモ展示しています Zabbixに関するご相談・ご質問お答えします その他 ● 書籍出版予定 ○ ○ ○ 寺島さんの入門編に続く応用的な内容 『Zabbix統合監視[実践]活用   - 物理・仮想・クラウド混在環境の省力運用(仮)』 技術評論社さんから12月頃出版予定
  • 36. Zabbix活用でクラウド/DevOps時代の 効率よいシステム提供を実現 ご清聴ありがとうございました ZABBIX-JP