2014/6/4
ミラクル・リナックス株式会社
大和 一洋
運用統合ソフトウェア
Hatohol
のご紹介
@OSS運用管理勉強会
自己紹介
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
大和 一洋 (やまと かずひろ)
ミラクル・リナックス勤務のエンジニア
R&D部門リーダー:
Hatohol
の開発を
主導
● その他、興味のある分野
○
低レイヤ
技術
(kernel, C/C++, デバッグ)
○
マルチメディア
(動画/音声)
2
Hatoholとは?
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
4
OSSの
運用統合
ソフトウェアです。
開発当初(昨年):
統合ビューアのイメージ
複数
の
監視サーバ
に繋がる機器を
統合ビューアの利点
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
10
●
既存
の監視システムの
変更不要
● 後からの
追加(スケールアウト)可能
●
Nagios
にも
対応
hatohol
Zabbix
Zabbix
Nagios
追加
追加
他ソフトも、要望あ
れば
対応検討可
運用統合ソフトウェアとしてのHatohol
Zabbix
Nagios
fluentd
Redmine
イベント管理
変更管理
インシデント管理
問題管理
稼働監視
リソース監視
障害判定
自動起票
エスカレーション
ステータス管理
アクション登録
アクション実行
ログ管理
リソース状況参照
イベント通知
インシデント登録
アクション実行
問題切り分け
状況表示
イベント管理
イベント通知
様々な
OSS
運用ツールを
統合
し、
商用並
の統合管理のハブを
目指す
ソフトウェア
OSSでの統合管理を目指す
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
11
コスト削減のため、商用の統合管理ツール
から乗り換えたい
死活監視
パフォーマンス管理
分散監視/分散管理
インシデント管理
ジョブ管理
ログ管理
OSS
では商用のような
統合管理
ソフトは
ない
開発戦略
● 全部の開発は大変
● 個々のコンポーネント:既存OSSあり
fluentd
Redmine
Zabbix
Nagios
イベント送信
インシデント登録
イベント送信
リソース取得
イベント送信
hatohol
変更通知
実装済み
実装済み
それらを
積極的
に
活用
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
オープンな開発組織:Project Hatohol
● Hatoholの開発コミュニティ
○ ミラクル・リナックスの社員の有志を中心に設立
○ 誰でもWelcome
○
世界中で使われる
ソフトウェアを
目指す
■ ドキュメントや議論:原則英語
■ 最近日本語サイトの充実にも着手
●
http://www.hatohol.org/
○ これまでのコードコミット者の合計:10名以上
○ 最近の活発な開発者:
■ ミラクル・リナックス:大和、中村
■ クリアコード:足永氏
OSSとしての変遷
Copyright © 2000-2014 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
リリース
- ユーザー権限の詳細設定
- ホストグループ対応
ライセンス・コードレポジトリ
● ライセンス
GPLv2
● コードレポジトリ
GitHub
○
https://github.com/project-hatohol/hatohol
● 誰でも、手軽に
新機能
や
バグフィックス
の提案可能
●
Issue管理
や
解決への議論
もこのサイト上で
公開
リリースポリシー
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
17
●
3カ月ごと
に
定期
リリース
○ バージョン名はリリース時期がわかるようにした
■ 13.12, 14.03など
●
シンプルな機能
でもリリース
→
フィードバック
をもらって
改良
● いまのところ、安定性より
機能追加やUIの改良
を
優先
アクティビティ
コード(機能)をどんどん追加中
毎月500コミット前後
開発者は、エンジョイしながら!
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
53
夜、基本的に寝ます
週末・夜間は無理のない範囲で
Hatoholの構成
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
21
Hatohol
Hatohol
サーバ
Hatohol
クライアント
差分のみ取得
(負荷小)
Hatoholアーキテクチャの特長
●
必要なデータのみ
収集
=>
負荷:小
、多数の監視サーバと連携可
●
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クライアント
●
WebUI
を提供
●
Django
フレームワークを使用
○ 通常、
apache
上で動作
●
JavaScript
を多用(CSS:
Bootstrap
)
Client
apache
①
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-2014 MIRACLE LINUX CORPORATION All rights reserved
23
● H/W要件(
条件に強く依存
)
○ Core i5〜
○ Memory: 2GB〜
○ Storage: 16GB〜
● ブラウザ: Firefox, Chrome, Safari
IE: 表示不具合を確認
CentOS 6.5
Ubuntu LTS (12.04)
Hatoholバイナリ
あり(
RPM
)
未
Hatoholの機能
(v.14.03)
主な機能
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
25
機能
説明
ダッシュボード
全体の障害状況の一覧
概要:トリガー
監視項目の状態を色で表示
概要:アイテム
監視項目値を表形式で表示
最新データ
監視項目値の一覧表示
トリガー
トリガーの一覧表示
イベント
イベントの一覧表示
サーバ
監視システムの表示、追加、削除
アクション
アクションの表示、追加、削除
ユーザー
ユーザーの表示、追加、削除、権限の変更
画面の概要(メニュー)
監視系
設定系
ログインしているユーザー名
リンクのクリックで、
デモのセットアップ
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
26
testZbxSv1
Hatohol
testZbxSv2
testNagios1
監視対象ホスト
監視対象ホスト
監視対象ホスト
監視対象ホスト
監視対象ホスト
監視対象ホスト
監視対象ホスト
監視対象ホスト
デモ
● 監視画面一通り(adminで)
● ユーザー作成と閲覧制限
アクションの補足
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
27
●
コマンド
タイプ
○ 1イベントごとに指定されたコマンド実行
○
メール通知用
のこのタイプの
テンプレート実装済
●
レジデント
タイプ
○ 常駐プログラム(共有ライブラリ)を起動
○ イベントごとに、それにメッセージを通知
○
大量イベント
が発生した場合、
負荷を低減
○ 前回のイベントからの時間などで
処理を柔軟
に
変更可
■ 例:1回目はメール通知、2回目〜無視、10回ごとに
メール。
2つの注力軸
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
29
●
運用統合
機能拡充
○ インシデント管理
○ ログ管理
○ グラフ表示
○ ホスト管理(ホストの設定支援)
● 監視対象システムの拡充
○
OpenStack
連携
■ 異なる論理ネットワーク上のデータ統合
■ Ceilometer/libvirt経由の監視情報読み出し
○ 仮想環境上のZabbix Serverや監視対象ホスト
の設定支援
インシデント管理
● イベント発生時に
自動起票
● アクション実行開始・終了時に状況追記
● 回復時に自動追記
● Hatoholの画面からステータス確認可
● まず、Redmineに対応
○ 作業はすでに開始
○ 14.06で実験的サポート
○ 14.09で一通り実装
ログ・グラフ管理
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved
29
● ログ管理
○ Fluentd連携
○ 14.09で最初の実装を入れたい
● グラフ
○ まだまだ検討中(WebGLとかでCoolにした
い)
OpenStack連携
Customer VM ZBX agent Customer VM ZBX agent ZBX sever VM Customer VM ZBX agent Customer VM ZBX agent ZBX sever VM Customer VM NRPE Customer VM NRPE NagiosNet1
Net2
Net3
Net4
OpenStack でのネットワーク
USER1
Net1のみ閲覧
USER2
Net1~3全て閲覧
USER3
Net3~4閲覧
Customer VM ZBX agent Customer VM ZBX agent ZBX sever VMHatohol
Open Stack
管理者
すべて閲覧
ホスト
も
ゲスト
も
統合管理
Ceilometer
物理マシン
Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved