Upload
-
View
240
Download
2
Embed Size (px)
DESCRIPTION
OSC 2014 Kyotoで発表したセミナー資料です。 統合運用管理ソフトウェアHatoholの機能ついて解説します。
Citation preview
ミラクル・リナックス株式会社
中村 矩揮
2014/08/02
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
複雑になるクラウドの運用をHatoholで手軽に!〜運用統合管理ソフトHatoholのご紹介〜
https://github.com/project-hatohol/hatohol
本資料は開発中の内容や開発予定が含まれておりますため、予告なく内容が変更となる場合があります。
まとめて
本日の内容
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● 運用統合ソフトウェア『Hatohol』が目指すもの○ 運用管理の実態、OSCの連携で統合管理○ 各機能のご紹介
● Hatohol 14.06の紹介○ 現在の実装状況○ Hatoholのアーキテクチャ○ 各機能の詳細
● Hatoholの機能○ 画面構成について○ デモ
● 開発コミュニティの紹介● 今後の開発計画
自己紹介
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
中村 矩揮 (なかむら のりき)三重県伊勢市出身
ミラクル・リナックスのR&D部門で働くエンジニア
R&D部門:Hatohol開発を主導する部門
新卒2年目
趣味:
● 写真撮影● 旅行
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
運用統合ソフトウェア『Hatohol』が目指すもの
https://github.com/project-hatohol/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では商用のような統合管理ソフトはない
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
サービスデスク
アクション
イベント管理機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
複数の監視サーバ
に繋がる機器を一括監視
イベント管理機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● イベント管理機能拡張○ グラフ機能追加
■ 複数の監視ソフトで取得した情報を統合管理
■ 監視ソフトの違い、環境の違いを意識せず、
一括でグラフ表示○ データ収集機構拡張
■ 暗号化や認証をして監視データの送受信が可能に
● OpenStack連携○ ハイパーバイザーからのデータ取得○ インスタンスへの監視ソフトクライアントインストール
インシデント管理機能
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で障害が発生
ログ管理機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● ログ監視機能○ 各監視対象サーバ内にあるFluentdがログの中から特定
のキーワードを見つけたらHatoholにイベントとして通知● ログ検索機能
○ 各監視対象サーバ内にあるログファイルをFluentd経由でHatoholに送信
○ 障害発生時はHatoholに蓄積したログから原因を特定
変更管理・リソース管理機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● ホスト構成管理機能○ ハードウェア構成○ ソフトウェア構成
→ まとめて管理
● 複数台にインストールされたソフトウェアを自動更新可能
● 監視ソフトのクライアントを自動インストール支援機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
Hatohol 14.06の紹介
https://github.com/project-hatohol/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
サービスデスク
実装済み!
試験的実装中
実装中!
Hatoholアーキテクチャの紹介
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● 必要なデータのみ収集
→ 負荷:小、多数の監視サーバと連携可
● APIを提供○ 標準UIの代わりにユーザーAPから利用可
● 監視停止を抑制する構造○ 1つの監視サーバとの通信が遅い/失敗
→ 全体に影響しない
○ 大量のアクションが発生
→ バックグランドで数を制限し実行
Hatoholの構成
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
差分のみ取得(負荷:小)
フロントエンドUIを提供
監視サーバの情報収集
アクション実行Redmine投稿
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)○ ユーザーアプリなどからも利用可能
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
②
外観
データ
アクション機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
Hatoholが障害情報を受け取った時にメール送信を行うなどの動作(アクション)をする機能● コマンドタイプ
○ 1イベントごとに指定されたコマンド実行○ メール通知用のこのタイプのテンプレート実装済
● レジデントタイプ○ 常駐プログラム(共有ライブラリ)を起動○ イベントごとに、それにメッセージを通知○ 大量イベントが発生した場合、負荷を低減○ 前回のイベントからの時間などで処理を柔軟に変更可
■ 例:1回目はメール通知、2回目〜無視、10回ごとにメール。
インシデント管理機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
実装済み● イベント(障害)検出時に自動起票● Hatoholの画面からステータス確認可
未実装● 自動追記機能 (障害復旧時に自動追記せず)● 投稿先、投稿内容設定のWeb設定機能
データ収集機構拡張
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
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
Hatoholの機能
https://github.com/project-hatohol/hatohol
メニュー構成
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
機能 説明
ダッシュボード 全体の障害状況の一覧
概要:トリガー 監視項目の状態を色で表示
概要:アイテム 監視項目値を表形式で表示
最新データ 監視項目値の一覧表示
トリガー トリガーの一覧表示
イベント イベントの一覧表示
サーバ 監視システムの表示、追加、削除
アクション アクションの表示、追加、削除
ユーザー ユーザーの表示、追加、削除、権限の変更
画面の概要
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
監視系 設定系
ログインしているユーザー名リンクのクリックで、各画面に遷移
デモ
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● 監視画面の紹介● ユーザ作成、閲覧制限● 動的サーバ追加● インシデント連携機能
Zabbix Server1
Zabbix Server2
Zabbix Server3
Nagios Server
Redmine Server
あとから追加します
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
Hatoholの開発コミュニティProject Hatohol
https://github.com/project-hatohol/hatohol
オープンな開発組織
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● Hatoholの開発コミュニティ○ ミラクル・リナックスの社員の有志を中心に設立○ 誰でもWelcome○ 世界中で使われるソフトウェアを目指す
■ ドキュメントや議論:原則英語● 日本語でのフィードバックもOK
■ 最近日本語サイトの充実にも着手
● http://www.hatohol.org/
○ これまでのコードコミット者の合計:10名以上○ 最近の活発な開発者:
■ ミラクル・リナックス:大和、中村■ クリアコード:須藤氏、足永氏
ライセンス・コードレポジトリ
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● ライセンス
GPLv2
● コードレポジトリ
GitHub○ https://github.com/project-hatohol/hatohol
● 誰でも、手軽に新機能やバグフィックスの提案可能● Issue管理や解決への議論もこのサイト上で公開
リリースポリシー
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● 3カ月ごとに定期リリース○ バージョン名はリリース時期がわかるようにした
■ 13.12, 14.03など
● シンプルな機能でもリリース
→ フィードバックをもらって改良
● いまのところ、安定性より
機能追加やUIの改良を優先
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リリース- データ収集機構拡張、インシデント管理連携 の試験的実装を追加
アクティビティ
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
コード(機能)をどんどん追加中
毎月500コミット前後
http://www.ohloh.net/p/hatoholより
開発者はエンジョイしながら!
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
夜、基本的に寝ます 週末・夜間は無理のない範囲で
https://github.com/project-hatohol/hatohol/graphs/punch-cardより
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
今後の開発計画
https://github.com/project-hatohol/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○ ホスト管理:一括情報取得・設定
2015/3月までのスケジュール
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
インシデント管理
15.0314.1214.09
ホスト管理
データ収集プラグイン
ログ管理
アクション
グラフ
UI状態取得
データ保持
機構整備
OpenStack操作
登録拡充
Agent仮想マシン
監視
蓄積
検索Zabbixサーバ復
帰
単一項目 複数項目
UI
一括操作資産資源
開発項目概要 14.09
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● インシデント管理システム連携○ Redmineをサポート○ 障害発生時を自動で起票(14.06で実装済み)○ イベント・トリガー情報画面でのチケットの状態を表示
■ 詳細はリンクでジャンプしてRedmineで確認○ WebUIでの起票条件などの設定
● ホスト管理システム基本部○ 監視サーバに属さないホストの管理○ 仮想マシン・物理マシンなどの属性管理○ 仮想マシンと物理マシンの紐付け○ コマンドラインによる入出力I/F
開発項目概要 14.09
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● データ収集プラグイン機構: HAPI (Hatohol Arm Plugin Interface)○ データ収集部を別プロセスとして稼働
■ Hatoholサーバと別のマシンで動作可○ NAT越えの手段を提供○ Hatoholとプラグインプロセス間の暗号化/認証
● アクション機能拡充○ 監視サーバとの接続異常時のアクション実行○ OpenStack上のVMの操作(再起動・デプロイ)支援
開発項目概要 14.12
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● ホスト管理機能○ 登録方法拡充
■ OpenStackから自動収集■ UIでの登録(CVSファイルインポート含む)
○ 監視対象へのAgentプログラムのインストール■ 監視サーバへの設定含む
● アクション機能拡充○ Zabbixサーバ・リカバリテンプレート
● 仮想マシン実行状態監視○ ceilometerもしくは、libvirtからの仮想マシンのモニタ情
報取得
開発項目概要 14.12
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● グラフ○ 単一監視項目のグラフ描画
■ 関連するHatohol APIの実装含む○ 監視サーバ蓄積データの時間範囲での取り出し
● ログ監視○ 高効率なログ収集と検査方法の提供○ ログ検索
■ マシン・時間範囲■ 正規表現対応
開発項目概要 15.03
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
● グラフ○ 複合アイテムのグラフ描画
■ 物理マシン・仮想マシンの同時表示■ 同時刻帯のログも同時表示
● ログ監視○ 設定用UIの提供
● ホスト管理(詳細:TBD)○ 一括情報取得○ 一括設定支援○ 資源・資産管理
本資料は開発中のモジュール資料であり、事前の告知なしに仕様、内容が変更される場合があります。
本資料、または本資料中の計画、本ソフトウェアは、ミラクル・リナックスが独自で計画、開発をしており
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