Upload
-
View
280
Download
0
Embed Size (px)
DESCRIPTION
OSC 2014 Nagoyaで発表したセミナー資料です。 統合運用管理ソフトウェアHatoholの機能ついて解説します。
Citation preview
ミラクル・リナックス株式会社
中村 矩揮
2014/07/05
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
中村 矩揮 (なかむら のりき)三重県伊勢市出身
ミラクル・リナックスの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
● ホスト構成管理機能○ ハードウェア構成○ ソフトウェア構成
→ まとめて管理
● 複数台にインストールされたソフトウェアを自動更新可能
● 監視ソフトのクライアントを自動インストール支援機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
今(v14.06)のHatoholの姿
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より
本資料は開発中のモジュール資料であり、事前の告知なしに仕様、内容が変更される場合があります。
本資料、または本資料中の計画、本ソフトウェアは、ミラクル・リナックスが独自で計画、開発をしており
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