re:dash!!!

ダッシュボードの生成元となるデータソース、
MySQLやTreasureData、BigQueryなどのデータベースはもちろん
Google Spreadsheetsからもデータを取得できたり、
Pythonのコードを直接実行することも可能でなんと無料!
ログ可視化に最適なダッシュボードツールですが、自分も検証がてらデビューしてみました。


■今回やりたいこと

・redashサーバをEC2で構築
・redashサーバのnginxアクセスログをS3とRedshiftに格納(fluentdで)
・redashサーバでRedshiftのDBやらを参照できること

BigQueryで実現しようと思いましたが、みんなやってるのでw
結局ログフォーマットを色々いじる上で、
どのサービスを使っても同じなのであえてRedshiftにしてみました。


■re:dashサーバの構築

https://github.com/getredash/redash/releases

・redashインストール

・80番重複エラー修正

redashはnginxで動いているので、
以下のようにデフォルトのポートを変更する必要があります。(80→8081)

・「TemplateNotFound: login.html」の対応

上記の設定をしてnginx再起動すると今度はアクセスができなくなります(私用なのかw)
なので.envにassetのpath指定を行います。

・もう一度./bootstrap.sh

redashのプロセスを一旦killして./bootstrap.shを叩きます。

・セキュリティーグループはredshiftのport 5439を付与

・ダッシュボードのログイン

admin:admin

 


■S3の作成

「Tokyo」リージョンにバケットを作成
バケットの中に「logs」フォルダを作成


■IAMの設定

redashユーザを作成
Attach Policyで「AmazonS3FullAccess」を追加してクレデンシャルをメモ


■Redshiftにクラスターの起動

とりあえずテストなので適当に。

 

・エンドポイントをメモる

 

・適当なテーブルを作る

下記のSQLを作成する


■fluentd(ラッパー)のインストールと設定(td-agent)

※yumでtd-agentをインストールする場合

・Redshitと連携するためにプラグインのインストール

※curlでtd-agentをインストールする場合

・td-agentにaccess_logの読み込み権限を付与

・nginx log formatをltdvに変更する

ログフォーマットはデフォルトだと自分でフォーマットを書く必要があるので(正規表現ツラたん)
ltsvにすれば超楽になります。

・nginxのログ確認

上記の設定をしたことでフォーマットがltsv用に変わりました。

・td-agent.conf

・td-agent起動

の前に!そのまま起動するとエラー出るので起動スクリプトを変更します。(権限の問題)

・td-agentログ確認

実際にredashに何回かアクセスすると
ログにs3とRedshiftにcopyされました〜と出るはずです。


■S3にちゃんとlogが溜まっているか確認

大丈夫そう。

 


■Redshiftのクエリが溜まっているか確認

これも大丈夫そう。

 


■redashのダッシュボードからRedshiftのDBにアクセスできるか確認

Queries > New Queryからredash DBを選択し、適当にSQL書く。

 

よし!できた!あとはVisualization Editorでグラフ化するだけ!


■まとめ

少しハマったのはテーブル内のカラムが違ったくらいでしたね。
次回はグラフ化 how to ブログします。
というか個人でredashサーバ作ってこのブログのsshアタックとか
可視化してみよう。(GIPで犯人特定的なw)
おもしろいし簡単!

参考
https://redash.io/


カテゴリー: fluentdRedashredshift

adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください