Grafanaでかっけぇダッシュボード作るよ!(構築・設定編)

iPad Air 3(かな?)が楽しみな竹永です。洗濯機はまだ無い。 このところElasticsearchとかKibanaとかばっかり触っていましたが
たまには別のツールを触るのも良いと思うのです。 と、いうことで可視化ツールの Grafana を触ってみます。

Grafanaってなに?

可視化ツールです。ダッシュボードを作ってヒャッハーできます。
ダッシュボードの例 プラグインの追加でいろいろなところからデータを持ってこれるので簡単にいろいろなデータを可視化することができます。 今のところプラグイン無しで対応しているのは下記のソース。
  • Graphite
  • Elasticsearch
  • CloudWatch
  • InfluxDB
  • OpenTSDB
  • KairosDB
  • Prometheus
プラグイン を入れて試してみたのは下記。
  • Zabbix
…対応しているデータソースがなかなか尖っています。 CloudWatchにひっそりと対応しているので、これはもうAWSに載せるしかないですね。

Amazon Linuxにインストールしてみる

早速いつもどおりさっくりとインストールしてみます。
今回使うものは下記のものです。
  • EC2インスタンス(t2.nano) x 1
    • Amazon Linux AMI(ami-59bdb937)
    • EBS 8GB (Magnetic volume)
作ったらログインして、とりあえず最新版にします。 公式ページの インストール手順 をガン見してリポジトリ追加とインストールを行います。
Install via YUM Repository 実際にAmazon Linuxでやってみた結果はこちら↓ ね?簡単でしょう? 「リポジトリいじりたくないぜ!」という方はページの最初の方に「下のコマンド打てばいいよ」と記載してあるのでコピペでOKです。

Grafanaの設定をしてみる

設定ファイルは /etc/grafana/grafana.ini に居ます。
起動前にいじりましょう…というのもデフォルト設定がゆるゆるです。
  • ユーザーを勝手に作れる
  • Organizationも勝手に作れる
  • ログは認証失敗くらいしか出てこない
ということでいじくります。
僕は黒い画面上ではVim派なのでVimを起動します。 ログを少しばかり細かくしましょう。
41行目あたりにあるやつを下記のように書き換えます。 ユーザー登録と一般ユーザーの組織作成を削ります。
124行目あたりに [users] セクションがあるので、ここを下記のように変更します。 次に匿名アクセスを削ります。
[users] セクションの下にあります。デフォルトでも無効ですが念のため。 あとはお好みでHTTPS化することもできます。
最近 Let's Encrypt がパブリックベータを始めたので、試しに鍵を作ってみるのも良いと思います。 今回はHTTPS化は飛ばして普通にHTTPでアクセスします。 さて、これだけいじれば後はGUIでなんとかなります。

起動してログインッ!

残念ながら起動は黒い画面です。 まずはインスタンス起動時に自動起動するようにして… Grafanaを起動します。 あとはブラウザで http://インスタンスのIPアドレス:3000/ にアクセスすればオサレなログイン画面がでてきます。 Grafana login scree デフォルトのID/PWは admin/admin です。 かるーくログインしてください。

ユーザー設定をする

ここからはWeb UIで操作をしていきます。 まずはデフォルトのIDとPWを見てると不安になるので変更します。
「Grafana admin」をクリックして管理画面に入ります。
Grafana admin button 管理画面に入ったら他の項目には目もくれず「Global Users」をポチッと押します。
Global users button するとユーザー一覧が出てくるので admin の横っちょにある「Edit」を押します。
Users list NameとEmailとUsernameを変更して「Update」をポチッと押して…
Edit user そのあとNew passwordを入力して「Update」をポチッと押します。
New password これでひとまず安心です。 一回Sign outして、入力したIDとパスワードでログインできるか確認しましょう。

データソースを追加する

データソースというのはアレです。
グラフ生成に使うデータが突っ込んであるDBとかその辺です。 対応しているデータソースは概要に書いたとおりで、RDBMSとかは入っていません。 Grafanaではデータソースが組織に紐付いていて、
同じ組織に入っているユーザーであれば自由に使うことができます。 と、いうことで今回はCloudWatchをGrafanaで使えるようにします。

AWSの認証情報を書く

CloudWatchを使うまでには多少の手間が必要で、認証情報などを自分でサーバー内に設置する必要があります。
IAM Roleを設定しているのであればここはスキップしても大丈夫です。
Grafana内でAWSアカウントを切り替えたいのであれば別ですが…。 まずはSSHでサーバーにログインして、
下記のような感じにディレクトリと空ファイルを作ります。 空ファイルを作ったら下記のような感じで .aws/credentials に認証情報を書きます。
「hogera」の部分は後で使うので、いい感じの名前をつけてあげてください。 保存したら黒い画面はおわりです。

Grafanaで使えるようにする

次に、Web UIの左側メニューから「Data Sources」を選択します。
Data sources button 上の方にある「Add new」をクリックして追加画面を表示します。
Add data source button 各項目に必要な情報を入力して「Add」を押せばデータソースの完成です。
Add data source ちなみに各項目の説明は↓のような感じ。
項目名 項目の説明
Name 名前です。わかりやすければなんでも良いです。
Default グラフ等の作成時にデフォルトで選択させるかを指定します。
Type 「CloudWatch」を選択してください。
Credentials profile name 1つ前の認証情報を書くところにある「hogera」の部分です。
Default Region お好みのリージョンをどうぞ。

ためしにグラフをつくってみる

せっかくなのでグラフを1個つくってみましょう。 まずはホーム画面に戻って、上のダッシュボード一覧にある「New」をクリックします。
New dashboard button するとまっさらなダッシュボードができあがるので、
緑っぽいやつにマウスポインターを合わせて、下図の項目をクリックします。
Add graph menu つぎにグラフに使うデータソースを選択します。
さっき作ったものが入っているはずなのでそれを選択します。 Data source menu すると、ダバっと項目が増えるのでポチポチと入力していきます。
正しく入力したらグラフがでてきます。下図の例はCPU使用率です。
Graphs setting あとは入力フォーム右上の「Back to dashboard」をクリックすればダッシュボードにグラフが追加されます。
Created graph APIを叩くのも大変なCloudWatchが、あっさりと可視化されてしまいました。

おわり

長々と説明したGrafanaですが、慣れてしまうと10分くらいで構築から可視化までができあがります。 次回の記事では、Grafanaのいろいろなテクニックというか便利機能を紹介していきます。

P.S.

そういえば インスタンスIDが長くなる んでしたね。
Grafanaは何もしなくても対応していました。えらい。
Long instance IDs

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

COMMENT ON FACEBOOK