機能紹介
Log Viewportの主要機能をご紹介します
ログインポート
Apache / nginx のアクセスログを効率的にインポート
ドラッグ&ドロップ
ログファイルをウィンドウにドラッグ&ドロップして簡単にインポート。
ストリーミング処理
メモリ効率の良いストリーミング処理で、GB級の大規模ログも高速に取り込み。
バッチINSERT
5,000行単位のバッチ処理でSQLiteに高速挿入。進捗表示とキャンセル機能付き。
カスタムログフォーマット対応
Apache の %variable、nginx の $variable 形式に対応
Apache Combined Log Format
%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"標準のCombined形式をサポート
Apache Custom Log Format
%h %l %u %t "%r" %>s %b %D %v%変数形式のカスタムフォーマットに対応
nginx 標準フォーマット
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sentnginx標準のログ形式をサポート
nginx カスタムフォーマット
$remote_addr "$request" $status $request_time $upstream_response_time$変数形式のカスタムフォーマットに対応
フィールドマッピング
Apache / nginx の変数を固定フィールドに自動マッピング
フィールド
Apache
nginx
説明
ts
%t$time_localタイムスタンプ
remote_addr
%h$remote_addrクライアントIP
method
%m$request_methodHTTPメソッド
path
%U$uriリクエストパス
status
%>s$statusHTTPステータス
bytes_sent
%b$body_bytes_sent送信バイト数
request_time
%D$request_timeリクエスト処理時間
user_agent
%{User-Agent}i$http_user_agentUser-Agent
※ 固定フィールドにマッピングできないカスタム変数は log_custom_fields テーブルに保存されます
URL分解・正規化
URLを構造化して検索可能な形式で保存
base_url
scheme + host + port
例: https://example.com:443path
リクエストパス
例: /api/usersquery_raw
生のクエリ文字列
例: id=10&tag=a&tag=bquery_params
正規化した key-value
例: (id,10), (tag,a), (tag,b)GUIフィルタ検索
直感的なGUIで複合条件を指定して検索
時間範囲
開始日時〜終了日時で絞り込み
ステータスコード
200, 404, 500 などのHTTPステータスで絞り込み
HTTPメソッド
GET, POST, PUT, DELETE などで絞り込み
ホスト / vhost
特定のホストやバーチャルホストで絞り込み
パス前方一致
/api/, /admin/ などパスの前方一致検索
リモートアドレス
特定のIPアドレスからのアクセスを絞り込み
クエリパラメータ
utm_source=google など特定のパラメータで検索
カスタムフィールド
X-Forwarded-For などのカスタムフィールド検索
生SQL実行
柔軟な分析のためのSQL実行機能
SELECT文に対応
WITH句を含むSELECT文を実行可能。複雑な分析クエリにも対応。
SELECT e.*, cf.field_value AS x_forwarded_for
FROM log_entries e
LEFT JOIN log_custom_fields cf
ON cf.entry_id = e.id
AND cf.field_name = 'x_forwarded_for'
WHERE e.status = 200
ORDER BY e.ts DESC
LIMIT 1000;セキュリティ制限
INSERT / UPDATE / DELETE は禁止
DROP / ALTER / ATTACH / PRAGMA は禁止
結果行数の上限あり(10,000行)
重複排除(Dedup)
同一ログの重複を自動的に排除
fingerprint計算
以下のフィールドを連結・正規化してハッシュ化:
DB制約で強制
UNIQUE(source_id, fingerprint) 制約で重複を防止。INSERT OR IGNORE で高速挿入。
エクスポート
分析結果を様々な形式で出力
SQLiteダンプ
schema + data を .sql ファイルで出力。他ツールでのインポートに対応。
CSVエクスポート
GUIフィルタ結果やSQL実行結果をRFC4180準拠のCSVで出力。