コンテンツ
質問
Helixサーバログを分析したいが、分析に使用することができるツールなどはありますか?
回答
Helixサーバログをアップロードして分析を行う、【Perforce Server Log Analyzer】がPerforce Workshopにて公開されています。
データベースをロックしている時間や、実行されたコマンドなどの情報を分析することができます。
手順
1.Perforce Server Log Analyzerを入手する
Perforce Workshopへアクセスし、[ Zipファイルをダウンロード ]から"Log Analyzer"のプロジェクトを入手します。
Zipファイルは"$HOME\log-analyzer"などのディレクトリに解凍します。
2.インストールする
"Python(2.7または3.6)"または"Docker"でのインストール方法を記載しています。
環境にあわせてご確認ください。
■ Python(2.7または3.6)を使用して実行する
① 依存関係をインストールする。
解凍したディレクトリに移動して依存関係をインストールします
cd psla
pip install -r requirements.txt
※pipがインストールされていない場合は事前にpipをインストールしてください
② "Perforce Server Log Analyzer"を実行する。
"run_psla.sh"を実行して、 "Perforce Server Log Analyzer"を起動します
./run_psla.sh
デフォルトのポート5000を使用します
./run_psla.sh 5005
ポート5005を使用して起動します
$ ./run_psla.sh
* Serving Flask app "psla"
* Forcing debug mode on
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 840-914-035
■ Dockerを使用して実行する
① 解凍したディレクトリに移動してbuildを実行します。
cd psla
make build
※ buildには5分から10分程度かかります
※ インターネットに接続できる環境でご実行ください
※ 以下エラーが表示された場合はpipのアップグレードを実行してください
pip install --upgrade pip
② コンテナを作成します。
docker run --rm -p=5000:5000 --name=psla -v `pwd`/psla/logs:/logs psla
$ docker run --rm -p=5000:5000 --name=psla -v `pwd`/psla/logs:/logs psla
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 161-630-806
3.Log Analyzerにログファイルをアップロードする
① "http://localhost:5000" にアクセスします
※ Localhost、5000についてはそれぞれLog Analyzerをインストールした環境にあわせてください
② 表示された画面の[ Upload a New Log ]を押下します
③ [ ファイルを選択 ]でログファイルを指定し、[ Upload ]ボタンをクリックします
※ .txt、.gz、.zip、.log、拡張子なしのファイルがアップロード可能です
4.アップロードしたログを解析する
ログがアップロードされると以下画面が表示されるので[ Analyze ]を押下して解析を実行します
※ 標準で用意されているクエリが実行され、解析結果が表示されます
■ "Perforce Server Log Analyzer"のトップページから解析を実行する場合
[ Analyze Log DB ]を選択した後、解析対象のログファイルを指定して[ Analyze ]を押下します
5.解析結果を確認する
解析が終了すると解析結果画面が表示され、画面下部には、実行されたコマンドの数や、DBロックを保持しているコマンドを発行したユーザの情報などが表示されます。
■ 分析結果をチャートで表示する
解析結果画面で[ Display chart for selected DB ]を選択すると、分析結果をチャート表示することができます
■ ログの情報を確認する
解析結果画面で[ Run interactive SQL on selected DB ]を選択すると、SQLクエリを作成してログの情報を確認することができます
ログ情報画面の[ Table schema with explanations ]を押下すると、テーブルのフィールド名などの確認が可能です