PostgreSQL監視(プロセス/接続数/ログ)も簡単に始められるSaaS

日本語対応のSaaS型監視ツール「Site24x7」は、エージェント型のサーバー監視機能でプロセスやログを簡単に監視できるだけでなく、プラグインで接続数などのPostgresサーバー特有の監視まで可能。しかも、無料試用、超低価格。だから、失敗なし。

ここではSite24x7を使って、Postgresサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、PostgreSQLプラグインと監視メトリクスを設定する方法について説明します。コストをかけずに活用できるため、統計情報コレクタを活用する際に合わせてお試しください。

Postgresパフォーマンス監視メトリクス

以下のような重要メトリクスを追跡して、情報に基づいたトラブルシューティングの決定を行います

Idle user count

現在アイドル状態のデータベースに接続しているユーザー/バックエンドの合計数です。

Active user count

現在アクティブ状態のデータベースに接続しているユーザー/バックエンドの合計数です。このメトリクスを使用すると、アイドルユーザー数メトリクスに加えて、さまざまなサーバーユーザーの全体像を把握できます。

Database conflict count

Postgresサーバー内すべてのデータベースで発生するデータ回復との競合によりキャンセルされたクエリーの合計数です。

 

Database cache usage ratio

SUM(blks_hit)/ SUM(blks_read)の式を使用して、キャッシュの使用率を計算します。

DB rollbacks

すべてのデータベースでロールバックされたトランザクションの合計数です。

DB commits

すべてのデータベースでコミットされたトランザクションの合計数です。

Back-end buffers

バックエンドによって直接書き込まれたバッファーの合計数です。

 

Checkpoint buffers

チェックポイント中に書き込まれたバッファーの合計数です。

Checkpoints timed

実行されたスケジュール済みチェックポイントの合計数です。

 

手順

  • Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
  • Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。
  • Postgresプラグインをインストールします。
  • エージェントはPostgresプラグインを実行し、Site24x7サーバーにデータをプッシュします。

前提条件

  • Pythonモジュール[psycopg2]をインストールして、Postgresデータベースから統計を取得します。
    sudo apt install libpq-dev python3-dev
    sudo pip install psycopg2

Postgresプラグインのインストール

cd /opt/site24x7/monagent/plugins/
mkdir postgres
cd postgres
wget https://raw.githubusercontent.com/site24x7/plugins/master/postgres/postgres.py
  • Site24x7 Linux エージェントのプラグインディレクトリー[/opt/site24x7/monagent/plugins/postgres ]に、[postgres]という名前のディレクトリーを作成します。
  • GitHubリポジトリ―からpostgres.py" ファイルをダウンロードし、[postgres]ディレクトリーに配置します。
  • 上記手順の実行コマンド:

統計をサポートするPostgresの設定

  • パスワードベースの認証でユーザー名を作成し、このユーザーにスーパーユーザー権限を付与します
    CREATE USER username WITH PASSWORD 'yourpassword' SUPERUSER
  • Postgresデータベースサーバーが、パスワードとMD5認証接続を許可する設定になっていることを確認します。

Postgresプラグインの設定

Eg : userName = "username" passWord = "yourPassword"
/etc/init.d/site24x7monagent restart
  • プラグインスクリプトで指定されているデフォルトのPythonパスは、[#!/usr/bin/python]です。代替えのpythonパスを作成する場合は、shebang(シバン)文字「#!」が前に付いた既存パスを置き換えます。
  • グローバル変数[username]、[password]の値を上記手順で設定した値に変更します。
  • また、変数[db]、[hostname]および[port]に適切な値を設定します。
  • 変更を保存して、エージェントを再起動します。

メトリクスを追加で監視

  • メトリクスを追加で監視するには、[postgres.py]ファイルを編集し、監視が必要なメトリクスを新しく追加します。
  • 新しく追加されたメトリクスを表示するには、[postgres.py]ファイルのプラグインバージョン値をインクリメントします ( たとえば、デフォルトのプラグインのバージョンをPLUGIN_VERSION=「1」からPLUGIN_VERSION=「2」に変更します)。

関連プラグイン

  • Redisプラグイン - Redisデータベースのメトリクスを監視します。
  • VoltDBプラグイン - VoltDBデータベースのパフォーマンスメトリクスを監視します。
  • Lighttpdプラグイン - Lighttpdサーバーのパフォーマンスを分析します。
  • Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
  • Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
  • カスタムプラグインの作成 - カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。