170827 jtf garafana

27
Grafanaで作ってみた 運⽤ダッシュボード Zabbix, JobSchedulerなど複数のデータソースをまとめて表⽰ 2017/8/27 http://www.ossl.co.jp TWITTER: http://twitter.com/satoruf LINKEDIN: http://jp.linkedin.com/in/satorufunai/ja SLIDESHARE: http://www.slideshare.net/sfunai FACEBOOK: http://www.facebook.com/satoru.funai Qiita: http://qiita.com/satoruf 2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 1

Upload: oss

Post on 23-Jan-2018

2.391 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 170827 jtf garafana

Grafanaで作ってみた運⽤ダッシュボード

Zabbix, JobSchedulerなど複数のデータソースをまとめて表⽰

2017/8/27

http://www.ossl.co.jpTWITTER: http://twitter.com/satoruf

LINKEDIN: http://jp.linkedin.com/in/satorufunai/jaSLIDESHARE: http://www.slideshare.net/sfunai

FACEBOOK: http://www.facebook.com/satoru.funaiQiita: http://qiita.com/satoruf

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 1

Page 2: 170827 jtf garafana

バージョン管理

サービスデスク

Open ProgrammableInfrastructure Environment

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 2

運⽤ポータル

ヒヤリングシート

設定シート

ミドルウェア/アプリ

構成管理

実⾏管理

構築情報

変更依頼

アラート/イベント

API連携

インベントリ/コンフィグ/ステータス

ユーザ

オペレータ

SE

状態監視

vmware

構築/検証

Fabric

物理サーバ

インベントリ収集

ログ管理

Page 3: 170827 jtf garafana

ヒヤリングシート

監視設定Zabbix

構築設定

監視サーバOpenAudITGetInfo

インベントリ情報DB

JobScheduler

チケットサーバメール

監視情報

イベント

UI

バージョン管理GITlab

TeraFormAnsible

ServerSpec

JobMonitoringRedMineotrs

ZABBIX

Liferay

Packerイメージ作成

ファイルアップロードコンフィグ表⽰(コマンド起動)

ダウンロード

パラメータ作成

GIT連携AWS

VirtualBOXOpenStackGCPXVMware

OpenPIE2016.04 ヒヤリング

シート

アップロードxls2json

各種設定パラメータ

CMDBuild

構築cloudconf

コンフィグ作成

Register

Config Deliver

CMDB

Scheduler

Monitoring

OpenPIE概要

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 3

Page 4: 170827 jtf garafana

運⽤に必要なダッシュボードとは

l ⾃由にデータソースを追加したいl ユーザーが⾃分でカスタマイズできるl マルチテナント対応、細かなアクセス制御l 簡単なデータ⼊⼒もできてほしいl ファイルアップロード/ダウンロードも必要l 簡単にグラフが作成できるl 各ウイジェット(ポートレット、パネル)間でデータ連携してほしい

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 4

Page 5: 170827 jtf garafana

JP1

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 5

Page 6: 170827 jtf garafana

Zabbix 3.4

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 6

Page 7: 170827 jtf garafana

Hatohol

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 7

Page 8: 170827 jtf garafana

SOS JobScheduler

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 8

Page 9: 170827 jtf garafana

CMDBuild Ready2Use

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 9

Page 10: 170827 jtf garafana

Kibana/Elasticsearch

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 10

Page 11: 170827 jtf garafana

iGoogle(サービス終了)

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 11

Page 12: 170827 jtf garafana

infoscoop

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 12

Page 13: 170827 jtf garafana

Liferay

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 13

Page 14: 170827 jtf garafana

Liferay Zabbix-CMDBuild連携ポートレット

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 14

APIによる最新イベント情報の取得と表⽰

Zabbixイベント情報のホストをクリックすると、該当ホストの構成管理DBの内容を表⽰

Page 15: 170827 jtf garafana

Garafanaの概要l Grafana Labs (http://grafana.com)が開発、ビジュアライゼーションツールl Apache2.0ライセンス、商⽤サポート/クラウドサービスありl 2014/1に最初のリリースl JavaScriptのフロントエンド(ブラウザ)とGo⾔語で書かれたバックエンド構成l 17,287 stars / 2,916 forks / 503 contributes on github as of 2017/8

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 15

GrafanaCacti

Munin

https://trends.google.com/trends/explore?cat=13&date=today%205-y&q=grafana,cacti,munin

Page 16: 170827 jtf garafana

Grafanaの特徴

l 豊富なグラフ機能l ダイナミッククエリ、アノテーション表⽰

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 16

Page 17: 170827 jtf garafana

Grafanaの特徴

l アラート通知機能

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 17

Page 18: 170827 jtf garafana

Grafanaの特徴

l 豊富なデータソース、ミックス可能l タイムシリーズDB:Graphite, InfluxDB, OpenTSDB, Elasticsearchl 外部システム:AWS CloudWatch, Zabbix, Prometheus, Splunk, Openstack

Monasca, OpenNMS, MySQL, PostgreSQL. etc.

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 18

Page 19: 170827 jtf garafana

Grafanaのその他機能

l マルチテナント対応、アクセス制御l テンプレート機能:例) ホスト名だけを変更してダッシュボードの再利⽤

l シェア機能とスナップショット機能:チーム内で、同じ画⾯のシェア (URLで連絡)、問題があったときのスナップショットの保管

l 組み込み機能:Grafanaで作成したグラフをHTMLから呼び出してグラフの再利⽤

l 豊富なプラグイン:グラフやチャートなどのパネルや、データソースのためのプラグインが多数⽤意され、開発も可能

l 豊富なダッシュボード:ダウンロードするだけで使⽤可能な、ZabbixやAWSなど表⽰設定済みのテンプレート

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 19

Page 20: 170827 jtf garafana

各種ダッシュボード

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 20

Page 21: 170827 jtf garafana

Grafana-Zabbixプラグインhttp://play.grafana-zabbix.org/

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 21

Page 22: 170827 jtf garafana

今回作った機能

l ファイルアップローダー・プラグインl 設定ファイルなどを任意の場所にアップロード

l JobScheduler実⾏履歴表⽰・パネルl JobSchedulerのDBから実⾏履歴を抜き出して表⽰

l ZABBIX障害情報表⽰・パネルl Zabbbix APIでイベントを取得して表⽰

l WEBサーバインサイド表⽰・パネルl パネル内でhtml表⽰

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 22

Page 23: 170827 jtf garafana

パネル データソース

タイマ関数

API、SQL、etc.データ取得要求(内部API)

シリアライズJSONデータ

表⽰

表⽰更新要求

データ

Grafana

表⽰⽤パラメータ

コントロールパネル

変更Pluginで作成する範囲

Grafanaのプラグイン構造

外部アプリ

ユーザー

Page 24: 170827 jtf garafana

データ連携⽅法

l プラグインは、パネル、データソースに分かれている。l パネルからデータソースは内部APIによりデータ取得要求を出して、データソースはパネルにシリアライズJSONフォーマットで返す。

l データソースはGrafana外部のデータを取得して、シリアライズJSONデータを返すだけ。

l パネルは、データソースにデータ取得要求を出して、シリアライズJSONデータを表⽰だけ。

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 24

Page 25: 170827 jtf garafana

デモ

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 25

Page 26: 170827 jtf garafana

苦労した点

l 情報が少ない!l ドキュメントが粗過ぎて分かりづらい。l コミュニティでのやり取りがピンポイント(ハイレベル)過ぎて分かりづらい。

l 開発⽤サンプルが最低限の外枠しかないので分かりづらい。l 開発⾔語は“何でも良い”とあるが、現状のプラグインは、標準プラグインのJavaScriptの拡張で作られているので、結局JavaScriptで作るしかない。

l いくらオープンソースだからと⾔ってもソースにほとんどコメントが無いので読みにくいし、理解しにくい。

l パネルやデータソースのパラメータを変更するコントロールパネルも作成する必要があるが、個々のパラメータの意味が記載されていない。

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 26

Page 27: 170827 jtf garafana

今後の計画

l パネル間のデータ連携l Zabbixイベント情報のホストをクリックすると、関連する他のパネルも表⽰が変わる

l パネルからのデータ⼊⼒・更新l コメントなどを⼊⼒し、連携先APIで更新する

2017/8/26 Copyright 2017(C) OSS Laboratories Inc. All Rights Reserved 27