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

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

最終更新日:Apr 24, 2026

このトピックでは、Simple Log Service コンソールで Logtail 構成を作成し、SQL Server のクエリ結果を収集する方法について説明します。

前提条件

  • Logtail がインストールされている必要があります。Linux の場合はバージョン 0.16.0 以降、Windows の場合はバージョン 1.0.0.8 以降を使用してください。詳細については、「Linux サーバーへの Logtail のインストール」または「Windows サーバーへの Logtail のインストール」をご参照ください。

    重要

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

  • Logtail サーバーの IP アドレスを SQL Server データベースのホワイトリストに追加します。

    たとえば、ApsaraDB RDS for SQL Server インスタンスのホワイトリストを設定するには、「IP アドレスホワイトリストの設定」をご参照ください。

機能

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

  • ページネーションの設定

  • タイムゾーンの設定

  • タイムアウトの設定

  • チェックポイント状態の保存

  • 同期ごとの収集レコード数の制限

操作手順

  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_mssql",
          "detail": {
            "Address": "rm-****.sqlserver.rds.aliyuncs.com",
            "User": "****",
            "Password": "*******",
            "DataBase": "****",
            "Limit": true,
            "PageSize": 100,
            "StateMent": "select * from LogtailTestTable where id > ? order by id",
            "CheckPoint": true,
            "CheckPointColumn": "id",
            "CheckPointStart": "0",
            "CheckPointSavePerPage": true,
            "CheckPointColumnType": "int",
            "IntervalMs": 1000
          }
        }
      ]
    }

    パラメーター

    必須

    説明

    type

    string

    はい

    データソースの型は service_mssql に設定されます。

    Address

    string

    いいえ

    SQL Server のアドレス。例:rm-****.sqlserver.rds.aliyuncs.com

    このパラメーターが設定されていない場合、デフォルトは 127.0.0.1:1433 です。

    User

    string

    いいえ

    SQL Server データベースにログインするためのユーザー名。

    設定されていない場合、デフォルトで root が使用されます。

    Password

    string

    いいえ

    ユーザーのパスワード。このパラメーターはデフォルトで空です。

    セキュリティ要件が高い場合は、ユーザー名とパスワードを xxx に設定することを推奨します。Logtail 構成がローカルマシンに同期された後、/usr/local/ilogtail/user_log_config.json ファイルで対応する構成を見つけて変更します。詳細については、「ローカル設定の変更」をご参照ください。

    重要

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

    DataBase

    string

    いいえ

    SQL Server データベースの名前。

    DialTimeOutMs

    int

    いいえ

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

    デフォルト値:5000。

    ReadTimeOutMs

    int

    いいえ

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

    デフォルト値:5000。

    StateMent

    string

    いいえ

    SELECT 文。

    CheckPointtrue に設定する場合、StateMentSELECT 文の WHERE 句には、CheckPointColumn パラメーターで指定された列を含める必要があり、この列の値は ? に設定する必要があります。例:CheckPointColumnid に、StateMentSELECT * from ... where id > ? に設定します。

    Limit

    boolean

    いいえ

    LIMIT 句を使用したページネーションを使用するかどうかを指定します。

    このパラメーターが指定されていない場合、デフォルト値は false であり、Limit ベースのページネーションが使用されないことを示します。

    ページネーションには Limit を使用することを推奨します。Limittrue に設定すると、SQL クエリを実行するときに LIMIT 文が自動的に Statement に追加されます。

    PageSize

    int

    いいえ

    ページサイズ。このパラメーターは、Limittrue に設定されている場合に必須です。

    MaxSyncSize

    int

    いいえ

    一度に同期するレコードの最大数。

    このパラメーターを設定しない場合、デフォルト値は 0 であり、制限がないことを示します。

    CheckPoint

    boolean

    いいえ

    増分収集にチェックポイントを使用するかどうかを指定します。

    設定されていない場合、デフォルト値は false であり、チェックポイントが使用されないことを示します。

    CheckPointColumn

    string

    いいえ

    チェックポイント列の名前。

    CheckPointtrue に設定されている場合は必須です。

    警告

    チェックポイント列の値は増分である必要があります。そうでない場合、Logtail は前回のクエリの最大値を次回の開始点として使用するため、データ損失が発生する可能性があります。

    CheckPointColumnType

    string

    いいえ

    チェックポイント列のデータの型。有効な値:int および time。Logtail は int 型を int64 として保存します。time 型は SQL Server の datedatetime、および time 型をサポートします。

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

    CheckPointStart

    string

    いいえ

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

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

    CheckPointSavePerPage

    boolean

    いいえ

    各ページを収集した後にチェックポイントを保存するかどうかを指定します。

    • true:ページネーションが発生するたびにチェックポイントを保存します。

    • false:各同期が完了した後にチェックポイントを保存します。

    IntervalMs

    int

    はい

    同期間隔 (ms)。

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

    重要

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

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

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

ローカル設定の変更

プラグイン設定 セクションで AddressUserPassword などのパラメーターに実際の値を入力しなかった場合は、Logtail 構成が配信された後に手動で変更できます。

Linux

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

  2. /usr/local/ilogtail/user_log_config.json ファイルを開き、service_mssql キーワードを見つけて、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_mssql キーワードを見つけて、AddressUserPassword フィールドを変更します。

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

  3. Logtail を再起動します。

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

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

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

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

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

トラブルシューティング

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

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

このセクションでは、SQL Server データベーステーブルのサンプルスキーマと、Logtail によって収集されたサンプルログを示します。

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

    IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'LogtailTest')
    BEGIN
    CREATE DATABASE [LogtailTest]
    END
    GO
    USE [LogtailTest]
    GO
    
    IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='LogtailTestTable' and xtype='U')
    BEGIN
    CREATE TABLE LogtailTestTable (
          id INT PRIMARY KEY IDENTITY (1, 1),
          name NVARCHAR(50),
          quantity INT
        )
    END
    GO
    
    INSERT INTO LogtailTestTable (name, quantity) values('banana', 1);
    INSERT INTO LogtailTestTable (name, quantity) values('banana', 2);
    INSERT INTO LogtailTestTable (name, quantity) values('banana', 3);
    INSERT INTO LogtailTestTable (name, quantity) values('banana', 4);
    SELECT * FROM LogtailTestTable;
    GO
  • サンプルログ 日志样例