shimane oss-salon-hatohol-2015-0119
TRANSCRIPT
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved
2015/1/19 ミラクル・リナックス株式会社
大和 一洋
運用統合ソフトウェア
Hatoholのご紹介
@しまねOSS協議会 オープンソースサロン
自己紹介
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved
大和 一洋 (やまと かずひろ)
ミラクル・リナックス勤務のエンジニア
R&D部門リーダー:Hatoholの開発を主導
● その他、興味のある分野○ 低レイヤ技術
(kernel, C/C++, デバッグ)
○ マルチメディア (動画/音声)
2
Hatoholとは?
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 4
OSSの運用統合ソフトウェアです。
開発当初(昨年): 統合ビューアと呼んでいました。
統合ビューアのイメージ
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 6
複数の監視サーバ
に繋がる機器を一括監視
統合ビューアの利点
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 10
● 既存の監視システムの変更不要● 後からの追加(スケールアウト)可能● Nagiosにも対応
hatohol
Zabbix Zabbix Nagios
追加追加
他ソフトも、要望あれば対応検討可
OSSでの統合管理を目指す
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 11
コスト削減のため、商用の統合管理ツールから乗り換えたい
死活監視
パフォーマンス管理
分散監視/分散管理 インシデント管理
ジョブ管理
ログ管理
OSSでは商用のような統合管理ソフトはない
開発戦略
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 12
● 全部の開発は大変● 個々のコンポーネント:既存OSSあり
fluentd RedmineZabbix Nagios
イベント送信
インシデント登録
イベント送信
リソース取得
イベント送信
hatohol
変更通知
それらを積極的に活用
運用統合ソフトウェアとしてのHatohol
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 7
Zabbix
Nagios
fluentd
Redmineイベント管理
変更管理
インシデント管理
問題管理
稼働監視リソース監視障害判定
自動起票エスカレーションステータス管理
アクション登録アクション実行
ログ管理リソース状況参照
イベント通知イン
シデント登録
アクション
実行 問
題切り分
け
状況表示イベント管理イベント通知
様々なOSS運用ツールを統合し、商用並の統合管理のハブを目指すソフトウェア
オープンな開発組織:Project Hatohol
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 13
● Hatoholの開発コミュニティ○ ミラクル・リナックスの社員の有志を中心に設立○ 誰でもWelcome○ 世界中で使われるソフトウェアを目指す
■ ドキュメントや議論:原則英語■ 最近日本語サイトの充実にも着手
● http://www.hatohol.org/
○ これまでのコードコミット者の合計:10名以上○ 最近の活発な開発者:
■ ミラクル・リナックス:大和、中村■ クリアコード:足永氏
OSSとしての変遷
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 15
時期 内容
2012/12/26 最初のコミット(試作着手)
2013/06 レポジトリ一般公開。正式名称をHatoholに。
2013/09/30 v0.1リリース- アクション機能追加
2013/12/27 v13.12リリース(バージョンルール変更)- ユーザ機能追加(閲覧可能サーバの管理)- サーバの動的追加/削除対応
2014/03/31 v14.03リリース- ユーザー権限の詳細設定- ホストグループ対応
OSSとしての変遷
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 15
時期 内容
2014/06/30 v14.06リリース- Zabbix 2.2対応- インシデント管理対応(基本部分)
2014/09/30 v14.09リリース- OpenStack (ceilometer) 対応- インシデント管理システム(Redmine)連携- 監視サーバとの接続状態モニタリング
2014/12/26 v14.12リリース- ログ管理システム(Fluentd)連携- グラフ機能(基本部分)
リリースポリシー
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 17
● 3カ月ごとに定期リリース○ バージョン名はリリース時期がわかるようにした
■ 13.12, 14.03など
● シンプルな機能でもリリース
→ フィードバックをもらって改良
● いまのところ、安定性より
機能追加やUIの改良を優先
ライセンス・コードレポジトリ
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 16
● ライセンス
LGPLv3 (次版v15.03~)
GPLv2+ (~14.12)⇒Hatohol拡張機能(プラグイン)開発の容易化
● コードレポジトリ
GitHub○ https://github.com/project-hatohol/hatohol
● 誰でも、手軽に新機能やバグフィックスの提案可能● Issue管理や解決への議論もこのサイト上で公開
アクティビティ
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 18
コード(機能)をどんどん追加中
http://www.ohloh.net/p/hatoholより
開発者は、エンジョイしながら!
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 53
夜、基本的に寝ます 週末・夜間は無理のない範囲で
https://github.com/project-hatohol/hatohol/graphs/punch-cardより
Hatoholの構成
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 21
Hatohol
HatoholServer
HatoholWeb
front-end
差分のみ取得
(負荷小)
Hatoholアーキテクチャの特長
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 22
● 必要なデータのみ収集
=> 負荷:小、多数の監視サーバと連携可
● APIを提供○ 標準UIの代わりにユーザーAPから利用可
● 監視停止を抑制する構造○ 1つの監視サーバとの通信が遅い/失敗
=> 全体に影響しない
○ 大量のアクションが発生
=> バックグランドで数を制限し実行
Hatoholサーバー
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 22
● C++で開発○ 高速○ きめ細かい制御容易(スレッド、子プロセス等)○ GLIB, libsoup, json-glib, MySQL, SQLite3など利用
● 入力:下記の方式で定期的にポーリング○ Zabbix API (REST)○ Naigos -> NDOUtils (MySQL protocol)
● 出力○ REST API (データ形式: JSON)○ ユーザーアプリなどからも利用可能
Hatohol Web front-end
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 22
● WebUIを提供● Djangoフレームワークを使用
○ 通常、apache上で動作
● JavaScriptを多用(CSS: Bootstrap)
Clientapache
① HTTP
② REST API on HTTP・html, css・js・image ・json
・Browse page: ①・Exec JS code・$getJSON(): ②・Draw data
Django
Server②
外観
データ
動作環境 for 14.03
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 23
● H/W要件(条件に強く依存)○ Core i5〜○ Memory: 2GB〜○ Storage: 16GB〜
● ブラウザ: Firefox, Chrome, SafariIE: 表示不具合を確認
CentOS 6.6 Ubuntu LTS (12.04)
Hatoholバイナリ あり(RPM) 未
Django 1.5系 Project Hatohol製RPM apt/pip利用可
主な機能
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 25
機能 説明
ダッシュボード 全体の障害状況の一覧
概要:トリガー 監視項目の状態を色で表示
概要:アイテム 監視項目値を表形式で表示
最新データ 監視項目値の一覧表示
トリガー トリガーの一覧表示
イベント イベントの一覧表示
サーバ 監視システムの表示、追加、削除
アクション アクションの表示、追加、削除
ユーザー ユーザーの表示、追加、削除、権限の変更
画面の概要(メニュー)
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 26
監視系設定系
ログインしているユーザー名
リンクのクリックで、各画面に遷移
ダッシュボード
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
全監視対象の状態
監視サーバ毎の状態
ホストグループ毎の状態(未完成)
概要:トリガー
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
縦軸監視項目
横軸ホスト
障害項目赤/黄で表示
深刻度/ステータス/サーバ/ホストでフィルタ可能
視覚的に障害を把握
将来:升目小さく
トリガー
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
監視項目の最新の状態のリスト表示
サーバ/ホスト等でフィルタ可能
時刻などでソート可能
複数の監視サーバのトリガが一括表示
イベント
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
監視項目がしきい値を越えたなどの事象のリスト表示
サーバ/ホスト等でフィルタ可能
ページ毎の表示数
複数の監視サーバに属するホストの情報を一括表示
サーバ
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
監視サーバの一覧表示および登録/削除
リンク リンク
追加ダイアログ
アクション
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
イベント発生時にコマンドを実行
追加ダイアログ
サーバ・ホスト・深刻度などでコマンド実行の条件
を指定可E-mailテンプレート
一定時間内で強制終了可
コマンド直接記述可
アクション
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 27
● コマンドタイプ○ 1イベントごとに指定されたコマンド実行○ メール通知用のこのタイプのテンプレート実装済
● レジデントタイプ(実績あまりない)○ 常駐プログラム(共有ライブラリ)を起動○ イベントごとに、それにメッセージを通知○ 大量イベントが発生した場合、負荷を低減○ 前回のイベントからの時間などで処理を柔軟に変更可
■ 例:1回目はメール通知、2回目〜無視、10回ごとにメール。
ユーザー
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
ユーザーの作成/削除閲覧可能先の設定
サーバ単位で閲覧可否設定
管理者:すべての操作可ゲスト:許可されたサーバの閲覧
インシデント管理システム連携
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
● イベント発生で自動起票可○ 以下の条件ごとに別の条件(管理システム・プロジェクト)
に設定可能■ イベント発生監視サーバ
● (または)ホストグループ■ 深刻度
● 現在: Redmineのみサポート
Redmine連携
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 26
Redmineから情報を取得し、イベントと共に表示
OpenStack連携
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved 30
CustomerVM
ZBX agentCustomer
VM
ZBX agentZBX sever
VM
CustomerVM
ZBX agentCustomer
VM
ZBX agentZBX sever
VM
CustomerVM
NRPECustomer
VM
NRPE
Nagios
Net1
Net2
Net3
Net4
OpenStack でのネットワーク
USER1Net1のみ閲覧
USER2Net1~3全て閲覧
USER3Net3~4閲覧
CustomerVM
ZBX agentCustomer
VM
ZBX agentZBX sever
VM
Hatohol
Open Stack
管理者すべて閲覧
ホストもゲストも統合管理Ceilometer物理マシン
ログ管理システム(Fluentd)連携
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27
● 14.1Fluentdのプラグインを開発
○ マッチするログを見つけた場合、Hatoholに送付○ Hatoholでは、イベントとして表示
Hatohol用Plugin
v15.03
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 29
● 複数グラフの同時表示
● VMとホストマシンの関連管理○ 応用例:
VMとホストマシンのグラフを並べて表示
● OpenStackとの親和性強化○ 仮想環境上のZabbix Serverや監視対象ホスト
の設定支援
15.06以降(希望というか想い)
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 29
● 安定化○ 機能はある程度実装
● 高速化○ ベンチマーク実施
■ 限界値・ボトルネックを調査
● エクスペリエンス(使いやすさ)○ 監視・操作導線の見直し
掲載記事など
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 32
● @IT 連載記事 (2014/02)○ http://www.atmarkit.co.jp/ait/articles/1402/13/news008.html
● OSC 2014 Tokyo/Spring 発表資料 (2014/02)○ http://www.slideshare.net/kz0817/osc-tokyo-20140228
● ククログ:セットアップ方法(2014/01)○ http://www.clear-code.com/blog/2014/1/31.html
● hbstudy発表資料 (2013/08)○ http://www.slideshare.net/koedoyoshida/hatohol-introduction20130830hbstudy-25744631○ http://www.slideshare.net/koedoyoshida/hatohol-technicalbrief20130830hbstud
ミラクル・リナックス株式会社 【無断転載を禁ず】この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。ミラクル・リナックス(株)は本書の内容に関していかなる保証もいたしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。又、本資料の著作権は特に指定されている箇所を除いて、ミラクル・リナックスが有します。ミラクル・リナックスが著作権を有するコンテンツにつきましては、ミラクル・リナックスに対して無断で複製、改変、頒布などをすることはできません。
MIRACLE LINUX の製品名、ロゴ、サービス名などは、ミラクル・リナックスが所有するか、使用権許諾を受けている商標もしくは登録商標です。その他、本 Web サイトに掲載されている他社の製品名、ロゴなどは、それぞれ該当する各社が所有する商標もしくは登録商標です。
【お問い合わせ先】[email protected]
http://www.miraclelinux.com