Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSSで作るOpenStack監視システム

2,097 views

Published on

OpenStack summit tokyo 日本語セッションの講演資料

ご質問ご要望はこちらまで。
NTT ソフトウェア株式会社
クラウドセキュリティ事業部
深津颯騎
E-mail:fukazu.satsuki@po.ntts.co.jp

Published in: Software
  • Be the first to comment

OSSで作るOpenStack監視システム

  1. 1. Copyright© 2015,NTT Software Corporation. All rights reserved. 1 2015.10.27 NTTソフトウェア株式会社 クラウドセキュリティ事業部
  2. 2. Copyright© 2015,NTT Software Corporation. All rights reserved. 目次 • はじめに • サーバ監視システム – 物理マシンの監視 – 仮想マシンの監視 – 複数のZabbix画面を統合 • ログ監視システム 2
  3. 3. Copyright© 2015,NTT Software Corporation. All rights reserved. はじめに • NTT SoftwareはOpenStackのEssex版からクラウド 基盤の開発に使用している。 • 開発、試験、運用をする中で、監視やログ解析が常 に重要な課題となっていた。 • これらをOSS製品を使って効率的に解決できたので 、ご紹介します。 3
  4. 4. Copyright© 2015,NTT Software Corporation. All rights reserved. OpenStackの監視に何が必要? 共通 • 作り込みは最低限 • 画面は1個にまとめたい • 人手は極力かけない 物理側 • リソース監視 • ミドルウェア監視 • サービス監視 ログ監視 • ログ収集 • 可視化 • エラー解析の効率化 • 自動解析・通知 仮想側 • 監視の自動登録 • 監視の自動解除 • 仮想資源の監視 4 1 2 4 3
  5. 5. Copyright© 2015,NTT Software Corporation. All rights reserved. OpenStackの監視に何が必要? 共通 • 作り込みは最低限 • 画面は1個にまとめたい • 人手は極力かけない 物理側 • リソース監視 • ミドルウェア監視 • サービス監視 ログ監視 • ログ収集 • 可視化 • エラー解析の効率化 • 自動解析・通知 仮想側 • 監視の自動登録 • 監視の自動解除 • 仮想資源の監視 5 1 2 4 3
  6. 6. Copyright© 2015,NTT Software Corporation. All rights reserved. キーワード OpenStackを1アプリケーションとして考える 物理マシン監視と仮想マシン監視を一緒に考えない。 物理側の障害は物理側で検知する 仮想側の障害は仮想側で検知する ログ監視は、EFK stack + Norikra + Zabbix 6
  7. 7. Copyright© 2015,NTT Software Corporation. All rights reserved. 物理と仮想をきっちりと区別する 7 物理サーバー Middle ware OpenStack VM VM 物理側 仮想側
  8. 8. Copyright© 2015,NTT Software Corporation. All rights reserved. サーバー監視システム 8
  9. 9. Copyright© 2015,NTT Software Corporation. All rights reserved. OpenStackの監視に何が必要? 共通 • 作り込みは最低限 • 画面は1個にまとめたい • 人手は極力かけない 物理側 • リソース監視 • ミドルウェア監視 • サービス監視 ログ監視 • ログ収集 • 可視化 • エラー解析の効率化 • 自動解析・通知 仮想側 • 監視の自動登録 • 監視の自動解除 • 仮想資源の監視 9 1 2 4 3
  10. 10. Copyright© 2015,NTT Software Corporation. All rights reserved. サーバー監視(物理側) • 普通のアプリケーション監視で必要なものは当然必要です。 • OpenStackの監視として特に必要なもの – ミドルウェア監視 – サービス監視 – リソース監視 10
  11. 11. Copyright© 2015,NTT Software Corporation. All rights reserved. 物理マシン監視(UserParameter) ミドルウェア/サービス監視って どうやるの? • UserParameter機能 • スクリプトの実行結果を監視アイテムとして取得 • Sensu,Nagiosのpluginを有効活用 • OpenStack,ミドルウェア用Pluginが使える。 11
  12. 12. Copyright© 2015,NTT Software Corporation. All rights reserved. 物理マシン監視(UserParameter) • Novaのサービス監視のUserParameter – Nova hypervisor-showの結果を収集 • (※) 引用:https://github.com/sensu-plugins/sensu-plugins-openstack 12 UserParameter=nova.hypervisor-state.running_vms,python /etc/zabbix/bin/nova-hypervisor- metrics.py -u admin -p admin -t admin -a http://192.168.0.10:35357/v2.0 | awk -F '[. t]' '$5=="running_vms" { x=x+$6 } END{print x}' $ python /etc/zabbix/bin/nova-hypervisor-metrics.py -u admin -p devstack -t admin -a http://192.168.0.5:35357/v2.0 | awk -F '[. t]' '$5=="running_vms" { x=x+$6 } END{print x}' 1
  13. 13. Copyright© 2015,NTT Software Corporation. All rights reserved. OpenStackの監視に何が必要? 共通 • 作り込みは最低限 • 画面は1個にまとめたい • 人手は極力かけない 物理側 • リソース監視 • ミドルウェア監視 • サービス監視 ログ監視 • ログ収集 • 可視化 • エラー解析の効率化 • 自動解析・通知 仮想側 • 監視の自動登録 • 監視の自動解除 • 仮想資源の監視 13 1 2 4 3
  14. 14. Copyright© 2015,NTT Software Corporation. All rights reserved. Zabbix-serverの所在 14 Project A VM VM Hypervisor Zabbix Project A Hypervisor VM Zabbix Project B VM Zabbix Pattern A Pattern B
  15. 15. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想マシン監視追加(自動登録) • 監視対象のホストをzabbix-serverへ自動で登録 • zabbix-agentに設定が入っているとzabbix-serverが自動で 監視設定を反映してくれる機能 • 例) – zabbix-agent.confのmetadata="<foo>" – zabbixの自動登録設定 • metadataが"foo"ならテンプレート"bar"を適用とする。 15
  16. 16. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想マシン監視追加(自動登録) 16 WEB-server WEB-server WEB-server metadata=web DB-server DB-server DB-server DB-server DB-server metadata=db APP server APP server metadata=app Zabbix Server IF metadata=web then template = webTemplate IF metadata=db then template = dbTemplate IF metadata=app then template = appTemplate
  17. 17. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想マシン監視解除 (ネットワークディスカバリ) • 自動監視設定追加に使われるネットワークディスカバリ機能 を、監視設定の解除に使う。 • VMの電源オフ/削除/故障を区別しない。 • 壊れて通知があがっても直さない →直す気がない →監視対象から削除しても問題ない →直ったら自動追加で再度監視対象に 17
  18. 18. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想マシン監視解除 (ネットワークディスカバリ) 18 Node1 Node2 Node3 Node4 Node5 zabbix Monitoring Network 192.168.100.0/24 Alert
  19. 19. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想資源故障 19 Compute Node Storage Node Nova Cinder VM NW 192.168.0.0/24 VM VM VM VM VM
  20. 20. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想資源故障 • PingAlive • ALL ProcessProcess • CPU • Memory • Disk Resource • NWHW 20
  21. 21. Copyright© 2015,NTT Software Corporation. All rights reserved. 仮想資源故障 • PingAlive • ALL ProcessProcess • CPU • Memory • Disk Resource • HW • NWSNMP 21 検知可能
  22. 22. Copyright© 2015,NTT Software Corporation. All rights reserved. 複数のZabbix画面を統合 22
  23. 23. Copyright© 2015,NTT Software Corporation. All rights reserved. Zabix-serverの所在 23 Project A VM VM Hypervisor Zabbix Project A Hypervisor VM Zabbix Project B VM Zabbix Pattern A Pattern B
  24. 24. Copyright© 2015,NTT Software Corporation. All rights reserved. タブがいっぱい 24 Tenant A Tenant B Tenant C Tenant D Tenant Hatohol Hatohol L3
  25. 25. Copyright© 2015,NTT Software Corporation. All rights reserved. Hatohol 25 Zabbix 1 Zabbix 2
  26. 26. Copyright© 2015,NTT Software Corporation. All rights reserved. サーバ監視のまとめ • 物理側の障害は物理側で検知。 • 仮想側の障害は仮想側で検知。 • Middleware Service監視は Sensu/Nagiosのpluginを有効活用 • 監視対象の追加は「自動登録」 • 監視対象の解除は「ネットワークディスカバリ」 • 複数のZabbixはHatoholでまとめる 26
  27. 27. Copyright© 2015,NTT Software Corporation. All rights reserved. ログ監視 27
  28. 28. Copyright© 2015,NTT Software Corporation. All rights reserved. OpenStackの監視に何が必要? 共通 • 作り込みは最低限 • 画面は1個にまとめたい • 人手は極力かけない 物理側 • リソース監視 • ミドルウェア監視 • サービス監視 ログ監視 • ログ収集 • 可視化 • エラー解析の効率化 • 自動解析・通知 仮想側 • 監視の自動登録 • 監視の自動解除 • 仮想資源の監視 28 1 2 4 3
  29. 29. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ収集解析 用途 ツール名 検索エンジン Elasticsearch ログ収集 Fluentd ログ可視化 Kibana ログ解析 Norikra 異常通知 Zabbix 29
  30. 30. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ収集解析 30
  31. 31. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ収集解析 • Norikraってなに? 31 Schema-less Stream Processing with SQL Norikra is a open source server software provides "Stream Processing" with SQL, written in JRuby, runs on JVM, licensed under GPLv2. 引用: http://norikra.github.io/
  32. 32. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ収集解析 • 流れてくるログを 一定期間のみ抽出→解析→捨てる→ループ 32 画像引用元: Esper: Event Processing for Java http://www.espertech.com/products/esper
  33. 33. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZの全体構成 33 OpenStack Fluentd 監視サーバ Fluentd Norikra Elastic search File Zabbix Kibana
  34. 34. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ収集解析 • 重要なのは、Norikraのルールをどう書くか • 長年培ってきたノウハウをデータ化 – 構築・試験・トラブルの経験から – ログリスト • 各バージョンごとに整理 • 構築しても、ルールが無ければ動かない。 34
  35. 35. Copyright© 2015,NTT Software Corporation. All rights reserved. EFK+NZを使ったログ解析例 • kibanaで表示しているグラフの変動を検知 – 不正な挙動を検知 • パターン化された障害を検知 – エラー解析 35
  36. 36. Copyright© 2015,NTT Software Corporation. All rights reserved. 例1)グラフの変動を検知 • KeystoneはDOS等を防ぐ仕組みを持っていないので、これを 検知したい。 • 実際に攻撃を受けると、Keystoneのアクセスログに401認証 失敗ログが増えていきます • ELKのグラフを見れば確かに発見は可能ですが、 人がずーっと見ていないといけない 36
  37. 37. Copyright© 2015,NTT Software Corporation. All rights reserved. 例1)グラフの変動を検知 • KeystoneはDOS等を防ぐ仕組みを持っていないので、これを 検知したい。 • 実際に攻撃を受けると、Keystoneのアクセスログに401認証 失敗ログが増えていきます • ELKのグラフを見れば確かに発見は可能ですが、人がずー っと見ていないといけない 37
  38. 38. Copyright© 2015,NTT Software Corporation. All rights reserved. 例1)グラフの変動を検知 38 Norikraのルールに「単 位時間当たり同一IPアド レスから401エラーで○ 回以上アクセスが起き たら」と書いてあげると、
  39. 39. Copyright© 2015,NTT Software Corporation. All rights reserved. 例1)グラフの変動を検知 39 Keystoneが 攻撃されている
  40. 40. Copyright© 2015,NTT Software Corporation. All rights reserved. 例2)パターン化されたエラーの検知 • パターン化されたエラーの検知 • ○○ログ+ ○○ログ = Error Type 002 • 手動で解析するときは、 – 見るログ: nova-api.log nova-conductor.log nova-compute.log…etc – grep を駆使 – 一定のログ解析スキルが必要 40
  41. 41. Copyright© 2015,NTT Software Corporation. All rights reserved. 例2)パターン化されたエラーの検知 41 • 例) メモリが多すぎる Flavorを使ってVM起動 割り当て可能なホスト がなくエラーになる
  42. 42. Copyright© 2015,NTT Software Corporation. All rights reserved. 例2)パターン化されたエラーの検知 42 何が悪かったのか不明
  43. 43. Copyright© 2015,NTT Software Corporation. All rights reserved. 例2)パターン化されたエラーの検知 43 どこにも失敗の 理由が書いてない
  44. 44. Copyright© 2015,NTT Software Corporation. All rights reserved. 例2)パターン化されたエラーの検知 44 ZabbixにError Type 002が通知される。
  45. 45. Copyright© 2015,NTT Software Corporation. All rights reserved. 今後の取り組み • E版からの経験とこれからの開発によるデー タやノウハウを活用し、 Norikraのルールを拡充する取り組みを続け ていきます。 45
  46. 46. Copyright© 2015,NTT Software Corporation. All rights reserved. 告知 • ログ監視システムのデモ紹介 – 場所:NTT group ブース S14 – 日時:29(Thu) 10:30~ 46
  47. 47. Copyright© 2015,NTT Software Corporation. All rights reserved. ご清聴ありがとうございました。 THANK YOU FOR LISTENING. 47
  48. 48. Copyright© 2015,NTT Software Corporation. All rights reserved. 参考・引用資料 • Monasca https://wiki.openstack.org/wiki/Monasca • Monasca/Monitoring Of Monasca https://wiki.openstack.org/wiki/Monasca/Monitoring_Of_Monasca • Monasca/Logging https://wiki.openstack.org/wiki/Monasca/Logging • Zabbix Documentation 2.2 https://www.zabbix.com/documentation/2.2/ • Elastic https://www.elastic.co/jp/ • Norikra http://norikra.github.io/ • EsperTech http://www.espertech.com/products/esper.php • Treasure Data Inc http://www.treasuredata.com/ 48
  49. 49. Copyright© 2015,NTT Software Corporation. All rights reserved. 商標 OpenStackは、米国におけるOpenStack,LLCの登録商標です。 Zabbixはラトビア共和国にあるZabbix LLCの商標です。 Erasticsearch is a trademark of Elasticsearch BV, registered in the U.S. and in other countries. logstash is a trademark of Elasticsearch BV, registered in the U.S. and in other countries. Kibana is a trademark of Elasticsearch BV, registered in the U.S. and in other countries. その他、文中に記載されている商品・サービス名、および会社名は、それぞれ各社の商標また は登録商標です。 49

×