26
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Metabase使って秒速でNginxのアクセスログを可視化してみる

Last updated at Posted at 2018-01-05

Metabaseを使ってNginxのアクセスログ可視化する

TL;DR

  1. nginxのアクセスログをtd-agent使ってmysqlへ格納
  2. metabaseで可視化

環境

環境 バージョン
OS ubuntu 16.04
MySQL 5.7.20
td-agent 2.3.6-0
Metabase 0.27.2

導入

前提

一応のインストールの一例

    log_format ltsv "time:$time_iso8601\t"
                    "ip:$remote_addr\t"
                    "user:$remote_user\t"
                    "req:$request\t"
                    "status:$status\t"
                    "method:$request_method\t"
                    "size:$body_bytes_sent\t"
                    "uri:$request_uri\t"
                    "file:$request_filename\t"
                    "referer:$http_referer\t"
                    "ua:$http_user_agent\t"
                    "reqt:$request_time\t"
                    "cache:$upstream_cache_status\t"
                    "vhost:$host";
    access_log /var/log/nginx/access.log ltsv;
<match nginx.access>
        @type mysql_bulk
        host localhost
        database <データベース名>
        username <ユーザ名>
        password <パスワード>

        column_names date,ip,user,req,status,method,size,uri,file,referer,ua,reqt,cache,vhost
        key_names ${time},ip,user,req,status,method,size,uri,file,referer,ua,reqt,cache,vhost
        sql INSERT INTO <データベース名>(NULL,time,ip,user,req,status,method,size,uri,file,referer,ua,reqt,cache,vhost) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)

        table <table名>
        flush_interval 5s
        port 24230
</match>

Metabase

wget http://downloads.metabase.com/v0.27.2/metabase.jar

#デフォルトで3000番を使うが既に使ってたため変更
export MB_JETTY_PORT=4000
nohup java -jar /opt/metabase/metabase.jar &
  • Adminユーザ名の設定を行う
  • Admin -> databasesからデータベースの追加
  • Database type等を設定
    キャプチャ.PNG
  • DataModelからDatabaseを選択

まずグルーピングせず1年分一覧表を出してみる
キャプチャ.PNG

  • 日毎のアクセス数

VIEWをcount of raws
GROUPED BYをDate:dayで日毎に
VISUALIZATIONでLineへ
image.png
こんな感じで簡単にできました

ダッシュボードの作成

右上のSaveからグラフ名を入手し、表示したいダッシュボードへ追加する
ダッシュボード内で、マウスでグラフを移動・サイズの変更等を行う

1キャプチャ.PNG

  • 1週間
  • 上段に日毎のアクセス
  • 中段にユーザエージェント・IPアドレス・ステータスコード
  • 下段に生データ

超簡単にできましたv(´・ω・`)v

26
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?