もう1つは、「syslog」や「rotatelogs」などの外部のログローテーションツールを使う方法です。
syslogを使用する場合は、「PGDATA/postgresql.conf」の以下2つのパラメーターを変更し、「pg_ctl reload」コマンドで設定を反映します。
log_destination='stderr,syslog'
log_destination='syslog'
rotatelogsを使用する場合は、サーバの標準エラー出力をパイプでrotatelogsコマンドに渡すようにします。
$ pg_ctl start | rotatelogs /var/log/pgsql_log 86400
ディスクの空き容量は、データ破損やデータベースの異常停止を予防するために監視します。
まず、PGDATA、TABLESPACE機能やアーカイブWAL(Write Ahead Log:ログ先行書き込み)ファイルで使用しているディスクの空き容量を監視するとよいでしょう。これらで使用するディスクの空き容量が不足すると、データやWALファイルが破損するリスクが高まるためです。また、WALファイルを格納するファイルシステムが容量不足になると、データベースサーバは「PANIC」のメッセージレベルで異常停止してしまいます。
ディスク容量は「どれだけ残っていれば大丈夫」なのでしょう。もちろん、システムの規模や重要度、監視ツールから警告を検知した後の処理内容によって、アラートを出すしきい値の設定は変わります。例えば、ディスク空き容量が「残り1%」でアラートを認識したとしても、対処が間に合わずに枯渇してしまっては意味がありません。
1つの指針としては、「アラートが出て、対処が完了するまでの時間」を考慮した値にすることです。足りなくなった容量への対処として、ストレージ装置を手配して、設置し、運用が開始されるまでの時間なども含めて考えるということです。
今回は、PostgreSQLの動作状況を監視するのに最低限必要となる「プロセス」「ログファイル」「ディスク空き容量」の項目を解説しました。これらの情報を監視ツールを用いながら適切に監視することで、データベースの障害や障害につながる問題をより早く対処できます。ぜひこの機会に今回紹介した監視項目の設定が正しく行われているかを確認してみてください。
2007年アシスト入社。オラクル製品やPostgreSQL/EDB Postgres製品のサポートに従事。最前線のサポート対応で得た知識や知見を元に、顧客が困ることの多い問題/課題や各製品の新機能に関する検証結果に関する情報発信も行っている
Copyright © ITmedia, Inc. All Rights Reserved.