Fluentd + Zabbix + Grafana で構築するグラフィカルなログ監視・分析システムのご紹介
2016年5月30日

SRA OSS, Inc. 日本支社
マーケティング部 OSS技術グループ

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

1

アジェンダ••••

FluentdとZabbixについて
GrafanaとはFluentd + Zabbix + Grafana 構成の利点
デモ

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

2

Fluentd と Zabbixについて• Fluentd ログを取得して転送してくれるミドルウェア
 ログの加工や構造化ができる いろんなデータベースにデータを保存できる

データ集約
syslog(aggregator)• ElasticSearch• MongoDB• Hadoop• AWS• MySQL• PostgreSQL• Zabbix

データ保存

データ転送
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

3• Zabbix
 システムの異常を検知し通知を行う統合監視システム
 ネットワーク機器、OS、プロセス、性能、ログ監視ができる
 監視結果の確認は専用のWEB画面からエージェント
サーバ
SNMP

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

4

Grafanaとは 複数のいろんなDBからデータを取得してデータの可視化ができるOSSダッシュボード
 ライセンス Apache License V2

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

5基本的な特徴 データソース
 グラフ描画に必要なデータは、複数の外部データベースからデータを取得することができる→ データソースと呼ばれる対応データソース✓✓✓✓✓

Graphite
ElasticSearchAmazon Cloud Watch
BosunHeroic✓ InfluxDB✓ Zabbix✓ OpenTSDB✓ Prometheos✓ KariosDB など

ユーザ/設定DBとデータDBを分離させ、一つのGrafanaから複数のデータソースに接続できるためデータを分散化させやすい Grafanaはユーザ管理、設定データ保存などのデータを保存するためのRDBが必要→ SQLite(デフォルト), PostgreSQL MySQL
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

6基本的な特徴 構成• JavaScriptのフロントエンド(ブラウザ)とGo言語で書かれたバックエンド構成• ブラウザから直接データソースにアクセスするDirect
モードとバックエンド経由でデータソースにアクセスする
proxyモードの選択ができる
proxyモード

データソースGrafanaサーバ経由でデータ取得
オンプレ環境へアクセス

Directモード
ブラウザから直接データソースへアクセス
クラウドなどへアクセス
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

7基本的な特徴 描画機能
• 線グラフ、棒グラフ、積み上げグラフ
y左, y右軸サポート、negative-Y軸、単位(センサー系も豊富)• World map• Table(表)• Singlestat +ゲージ表示 +SparkLine表示• text html markdown• Pieチャート

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

8基本的な特徴 Annotation機能• データストアに入っているイベントを元にダッシュボード内のグラフに注釈として表示する機能
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

9

特徴 その他機能

 テンプレート機能
 例) ホスト名だけを変更してダッシュボードの再利用 mix データソース
 複数のデータソースから取得したデータを1枚のグラフへ描画

 表示時間のスライドがキーボード(← →)で可能 時間をスライドさせつつグラフの確認が容易

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

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

 マルチテナント対応
 組織別ユーザ管理が可能

Copyright © 2016 SRA OSS, Inc Japan All rights reserved.

10注目度と人気度?
• エンジニアの注目度 Githubから2016/5/24の情報
Watch数 604 ★Star数 10065 Fork数 1472
(参考) kibana Watch数470 ★Star数 5356 Fork数 1997

• Googleトレンドによる人気度

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

11

Grafana 3.0 リリース
• 最新版のメジャーバージョン3.0が2016/5/11リリース• 3.0からプラグイン仕様の整備とGrafana.netで誰でもプラグインを開発・公開できるようになった 今後プラグイン開発が盛んになりそう・・• 3.0で入らなかった大きな機能
 通知機能Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

12

Fluentd+Zabbix+Grafana 構成の利点• ケース１
 Fluentdを使ってログ収集
 問題があるログはZabbixに届けてZabbixから通知
 生ログはデータベースに格納して解析

xN• 利用者は管理画面を切り替えて運用• 管理者は管理画面ごとにユーザ設定
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

13

管理画面の統合
ユーザ情報を管理
チーム内で問題発生時の情報を共有しやすく

クラウド

オンプレ

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

14• ケース２
長期間運用すると
 FluentdもZabbixもデータの取集が得意
DBの肥大化が問題
データは捨てたいけど重要なイベントのデータは残したい

は古いデータをDBから削除しても大切なデータを残すことができる
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

15

• スナップショット機能
 重要なイベントのダッシュボードをスナップショットとしてGrafanaの内部DBに保存できる
 保存したスナップショットをダッシュボードへリンク

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

16

• スナップショットから過去イベントを確認
スナップショット

スナップショットからデータのCSVエクスポートも可能！
Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

17• ケース 3
専用のツール(例えばkibanaやZabbix)で深掘りしたいとき
Drilldown/detail link機能で指定したURLへジャンプ

detail link
Drilldown

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

18

• ケース4
Zabbixが障害を検知したときにFluentdで取得したデータと関連づけさせたい
GrafanaのAnnotaion機能を使って問題の事象確認が迅速に!

Annotaion
Zabbix通知内容

マウスのカーソルを合わせると表示

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

19

データソースとDBについて
 現在GrafanaとFluentd共通で対応しているDB(データソース)✓✓

Graphite
ElasticSearch✓ InfluxDB✓ Zabbix

 RDBMSは?
• アプリケーションや社内システムで利用しているDBはRDBMSなんだけど解析にGrafanaは使えないの？
• MySQLやPostgreSQLなら知っているけど、新しいDBの導入・運用の敷居は高い・・

 GrafanaコミュニティでもRDBMS対応の要望が多いということでCopyright © 2016 SRA OSS, Inc. Japan All rights reserved.

20

SRA OSSのGrafanaの取り組み• MySQLとPostgreSQL対応プラグインを作ってみました• 状況
githubにpullリクエストを出したところ(2016/5/25)
https://github.com/grafana/grafana/pull/5168

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

21

デモ
Vmware Player
Windows 8.1
CPUCore i7 4500U
Memory8G
HDDSSDVMware
Player
CentOS7
CPU 1個Memory1GByteGrafanaのデータソース

Zabbix
エージェント

DBサーバ6台、WEBサーバ40台のCPU、メモリ情報をPostgreSQLに投入済み

Zabbixエージェント

Copyright © 2016 SRA OSS, Inc. Japan All rights reserved.

22