pg_reporter -- PostgreSQLに格納した任意のデータを使って HTML レポートを作成します。
pg_reporter [OPTIONS] [TEMPLATE]
テンプレート TEMPLATE を使って PostgreSQL に格納したデータからレポートを作成します。 pg_repoter には以下の動作モードがあります。 詳細は説明を参照してください。
動作モード | 概要 |
---|---|
初期化モード | CGIモードとhttpdモードで使用するレポート用ディレクトリを初期化 |
コマンドラインモード | パラメータを直接指定してレポートを作成 |
CGIモード | レポート作成 CGI として動作 |
httpdモード | レポート作成 http サーバとして動作 |
作成できるレポートのサンプルを示します。
pg_reporter は PostgreSQL 用の汎用レポート作成ツールです。 ユーザは自由にテンプレートを作成でき、そのテンプレートを元にレポートが出力されます。 レポートを作成するには SQL と HTML の知識だけが必要です。
添付のテンプレートを使うと、pg_statsinfo で収集した情報を元にHTML形式のレポートを作成できます。 特に CGI モードと HTTPD モードでは、スナップショットの一覧からのナビゲーションもサポートしており、マウスを数クリックするだけでグラフィカルな性能レポートを閲覧できます。
カレントディレクトリの htdocs を、レポート用ディレクトリとして初期化します。
$ pg_reporter --init=./htdocs
httpdモードで起動します。
$ pg_reporter -D ./htdocs
ブラウザからローカルホストの8080番ポートにアクセスします。
http://localhost:8080/
httpdモードは以下の形式のURLを受け付けます。
http://host/id/template-name?parameters
一方、コマンドラインから直接レポートを作成する場合には、必要な情報をオプションとして指定します。 下記の例では、stats というデータベースに接続し、テンプレート details.xml を使い、出力ファイル details.html へレポーを作成しています。
$ pg_reporter -d stats -t details.xml -o details.html -a "begin=1&end=10"
pg_reporter では、下記のコマンドライン引数を指定できます。
PostgreSQLに接続するためのパラメータです。
また、このユーティリティは、他のほとんどの PostgreSQL ユーティリティと同様、libpq でサポートされる環境変数を使用します。詳細については、環境変数の項目を参照してください。
データベース接続情報は .dbnames で指定します。
DB001 db1.example.com 5432 postgres postgres postgres DB002 db2.example.com 5432 stats postgres postgres
pg_reporter を使用する際には、以下の使用上の注意と制約があります。
以下は pg_reporter のシステム図です。 シングルスレッドで動作します。
初期化モードで作成されるレポート用ディレクトリの構成を以下に示します。
動作モードは以下の基準で選ばれます。
動作モード | 必要オプション |
---|---|
初期化モード | --init オプション |
コマンドラインモード | テンプレートファイル指定または--templateオプション |
CGIモード | オプション指定無し |
httpdモード | --httpd-dir オプション |
pg_reporter のインストールは、標準のcontribモジュールと同様です。 pgxs を使ってビルドできます。
$ cd pg_reporter $ make USE_PGXS=1 $ make USE_PGXS=1 install
pg_reporter に付属するレポート・テンプレートは pg_statsinfo のレポジトリを表示させるためのものです。 前もって pg_statsinfo のレポジトリを初期化してください。 スキーマ情報表示のみであれば、特にデータベースへの登録作業は必要ありません。
この操作は、CGIモードを使用しない場合は不要です。 まず、Apache HTTP Server のインストールを行います。
# rpm -ivh httpd-2.2.11-1.x86_64.rpm
次に、Apache HTTP Serverの設定ファイルに以下を追加します。
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^/files$ /report [R,L,QSA] RewriteRule ^/([0-9A-Za-z]+)/([^\./]+)$ \ /cgi-bin/pg_reporter?id=$1&template=$2 [R,L,QSA] </IfModule> <Directory "/var/www/html/report"> Options Indexes </Directory>
Apache HTTP ServerのCGI格納ディレクトリにpg_reporterを格納します。 そして、レポート用ディレクトリを初期化します。
$ cp $PGHOME/bin/pg_reporter /var/www/cgi-bin/ $ pg_reporter -i /var/www/html
データベース接続情報ファイルを記述します
$ vi /var/www/html/.dbnames
Apache HTTP Server を起動します
# service httpd start
pg_reporterでは、Report の作成に「HTML5.JP - 次世代HTML標準 HTML5情報サイト(http://www.html5.jp/)」のJavaScriptライブラリを活用させていただいております。感謝いたします。