すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:PostgreSQL のクエリ結果の収集

最終更新日:Jun 23, 2026

Log Service コンソールで Logtail 構成を作成し、PostgreSQL のクエリ結果を収集します。

前提条件

  • サーバーに Linux 向けの Logtail 0.16.0 以降、または Windows 向けの Logtail 1.0.0.8 以降がインストールされていること。 詳細については、「Logtail のインストール (Linux)」または「Logtail のインストール (Windows)」をご参照ください。

    重要

    Logtail がインストールされているサーバーがターゲットデータベースに接続できることを確認してください。

  • Logtail がインストールされているサーバーの IP アドレスが PostgreSQL データベースのホワイトリストに追加されていること。

    例えば、RDS for PostgreSQL データベースのホワイトリストを設定するには、「ホワイトリストの設定」をご参照ください。

特徴

  • PostgreSQL データベースからのクエリ結果の収集。

  • ページネーション。

  • タイムゾーン設定。

  • タイムアウト設定。

  • チェックポイント状態の永続化。

  • 1回の実行で収集されるレコードの最大数を設定可能。

操作手順

  1. Simple Log Service コンソールにログインします。

  2. データのインポート セクションで、カスタムデータプラグイン を選択します。

  3. 送信先のプロジェクトと Logstore を選択し、次へ をクリックします。

  4. [マシングループ設定] ステップで、マシングループを設定します。

    1. 必要に応じて、シナリオとインストール環境のパラメーターを設定します。

      重要

      マシングループが利用可能かどうかにかかわらず、シナリオとインストール環境のパラメーターを設定する必要があります。 パラメーター設定は後続の設定に影響します。

    2. [適用済みサーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

      マシングループが利用可能な場合

      [ソースマシングループ] セクションからマシングループを選択します。

      image

      マシングループが利用できない場合

      [マシングループの作成] をクリックします。[マシングループの作成] パネルで、パラメーターを設定します。マシングループ識別子パラメーターを [IP アドレス] または [カスタム識別子] に設定できます。詳細については、「カスタム識別子ベースのマシングループを作成する」または「IP アドレスベースのマシングループを作成する」をご参照ください。

      重要

      マシングループを作成した直後に適用すると、マシングループのハートビートステータスが [FAIL] になることがあります。 この問題は、マシングループが Simple Log Service に接続されていないために発生します。 この問題を解決するには、[自動リトライ] をクリックします。 問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合の対処方法」をご参照ください。

  5. データソースの設定 タブで、設定名プラグイン設定 を設定し、次へ をクリックします。

    • inputs は必須であり、Logtail 構成のデータソース設定に使用されます。

      重要

      inputs では、1種類のデータソースしか指定できません。

    • processors は任意であり、Logtail 構成のデータ処理設定に使用され、データを解析します。 1つ以上の処理メソッドを指定できます。

      ご利用のログが inputs の設定のみでは解析できない場合、[プラグイン設定] フィールドでプロセッサを設定して、データ処理用のプラグインを追加できます。 例えば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルタリングなどです。 詳細については、「データ処理のための Logtail プラグイン」をご参照ください。

    {
      "inputs": [
        {
          "type": "service_pgsql",
          "detail": {
            "Address": "pgm-****.pg.rds.aliyuncs.com",
            "User": "****",
            "Password": "*******",
            "DataBase": "****",
            "Limit": true,
            "PageSize": 100,
            "StateMent": "select * from specialalarmtest where id > $1 order by id",
            "CheckPoint": true,
            "CheckPointColumn": "id",
            "CheckPointStart": "0",
            "CheckPointSavePerPage": true,
            "CheckPointColumnType": "int",
            "IntervalMs": 1000
          }
        }
      ]
    }

    パラメーター

    必須

    説明

    type

    string

    はい

    データソースの型。 値を service_pgsql に設定します。

    Address

    string

    いいえ

    PostgreSQL データベースのエンドポイント。 例:pgm-****.pg.rds.aliyuncs.com

    デフォルト値:127.0.0.1:5432

    User

    string

    いいえ

    PostgreSQL データベースのユーザー名。

    デフォルト値:root

    Password

    string

    いいえ

    指定されたユーザー名のパスワード。 設定しない場合、パスワードは使用されません。

    機密性の高い認証情報については、ユーザー名とパスワードを xxx に設定することを推奨します。 Logtail 構成がローカルマシンに同期された後、ローカルファイル /usr/local/ilogtail/user_log_config.json で構成を見つけて更新します。 詳細については、「ローカル設定の変更」をご参照ください。

    重要

    コンソールでこのパラメーターを変更すると、同期中にローカル設定が上書きされます。

    DataBase

    string

    いいえ

    PostgreSQL データベース名。

    DialTimeOutMs

    int

    いいえ

    PostgreSQL データベースの接続タイムアウト。 単位:ミリ秒 (ms)。

    デフォルト値:5,000 ms。

    ReadTimeOutMs

    int

    いいえ

    PostgreSQL データベースからのクエリ結果の読み取りタイムアウト。 単位:ms。

    デフォルト値:5,000 ms。

    StateMent

    string

    いいえ

    SELECT 文。

    CheckPointtrue に設定した場合、StateMent の SELECT 文の WHERE 句には、チェックポイント列 (CheckPointColumn パラメーター) を含め、その値を $1 に設定する必要があります。 例:CheckPointColumnid に設定した場合、StateMentSELECT * from ... where id > $1 に設定します。

    Limit

    boolean

    いいえ

    ページネーションに LIMIT を使用するかどうか。

    デフォルト値:false (ページネーション無効)。

    ページネーションを有効にすることを推奨します。 Limittrue に設定すると、SQL クエリの実行時に StateMent に LIMIT 句が自動的に追加されます。

    PageSize

    int

    いいえ

    ページサイズ。 Limittrue に設定されている場合に必須です。

    MaxSyncSize

    int

    いいえ

    1回の実行で収集されるレコードの最大数。

    デフォルト値:0 (制限なし)。

    CheckPoint

    boolean

    いいえ

    チェックポイントを使用するかどうか。

    デフォルト値:false

    CheckPointColumn

    string

    いいえ

    チェックポイント列名。

    このパラメーターは CheckPointtrue に設定されている場合に必須です。

    警告

    この列の値は増分でなければなりません。 そうでない場合、収集中にデータ損失が発生する可能性があります。 各クエリ結果の最大値が、次のクエリの入力として使用されます。

    CheckPointColumnType

    string

    いいえ

    チェックポイント列のデータの型。 有効な値:inttimeint 型は int64 として保存されます。 time 型は PostgreSQL の時間データ型をサポートします。

    このパラメーターは CheckPointtrue に設定されている場合に必須です。

    CheckPointStart

    string

    いいえ

    初期チェックポイント値。

    このパラメーターは CheckPointtrue に設定されている場合に必須です。

    CheckPointSavePerPage

    boolean

    いいえ

    各ページが収集された後にチェックポイントを保存するかどうか。

    • true:各ページの後にチェックポイントを保存します。

    • false:各収集サイクルの後にチェックポイントを保存します。

    IntervalMs

    int

    はい

    収集間隔。 単位:ms。

  6. インデックスを作成してデータをプレビューし、[次へ] をクリックします。 デフォルトでは、Simple Log Service でフルテキストインデックス作成が有効になっています。 収集したログのフィールドインデックスを手動で作成するか、[インデックス自動生成] をクリックすることもできます。 その後、Simple Log Service がフィールドインデックスを生成します。 詳細については、「インデックスの作成」をご参照ください。

    重要

    ログのすべてのフィールドをクエリしたい場合は、フルテキストインデックスを使用することを推奨します。 特定のフィールドのみをクエリしたい場合は、フィールドインデックスを使用することを推奨します。 これにより、インデックストラフィックを削減できます。 フィールドを分析したい場合は、フィールドインデックスを作成する必要があります。 分析には、クエリ文に SELECT 文を含める必要があります。

  7. ログ照会 をクリックして、Logstore のクエリ・分析ページに移動します。

    インデックスが有効になるまで約1分待つ必要がある場合があります。 その後、Rawデータ タブで収集されたログを表示できます。 詳細については、「ログのクエリと分析のクイックスタート」をご参照ください。

ローカル設定の変更

プラグイン設定 で `Address`、`User`、`Password` などのパラメーターに実際の値を入力しなかった場合、Logtail 構成がサーバーに適用された後に手動で変更できます。

Linux

  1. Logtail がインストールされているサーバーにログインします。

  2. /usr/local/ilogtail/user_log_config.json ファイルを開き、service_pgsql を検索して、AddressUserPassword などのフィールドを変更します。

  3. 次のコマンドを実行して Logtail を再起動します。

    sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start

Windows

  1. Logtail がインストールされているサーバーにログインします。

  2. C:\Program Files\Alibaba\Logtail\user_log_config.json ファイルを開き、service_pgsql を検索して、AddressUserPassword などのフィールドを変更します。

    ファイルパスは 64 ビットと 32 ビットの Windows オペレーティングシステムで異なります。 詳細については、「ファイルパス」をご参照ください。

  3. Logtail を再起動します:

    1. [スタートメニュー] > [コントロールパネル] > [管理ツール] > [サービス] を選択します。

    2. [サービス] ダイアログボックスで、管理するサービスを選択します。

      • Logtail V0.x.x.x の場合は、LogtailWorker を選択します。

      • Logtail V1.0.0.0 以降の場合は、LogtailDaemon を選択します。

    3. サービスを右クリックし、[開始][停止]、または [再起動] を選択します。

トラブルシューティング

Logtail を設定してログを収集した後、プレビューページまたはクエリページにデータが表示されない場合は、「Logtail の収集エラーのトラブルシューティング」をご参照ください。

データベーステーブルとログのサンプル

以下に、PostgreSQL のテーブルスキーマのサンプルと、Logtail によって収集されたログの例を示します。

  • テーブルスキーマのサンプル

    // テーブルを作成します。
    CREATE TABLE IF NOT EXISTS specialalarmtest (
        id BIGSERIAL NOT NULL,
        time TIMESTAMP NOT NULL,
        alarmtype varchar(64) NOT NULL,
        ip varchar(16) NOT NULL,
        COUNT INT NOT NULL,
        PRIMARY KEY (id)
    );
    // データを挿入します。
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 0);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 1);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 2);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 3);
                            
  • ログのサンプル:データを挿入すると、ログクエリは `id` の値が 14、15、16、`count` の値が 1、2、3、`alarmtype` の値が `NO_ALARM`、`ip` の値が `10.10.***.***` の3つのレコードを返します。