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

Simple Log Service:MySQL クエリ結果を収集する

最終更新日:Jul 11, 2025

このトピックでは、MySQL クエリ結果を収集するための Logtail 構成を作成する方法について説明します。

前提条件

  • Linux サーバーに Logtail V0.16.0 以降がインストールされているか、Windows サーバーに Logtail V1.0.0.8 以降がインストールされている。詳細については、「Logtail のインストール、実行、アップグレード、アンインストール」をご参照ください。

    重要

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

  • Logtail がインストールされているサーバーの IP アドレスが、MySQL クエリ結果を収集する MySQL データベースのホワイトリストに追加されている。

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

  • CRD-AliyunPipelineConfig を使用して MySQL クエリ結果を収集するには、Logtail コンポーネントがクラスターにインストールされていることを確認してください。

    詳細については、「Logtail コンポーネントをインストールする」をご参照ください。

手順

Simple Log Service コンソール

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

  2. 表示されるページの右側にある [クイックデータインポート] カードをクリックします。

    image

  3. [データインポート] ページで、[MySQL クエリ結果 - プラグイン] を選択します。

  4. プロジェクトとログストアを選択します。次に、[次へ] をクリックします。

  5. [マシン グループ構成] ステップで、マシン グループを構成します。

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

      重要

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

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

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

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

      image

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

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

      重要

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

  6. [データ ソースの構成] ステップで、[構成名] パラメーターと [プラグイン構成] パラメーターを構成します。次に、[次へ] をクリックします。

    フォームまたはエディター (JSON 構成) を使用してデータ ソースを構成できます。詳細については、「拡張入力構成: MySQL 入力プラグイン」をご参照ください。

    image

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

    重要

    ログ内のすべてのフィールドをクエリするには、フルテキスト インデックスを使用することをお勧めします。特定のフィールドのみをクエリするには、フィールド インデックスを使用することをお勧めします。これは、インデックストラフィックの削減に役立ちます。フィールドを分析するには、フィールド インデックスを作成します。分析のクエリ文には SELECT 文を含める必要があります。

  8. [ログのクエリ] をクリックします。ログストアのクエリと分析ページにリダイレクトされます。

    インデックスが有効になるまで約 1 分待ちます。次に、[未処理ログ] タブで収集されたログを表示します。詳細については、「ログクエリと分析のガイド」をご参照ください。

CRD-AliyunPipelineConfig

このセクションでは、ACK クラスターで収集構成を作成する方法について説明します。

  1. ACK コンソール にログインします。左側のナビゲーション ウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、ターゲット クラスターを見つけます。[アクション] 列で、[その他] をクリックし、[クラスターの管理] をクリックします。

  3. example-k8s-file.yaml という名前のファイルを作成します。

    パラメーターの説明

    サンプル

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # ClusterAliyunPipelineConfig CRD から CR を作成します。
    kind: ClusterAliyunPipelineConfig
    metadata:
      # リソースの名前。名前は、現在の Kubernetes クラスター内で一意である必要があります。名前は、作成される Logtail 構成の名前と同じです。
      name: example-crd-mysql
    spec:
      # ログが収集されるプロジェクトを指定します。
      project:
        name: k8s-log-clusterid
      # ログを格納するログストアを作成します。
      logstores:
        - name: crd-mysql-test
      # Logtail 構成のパラメーターを構成します。
      config:
        # サンプルログを入力します。このパラメーターは空のままにすることができます。
        sample: ''
        inputs:
        - Type: service_mysql
          Address: "rm-*.mysql.rds.aliyuncs.com"
          CheckPoint: true
          CheckPointColumn: id
          CheckPointColumnType: int
          CheckPointSavePerPage: true
          CheckPointStart: "0"
          Database: ****
          IntervalMs: 1000
          Limit: true
          MaxSyncSize: 100
          PageSize: 100
          User: ****
          Password: *******
          StateMent: "select * from test where id > ? order by id"
        # 出力プラグインを構成します。
        flushers:
          # flusher_sls プラグインを使用して、ログを特定のログストアに送信します。
          - Type: flusher_sls
            Logstore: crd-mysql-test
            Endpoint: cn-hangzhou.log.aliyuncs.com
            Region: cn-hangzhou
            TelemetryType: logs

    タイプ string (必須)

    データ ソースのタイプ。service_mysql の値を設定します。

    アドレス string (オプション)

    MySQL アドレス。例: rm-****.mysql.rds.aliyuncs.com

    デフォルト値: 127.0.0.1:3306

    アドレスタイプ:

    • 内部 (VPC): 同じ VPC 内のインスタンス (ECS インスタンスや ACK インスタンスなど) からの内部アクセスにのみ使用されます。

    • パブリック エンドポイント: ビジネスが別の VPC またはオンプレミス マシンにデプロイされていて、インターネット経由でインスタンスにアクセスする必要がある場合に使用されます。事前にパブリック エンドポイントを手動で申請する必要があります。詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。

    説明

    インターネット経由の接続は変動しやすい傾向があるため、内部読み取り/書き込み分割エンドポイントを使用して RDS インスタンスに接続することをお勧めします。

    ユーザー string (オプション)

    MySQL データベースにログインするために使用されるアカウントのユーザー名。デフォルト値: root

    パスワード string (オプション)

    MySQL データベースにログインするために使用されるアカウントのパスワード。

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

    重要

    Simple Log Service コンソールでこのパラメーターを変更すると、変更がサーバーに同期された後、Logtail サーバーの Logtail 構成のパラメーター設定が上書きされます。

    データベース string (オプション)

    MySQL データベース名。

    ダイヤル タイムアウト (ミリ秒) int (オプション)

    MySQL データベースへの接続のタイムアウト期間。単位: ミリ秒。デフォルト値: 5000。

    読み取りタイムアウト (ミリ秒) int (オプション)

    MySQL データベースからの読み取りのタイムアウト期間。単位: ミリ秒。デフォルト値: 5000。

    ステートメント string (オプション)

    SELECT 文。

    CheckPointtrue に設定した場合、Statement の WHERE 条件には CheckPoint 列 (CheckPointColumn) が含まれている必要があります。疑問符 (?) を使用して置換文字を示すことができます。SELECT 文で疑問符 (?) を使用する場合は、CheckPointColumn パラメーターも構成する必要があります。

    たとえば、CheckPointColumnid に設定し、CheckPointStart0 に設定し、StateMentSELECT * from ... where id > ? に設定した場合、クエリが実行されるたびに、システムは最後のデータ レコードの ID をチェックポイントとして保存します。次のクエリでは、SELECT 文で指定された疑問符 (?) は、保存されたチェックポイントに対応する ID に置き換えられます。

    制限 boolean (オプション)

    LIMIT 句を使用してクエリ結果をページ分割するかどうかを指定します。有効な値:

    • true: LIMIT 句を使用します。

    • false (デフォルト): LIMIT 句を使用しません。

    LIMIT 句を使用してクエリ結果をページ分割することをお勧めします。Limittrue に設定すると、SQL クエリが実行されるときに、システムは SELECT 文に LIMIT 句を自動的に追加します。

    ページサイズ int (オプション)

    1 ページあたりのエントリ数。Limit を true に設定した場合は、このパラメーターが必要です。

    最大同期サイズ int (オプション)

    一度に同期できるログの最大数。デフォルト値: 0。制限が課されていないことを示します。

    チェックポイント boolean (オプション)

    データ収集中にチェックポイントを使用するかどうかを指定します。有効な値:

    • true: チェックポイントを使用します。

    • false (デフォルト): チェックポイントを使用しません。

    チェックポイントは、次のデータ収集の開始点として使用できます。このようにして、増分データが収集されます。

    チェックポイント列 string (オプション)

    チェックポイントを格納する列の名前。

    CheckPointtrue に設定した場合は、このパラメーターが必要です。

    警告

    チェックポイント列の値は増分する必要があります。そうしないと、一部のデータが収集されない場合があります。クエリ操作の結果の最大値が、次のクエリ操作の入力として使用されます。

    チェックポイント列タイプ string (オプション)

    CheckPointtrue に設定した場合は、このパラメーターが必要です。

    CheckPoint 列のデータ型。有効な値: int と time。このパラメーターを int に設定すると、チェックポイント列の値は 64 ビット整数として格納されます。このパラメーターを time に設定すると、チェックポイント列の値は、MySQL でサポートされている date、time、または datetime 型にすることができます。

    チェックポイント開始 string (オプション)

    CheckPointtrue に設定した場合は、このパラメーターが必要です。

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

    ページごとのチェックポイント保存 boolean (オプション)

    CheckPointtrue に設定した場合は、このパラメーターが必要です。

    クエリ結果がページ分割されるたびにチェックポイントを保存するかどうかを指定します。

    • true (デフォルト): クエリ結果がページ分割されるたびにチェックポイントを保存します。

    • false: クエリ結果が同期されるたびにチェックポイントを保存します。

    間隔 (ミリ秒) int (必須)

    同期間隔。単位: ミリ秒。デフォルト値: 60000。

  4. kubectl apply -f example-k8s-file.yaml を実行します。Logtail は MySQL データの収集を開始します。

  5. Simple Log Service コンソール にログインします。[プロジェクト] セクションで、目的のプロジェクトをクリックします。

  6. 対応するログストアの右側にある 图标 アイコンをクリックし、[検索と分析] を選択してクエリ ログを表示します。

    image