40
ミラクル・リナックス株式会社 中村 矩揮 2014/08/02 Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 複雑になるクラウドの運用を Hatohol で手軽に! 〜運用統合管理ソフト Hatohol のご紹介〜 https://github.com/project-hatohol/hatohol 本資料は開発中の内容や開発予定が含まれておりますため、 予告なく内容が変更となる場合があります。 まとめて

OSC 2014 Kyoto roject Hatohol

  • Upload
    -

  • View
    240

  • Download
    2

Embed Size (px)

DESCRIPTION

OSC 2014 Kyotoで発表したセミナー資料です。 統合運用管理ソフトウェアHatoholの機能ついて解説します。

Citation preview

Page 1: OSC 2014 Kyoto roject Hatohol

ミラクル・リナックス株式会社

中村 矩揮

2014/08/02

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

複雑になるクラウドの運用をHatoholで手軽に!〜運用統合管理ソフトHatoholのご紹介〜

https://github.com/project-hatohol/hatohol

本資料は開発中の内容や開発予定が含まれておりますため、予告なく内容が変更となる場合があります。

まとめて

Page 2: OSC 2014 Kyoto roject Hatohol

 本日の内容

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● 運用統合ソフトウェア『Hatohol』が目指すもの○ 運用管理の実態、OSCの連携で統合管理○ 各機能のご紹介

● Hatohol 14.06の紹介○ 現在の実装状況○ Hatoholのアーキテクチャ○ 各機能の詳細

● Hatoholの機能○ 画面構成について○ デモ

● 開発コミュニティの紹介● 今後の開発計画

Page 3: OSC 2014 Kyoto roject Hatohol

 自己紹介

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

中村 矩揮 (なかむら のりき)三重県伊勢市出身

ミラクル・リナックスのR&D部門で働くエンジニア

R&D部門:Hatohol開発を主導する部門

新卒2年目

趣味:

● 写真撮影● 旅行

Page 4: OSC 2014 Kyoto roject Hatohol

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

運用統合ソフトウェア『Hatohol』が目指すもの

https://github.com/project-hatohol/hatohol

Page 5: OSC 2014 Kyoto roject Hatohol

 運用管理の実態

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

OSSを導入している企業がこれから使用していきたいOSS「仮想化ソフトウェア」と「システム運用管理ソフトウェア」の回答率が最も高く、 30%超!

Source:2013年4月10日 IDC Japan株式会社

『国内オープンソースソフトウェア利用実態調査結果』

http://www.idcjapan.co.jp/Press/Current/20130410Apr.html

コスト削減のため、商用の統合管理ツールから乗り換えたい

死活監視

パフォーマンス管理

分散監視/分散管理 インシデント管理

ジョブ管理

ログ管理

OSSでは商用のような統合管理ソフトはない

Page 6: OSC 2014 Kyoto roject Hatohol

 OSSの連携で統合管理

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Zabbix

Nagios

fluentd

Redmine

ssh

イベント管理

変更管理リリース管理

インシデント管理

問題管理Zabbix

稼働監視リソース監視障害判定

自動起票エスカレーションステータス管理

ホスト管理資源/資産管理設定管理一括変更

ログ管理リソース状況参照

イベント通知イン

シデント登録

リモートコ

マンド問題切り分

状況表示イベント管理イベント通知

様々なOSS運用ツールを統合し、商用並の統合管理システムをめざします  - ステータス/パフォーマンス監視 :Zabbix、Nagios(with NDOUtils)、Ceilometer  - ログ管理 :fluentd  - インシデント管理 :Redmine  - リモート管理 :ssh

サービスデスク

アクション

Page 7: OSC 2014 Kyoto roject Hatohol

 イベント管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

複数の監視サーバ

に繋がる機器を一括監視

Page 8: OSC 2014 Kyoto roject Hatohol

 イベント管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● イベント管理機能拡張○ グラフ機能追加

■ 複数の監視ソフトで取得した情報を統合管理

■ 監視ソフトの違い、環境の違いを意識せず、

一括でグラフ表示○ データ収集機構拡張

■ 暗号化や認証をして監視データの送受信が可能に

● OpenStack連携○ ハイパーバイザーからのデータ取得○ インスタンスへの監視ソフトクライアントインストール

Page 9: OSC 2014 Kyoto roject Hatohol

 インシデント管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● イベント(障害)検出時に自動起票● アクション実行開始・終了時に状況を自動追記

○ アクション:イベント検出時にメール送信やスクリプトを 実行する機構

● イベント復旧時に自動追記● Hatoholの画面からステータス確認可

イメージ2014/10/21 03:02:22 ! XXさんがステータスを対処済みに変更しました

2014/10/21 02:51:06 ホストAで障害の障害が復旧しました

2014/10/21 02:32:19 ! XXさんがステータスを対処中に変更しました

2014/10/21 02:16:25 担当にXXさんが割り当てられました

2014/10/21 02:16:23 ホストAで障害が発生

Page 10: OSC 2014 Kyoto roject Hatohol

 ログ管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● ログ監視機能○ 各監視対象サーバ内にあるFluentdがログの中から特定

のキーワードを見つけたらHatoholにイベントとして通知● ログ検索機能

○ 各監視対象サーバ内にあるログファイルをFluentd経由でHatoholに送信

○ 障害発生時はHatoholに蓄積したログから原因を特定

Page 11: OSC 2014 Kyoto roject Hatohol

 変更管理・リソース管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● ホスト構成管理機能○ ハードウェア構成○ ソフトウェア構成

  → まとめて管理

● 複数台にインストールされたソフトウェアを自動更新可能

● 監視ソフトのクライアントを自動インストール支援機能

Page 12: OSC 2014 Kyoto roject Hatohol

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Hatohol 14.06の紹介

https://github.com/project-hatohol/hatohol

Page 13: OSC 2014 Kyoto roject Hatohol

 現在のHatoholの実装状況

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Zabbix

Nagios

fluentd

Redmine

ssh

イベント管理

変更管理リリース管理

インシデント管理

問題管理Zabbix

稼働監視リソース監視障害判定

自動起票エスカレーションステータス管理

ホスト管理資源/資産管理設定管理一括変更

ログ管理リソース状況参照

イベント通知イン

シデント登録

リモートコ

マンド問題切り分

状況表示イベント管理イベント通知

様々なOSS運用ツールを統合し、商用並の統合管理システムをめざします  - ステータス/パフォーマンス監視 :Zabbix、Nagios(with NDOUtils)、Ceilometer  - ログ管理 :fluentd  - インシデント管理 :Redmine  - リモート管理 :ssh

サービスデスク

実装済み!

試験的実装中

実装中!

Page 14: OSC 2014 Kyoto roject Hatohol

 Hatoholアーキテクチャの紹介

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● 必要なデータのみ収集

→ 負荷:小、多数の監視サーバと連携可

● APIを提供○ 標準UIの代わりにユーザーAPから利用可

● 監視停止を抑制する構造○ 1つの監視サーバとの通信が遅い/失敗

→ 全体に影響しない

○ 大量のアクションが発生

→ バックグランドで数を制限し実行

Page 15: OSC 2014 Kyoto roject Hatohol

 Hatoholの構成

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

差分のみ取得(負荷:小)

フロントエンドUIを提供

監視サーバの情報収集

アクション実行Redmine投稿

Page 16: OSC 2014 Kyoto roject Hatohol

 Hatoholサーバー

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● C++で開発○ 高速○ きめ細かい制御容易(スレッド、子プロセス等)○ GLIB, libsoup, json-glib, MySQL, SQLite3など利用

● 入力:下記の方式で定期的にポーリング○ Zabbix API (JSON-RPC)

■ Zabbix 2.2にも対応!○ Nagios -> NDOUtils (MySQL protocol)○ 今後はプッシュによる入力も対応予定

● 出力○ REST API (データ形式: JSON)○ ユーザーアプリなどからも利用可能

Page 17: OSC 2014 Kyoto roject Hatohol

 Hatoholクライアント

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● WebUIを提供● Djangoフレームワークを使用

○ 通常、apache上で動作

● JavaScriptを多用(CSS: Bootstrap)

HatoholClient

① HTTP

② REST API on HTTP・html, css・js・image ・json

・Browse page: ①・Exec JS code・$getJSON(): ②・Draw data

Django

HatoholServer

外観

データ

Page 18: OSC 2014 Kyoto roject Hatohol

 アクション機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Hatoholが障害情報を受け取った時にメール送信を行うなどの動作(アクション)をする機能● コマンドタイプ

○ 1イベントごとに指定されたコマンド実行○ メール通知用のこのタイプのテンプレート実装済

● レジデントタイプ○ 常駐プログラム(共有ライブラリ)を起動○ イベントごとに、それにメッセージを通知○ 大量イベントが発生した場合、負荷を低減○ 前回のイベントからの時間などで処理を柔軟に変更可

■ 例:1回目はメール通知、2回目〜無視、10回ごとにメール。

Page 19: OSC 2014 Kyoto roject Hatohol

 インシデント管理機能

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

実装済み● イベント(障害)検出時に自動起票● Hatoholの画面からステータス確認可

未実装● 自動追記機能 (障害復旧時に自動追記せず)● 投稿先、投稿内容設定のWeb設定機能

Page 20: OSC 2014 Kyoto roject Hatohol

 データ収集機構拡張

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● 特徴○ 独自で監視データの収集機構の作成が可能に○ C/C++だけでなくPythonやRubyなどを用いて収集機構

の作成可能に● 利点

○ ポーリングでは取得できなかった環境でも監視データの取得が可能に

○ Zabbix / Nagios以外の監視ソフトウェアに対応することが可能に

Hatohol

HatoholClient

HatoholServer

Plugin Framework

Zabbix Plugin

Nagios Plugin

Other Plugin

Zabbix Server

Nagios Server

Other Server

Page 21: OSC 2014 Kyoto roject Hatohol

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Hatoholの機能

https://github.com/project-hatohol/hatohol

Page 22: OSC 2014 Kyoto roject Hatohol

 メニュー構成

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

機能 説明

ダッシュボード 全体の障害状況の一覧

概要:トリガー 監視項目の状態を色で表示

概要:アイテム 監視項目値を表形式で表示

最新データ 監視項目値の一覧表示

トリガー トリガーの一覧表示

イベント イベントの一覧表示

サーバ 監視システムの表示、追加、削除

アクション アクションの表示、追加、削除

ユーザー ユーザーの表示、追加、削除、権限の変更

Page 23: OSC 2014 Kyoto roject Hatohol

 画面の概要

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

監視系 設定系

ログインしているユーザー名リンクのクリックで、各画面に遷移

Page 24: OSC 2014 Kyoto roject Hatohol

 デモ

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● 監視画面の紹介● ユーザ作成、閲覧制限● 動的サーバ追加● インシデント連携機能

Zabbix Server1

Zabbix Server2

Zabbix Server3

Nagios Server

Redmine Server

あとから追加します

Page 25: OSC 2014 Kyoto roject Hatohol

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Hatoholの開発コミュニティProject Hatohol

https://github.com/project-hatohol/hatohol

Page 26: OSC 2014 Kyoto roject Hatohol

 オープンな開発組織

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● Hatoholの開発コミュニティ○ ミラクル・リナックスの社員の有志を中心に設立○ 誰でもWelcome○ 世界中で使われるソフトウェアを目指す

■ ドキュメントや議論:原則英語● 日本語でのフィードバックもOK

■ 最近日本語サイトの充実にも着手

● http://www.hatohol.org/

○ これまでのコードコミット者の合計:10名以上○ 最近の活発な開発者:

■ ミラクル・リナックス:大和、中村■ クリアコード:須藤氏、足永氏

Page 27: OSC 2014 Kyoto roject Hatohol

 ライセンス・コードレポジトリ

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● ライセンス

GPLv2

● コードレポジトリ

GitHub○ https://github.com/project-hatohol/hatohol

● 誰でも、手軽に新機能やバグフィックスの提案可能● Issue管理や解決への議論もこのサイト上で公開

Page 28: OSC 2014 Kyoto roject Hatohol

 リリースポリシー

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● 3カ月ごとに定期リリース○ バージョン名はリリース時期がわかるようにした

■ 13.12, 14.03など

● シンプルな機能でもリリース

→ フィードバックをもらって改良

● いまのところ、安定性より

機能追加やUIの改良を優先

Page 29: OSC 2014 Kyoto roject Hatohol

 Hatoholの歴史

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

時期 内容

2013/06 レポジトリ一般公開。正式名称をHatoholに。

2013/09/30 v0.1リリース- アクション機能追加

2013/12/27 v13.12リリース(バージョンルール変更)- ユーザ機能追加(閲覧可能サーバの管理)- サーバの動的追加/削除対応

2014/03/31 v14.03リリース- ユーザー権限の詳細設定- ホストグループ対応

2014/06/30 v14.06リリース- データ収集機構拡張、インシデント管理連携 の試験的実装を追加

Page 30: OSC 2014 Kyoto roject Hatohol

 アクティビティ

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

コード(機能)をどんどん追加中

毎月500コミット前後

http://www.ohloh.net/p/hatoholより

Page 31: OSC 2014 Kyoto roject Hatohol

 開発者はエンジョイしながら!

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

夜、基本的に寝ます 週末・夜間は無理のない範囲で

https://github.com/project-hatohol/hatohol/graphs/punch-cardより

Page 32: OSC 2014 Kyoto roject Hatohol

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

今後の開発計画

https://github.com/project-hatohol/hatohol

Page 33: OSC 2014 Kyoto roject Hatohol

 2015/3月までのスケジュール

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

・3か月ごとにリリースを維持

● 14.09 (2014/9/30)○ インシデント管理連携○ ホスト管理システム基本部:データ保持・コマンドでの追加削除○ データ収集プラグイン機構○ アクション機能拡充:OpenStack操作ヘルパ

● 14.12 (2014/12/26)○ ホスト管理機能:登録方法拡充・Agentインストール○ アクション機能拡充:Zabbixサーバ復帰アクションテンプレート等○ 仮想マシンの実行状態監視○ グラフ:単一項目の表示○ ログ監視:マシン名・時間範囲での検索

● 15.03 (2015/3/31)○ グラフ:複数監視項目の合成表示○ ログ監視:設定UI○ ホスト管理:一括情報取得・設定

Page 34: OSC 2014 Kyoto roject Hatohol

 2015/3月までのスケジュール

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

インシデント管理

15.0314.1214.09

ホスト管理

データ収集プラグイン

ログ管理

アクション

グラフ

UI状態取得

データ保持

機構整備

OpenStack操作

登録拡充

Agent仮想マシン

監視

蓄積

検索Zabbixサーバ復

単一項目 複数項目

UI

一括操作資産資源

Page 35: OSC 2014 Kyoto roject Hatohol

開発項目概要 14.09

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● インシデント管理システム連携○ Redmineをサポート○ 障害発生時を自動で起票(14.06で実装済み)○ イベント・トリガー情報画面でのチケットの状態を表示

■ 詳細はリンクでジャンプしてRedmineで確認○ WebUIでの起票条件などの設定

● ホスト管理システム基本部○ 監視サーバに属さないホストの管理○ 仮想マシン・物理マシンなどの属性管理○ 仮想マシンと物理マシンの紐付け○ コマンドラインによる入出力I/F

Page 36: OSC 2014 Kyoto roject Hatohol

開発項目概要 14.09

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● データ収集プラグイン機構: HAPI (Hatohol Arm Plugin Interface)○ データ収集部を別プロセスとして稼働

■ Hatoholサーバと別のマシンで動作可○ NAT越えの手段を提供○ Hatoholとプラグインプロセス間の暗号化/認証

● アクション機能拡充○ 監視サーバとの接続異常時のアクション実行○ OpenStack上のVMの操作(再起動・デプロイ)支援

Page 37: OSC 2014 Kyoto roject Hatohol

開発項目概要 14.12

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● ホスト管理機能○ 登録方法拡充

■ OpenStackから自動収集■ UIでの登録(CVSファイルインポート含む)

○ 監視対象へのAgentプログラムのインストール■ 監視サーバへの設定含む

● アクション機能拡充○ Zabbixサーバ・リカバリテンプレート

● 仮想マシン実行状態監視○ ceilometerもしくは、libvirtからの仮想マシンのモニタ情

報取得

Page 38: OSC 2014 Kyoto roject Hatohol

開発項目概要 14.12

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● グラフ○ 単一監視項目のグラフ描画

■ 関連するHatohol APIの実装含む○ 監視サーバ蓄積データの時間範囲での取り出し

● ログ監視○ 高効率なログ収集と検査方法の提供○ ログ検索

■ マシン・時間範囲■ 正規表現対応

Page 39: OSC 2014 Kyoto roject Hatohol

開発項目概要 15.03

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

● グラフ○ 複合アイテムのグラフ描画

■ 物理マシン・仮想マシンの同時表示■ 同時刻帯のログも同時表示

● ログ監視○ 設定用UIの提供

● ホスト管理(詳細:TBD)○ 一括情報取得○ 一括設定支援○ 資源・資産管理

Page 40: OSC 2014 Kyoto roject Hatohol

本資料は開発中のモジュール資料であり、事前の告知なしに仕様、内容が変更される場合があります。

本資料、または本資料中の計画、本ソフトウェアは、ミラクル・リナックスが独自で計画、開発をしており

Zabbixの開発元であるZabbix SIA社が推奨もしくはスポンサーしているものではありません。

*MIRACLE LINUXの名称およびロゴは、ミラクル・リナックス株式会社の登録商標です。

*その他、記載されている会社名、製品名は、各社の登録商標または商標です。

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

https://github.com/project-hatohol/hatohol

協力者募集中https://github.com/project-hatohol/hatohol