45
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 2015/1/19 ミラクル・リナックス株式会社 大和 一洋 運用統合ソフトウェア Hatoholのご紹介 @しまねOSS協議会 オープンソースサロン

Shimane oss-salon-hatohol-2015-0119

  • Upload
    kz0817

  • View
    381

  • Download
    1

Embed Size (px)

Citation preview

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

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Hatoholの概要

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運用ツールを統合し、商用並の統合管理のハブを目指すソフトウェア

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Hatohol開発プロジェクト

オープンな開発組織: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より

Copyright © 2000-2014 MIRACLE LINUX CORPORATION All rights reserved

Hatoholの技術的概要

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

Hatohol機能紹介

主な機能

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物理マシン

グラフ機能

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27

● 14.12では、単一のグラフ表示

ログ管理システム(Fluentd)連携

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved 27

● 14.1Fluentdのプラグインを開発

○ マッチするログを見つけた場合、Hatoholに送付○ Hatoholでは、イベントとして表示

Hatohol用Plugin

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

今後の開発計画

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

APPENDIX

掲載記事など

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