Grafana による監視データ可視化 ~ハッカソン2017 Jチーム~


こんにちわ、開発部の森です。
普段はインフラ関係の仕事を中心にしておりますが、基本何でも屋さんをやっているものです。

さて、先週に続きまして今週はJチーム(2名)の報告をしていきたいと思います。
Jチームは、ハッカソンでは珍しいインフラエンジニアだけのチームになっております。

ハッカソンでインフラエンジニアだけというチームも滅多にないと思うので
今回は、普段業務の中でこんなのがあったら楽なのになーあんなのがあったら楽なのになー
と思っていてもなかなか時間が取れず取り組めなかったものを題材に行ってみました。

また、今回は別々のテーマで取組んでいたので2つ紹介したいと思います。

最初に私(森)が行ったことを紹介しようと思います。

Grafanaを使用した監視アプリの統一

弊社ではサーバ監視を行う際にZabbix、CloudWatchを主に使用していますが、
サーバの状態チェックやら障害が起こった際に監視アプリが複数あると、
1つの画面で確認することできません。
また、ログインアカウントが分かれている場合もアカウント毎に
ログインし確認しないといけないので、とても面倒です。

そんな面倒だらけの問題をGrafanaで解決しようと思います。
下記、今回行った構成です。

Grafanaでは、Cloudwatchのデータを標準で表示することができ、
ZABBIXの場合は、プラグインを入れることによりデータの表示が可能になります。

実際に設定した画面

1.ログイン画面
Grafanaをサーバにインストールしたら下記のようなログイン画面が表示されるようになります。

2.Data Source設定画面
ログイン後、”Data Soueces”をクリックし、どのデータソースのデータを表示させるかを設定致します。
※今回は、CloudWatchとZabbixの設定を行います。

3.Dashboards設定画面
“Dashboards”の”New”をクリックしますと新しいダッシュボードを作成することができます。

4.実際に作成した画面

簡単ではありますが、下記のように”CloudWatch”と”Zabbix”のデータを1つの画面で見れるようになりました。

また、下記のように自分でカスタマイズして作成することも可能です。

Grafanaまとめ

Grafanaを利用することでCloudwatch、Zabbixのデータを1つの画面で表示するができ、
可視化したいデータをGrafanaにさえ設定しておけば、Grafanaにログインするだけで
複数アカウントのデータを見ることもできました。

作成したダッシュボードは、自分でカスタマイズ可能なので今後自分が見やすいように
作成していきたいと思います。
また、GrafanaにはAWSサービスの料金を可視化することもできるので、
AWSの料金が日々どれくらい掛っているか気になっている方は、Grafanaを導入することをオススメ致します。

これで私(森)の紹介は以上となります。
続きましては、山内の紹介となります。

RaspberryPi Sense-HATを使ったアラートメール警告灯

ども、開発部)山内です。森と同じくJチーム2発目行きたいと思います。(長くなりすみません)

前段で森の記載にもありましたが、Jチームでは、普段の業務で”あったら便利ー”という視点で作っていきました。私どものチームはプログラマーでないためあまり高度なことは出来ないのですが、自分たちの作業効率改善を目指して構築プランを検討しました。

検討の結果、森は、監視自体の効率化を私は監視の結果発生するアラートメールの監視を主題におきました。

通常、サーバの監視アラートはメールで通知されるのですが、サーバ台数も多くなったため、クリティカルでない細かいアラートも増えてきました。業務的に監視が専任ではなたいめ、作業が立て込んでいると、メールを見落とす可能性が高くなり、気を使います。
対策としては、パトランプも考えましたが、自席が、他部署と併設されているため、軽度障害でパトランプを回転するのは非常に迷惑です。もうちょっと”シンプル&目立つ”、小型のものを絞り込みました。

いろいろ物色しましたが、個人的に使ってみたかった 「RaspberryPi Sense-HAT」 を使ってみました。

RaspberryHat

今回作成する構成は、こんな感じを想定しました。

GMAIL上に送信されるアラートメールを、RaspberryPi側で定期的にチェックし、特定のメールタイトルに該当した場合、Sense-HAT上のLEDに警告文字を表示する仕組みです。シンプル!

RaspberryHAT上には、複数のセンサーやLEDが搭載されており、表示用のライブラリも準備されているため、Python上で簡単な書式でLED上に表示させることが可能です。私みたいなプログラム苦手な人間でもいじることが容易です。

あとは、タスク(Cron)に定期的にGMAILでメールをチェックするシェルを登録して、放置プレイになります。メールを既読にしない限り表示し続けるので分かり易い!

かなりギラギラ光ります(汗)

監視するメールタイトルやLEDの光らせ方は柔軟にカスタマイズ出来るため、いい感じの監視デバイスに出来上がりました。実際に、AWS系のアラートとZabbix系のアラートを色を分けて表示させました。コンパクトなので、机の前に設置出来、モバイル給電できるので、ケースにいれてWifiにつなげれば、持ち出しも可能です。

今回みたいな、出張時には、メールをちょくちょく確認しなければいけないので、ストレスがあったのですが、これを設置しておくと直感的に状況を把握できるため、かなり精神的に楽になりました。

ハッカソンを振り返って

過去何回か参加していますが、今までアプリ寄りに偏ったケースが多かったため、今回はインフラ寄りのお題で参加させていただきました。バリバリ作られている方からすると、大した内容ではないかもしれませんが、個人的には、今後いろいろ応用できそうだなと実感出来た、よいイベントとなりました。
※クリエイティブ性についてはつっこみなしで!

[追伸]
専用ボックスにいれて見栄えよくなりました!