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

Simple Log Service:OSS から Simple Log Service へのデータのインポート

最終更新日:Sep 10, 2024

Object Storage Service (OSS) バケットからSimple log Serviceにログデータをインポートし、Simple Log Serviceのデータに対して操作を実行できます。 (データのクエリ、分析、変換) などを実行できます。 サイズが5 GBを超えないOSSオブジェクトのみをSimple Log Serviceにインポートできます。 圧縮オブジェクトをインポートする場合、圧縮後のオブジェクトのサイズは5 GBを超えることはできません。

課金

Simple Log Service のデータインポート機能に対しては課金されません。 ただし、この機能はOSS APIを呼び出します。 生成されたOSSトラフィックとリクエストに対して課金されます。 関連する請求可能なアイテムの価格の詳細については、 OSSの価格。 OSSからデータをインポートするときに発生する1日のOSS料金は、次の式を使用して計算されます。

image..png

課金に関するフィールド

フィールド

説明

N

OSS から Simple Log Service に 1 日あたりにインポートされるオブジェクトの数です。

T

OSS から Simple Log Service に 1 日あたりにインポートされるデータの合計サイズです。 単位は GB です。

p_read

データの GB あたりのトラフィック料金です。

  • OSS から同一リージョン内の Simple Log Service にデータをインポートすると、内部ネットワーク経由のアウトバウンドトラフィックが生成されます。 アウトバウンドトラフィックは課金されません。

  • 複数リージョンの OSS から Simple Log Service にデータをインポートすると、インターネット経由のアウトバウンドトラフィックが生成されます。

p_put

10,000 PUTリクエストあたりの料金。

Simple Log Service は、ListObjects 操作を呼び出して、バケット内のオブジェクトをクエリします。 PUT リクエストに対して課金されます。 料金はOSSの請求書に含まれています。 各呼び出しは最大1,000のデータエントリを返すことができます。 インポートする新しいオブジェクトが100万個ある場合は、1,000の呼び出しが必要です。

p_get

10,000 GETリクエストあたりの料金。

M

システムが新しいオブジェクトを検出する間隔。 単位は分です。

新しいファイルチェックサイクルを設定して、データインポート設定を作成するときの間隔を指定できます。

前提条件

  • ログファイルが OSS バケットにアップロードされている必要があります。 詳細については、「オブジェクトのアップロード」をご参照ください。

  • プロジェクトと Logstore が作成済みである必要があります。 詳細については、「プロジェクトの作成」および「Logstore の作成」をご参照ください。

  • Simple Log Service に AliyunLogImportOSSRole ロールが割り当てられ、OSS リソースへのアクセスが許可されている必要があります。 [Cloud Resource Access authorization] ページで承認を完了できます。

  • 使用するRAM (Resource Access Management) ユーザーには、ossバケットにアクセスするためのOSS: ListBuckets権限が付与されています。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

    RAM ユーザーを使用する場合は、PassRole 権限を RAM ユーザーに付与する必要があります。 次の例は、権限を付与するために使用できるポリシーを示しています。 詳細については、「カスタムポリシーの作成」および「RAM ユーザーへの権限付与」をご参照ください。

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram:*:*:role/aliyunlogimportossrole"
        },
        {
          "Effect": "Allow",
          "Action": "oss:GetBucketWebsite",
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "oss:ListBuckets",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }    

データインポート設定の作成

重要

OSSオブジェクトがSimple Log Serviceにインポートされ、新しいデータがOSSオブジェクトに追加された場合、OSSオブジェクトのデータインポートジョブが実行されると、OSSオブジェクトのすべてのデータがSimple Log Serviceに再インポートされます。

  1. Simple Log Serviceコンソール.

  2. [データのインポート] セクションで、[データのインポート] タブをクリックします。 次に、[OSS - Data Import] をクリックします。

  3. プロジェクトとLogstoreを選択します。 そして、[次へ] をクリックします。

  4. [設定のインポート] ステップで、データのインポート設定を作成します。

    1. 設定のインポートステップで、次のパラメータを設定します。

      Parameters

      パラメーター

      説明

      ジョブ名

      ジョブの名前 名前はグローバルに一意である必要があります。

      表示名

      ジョブの表示名。

      ジョブの説明

      ジョブの説明

      OSS リージョン

      OSS バケットが存在するリージョンです。 OSS バケットには、Simple Log Service にインポートする OSS オブジェクトが格納されます。

      OSS バ ケットと Simple Log Service プロジェクトが同一リージョン内に存在している場合、インターネットトラフィックは生成されず、データは高速で転送されます。

      バケット

      OSS バケットです。

      ファイルパスプレフィックスのフィルタリング

      OSS オブジェクトのディレクトリです。 このパラメーターを設定すると、インポートする OSS オブジェクトをより効率的に検索できます。 たとえば、インポートする OSS オブジェクトが csv/ ディレクトリに保存されている場合、このパラメーターを csv/ に設定します。

      このパラメーターを空のままにすると、システムは OSS バケット全体をトラバースして OSS オブジェクトを見つけます。

      説明

      このパラメーターを設定することを推奨します。 OSSバケット内のOSSオブジェクトの数が多いほど、バケット全体がトラバースされたときのデータインポート効率が低くなります。

      ファイルパスの正規表現によるフィルタリング

      OSSオブジェクトをディレクトリでフィルタリングするために使用する正規表現。 このパラメーターを設定すると、インポートする OSS オブジェクトをより効率的に検索できます。 名前が正規表現と一致するオブジェクトのみインポートされます。 名前には、オブジェクトのパスが含まれます。 デフォルトでは、このパラメーターは空です。これは、フィルタリングが実行されないことを示します。

      たとえば、インポートする OSS オブジェクトの名前が testdata/csv/bill.csv の場合、このパラメーターを (testdata/csv/)(.*) に設定できます。

      正規表現をデバッグする方法の詳細については、 正規表現をデバッグするにはどうすればよいですか?

      ファイル変更時間のフィルタリング

      OSSオブジェクトをフィルタリングする変更時間。 このパラメーターを設定すると、インポートする OSS オブジェクトをより効率的に検索できます。 有効な値:

      • すべて: 指定された条件を満たすすべてのOSSオブジェクトをインポートするには、このオプションを選択します。

      • 特定の時間から: ある時点以降に変更されたOSSオブジェクトをインポートするには、このオプションを選択します。

      • 特定の時間範囲: 時間範囲内で変更されたOSSオブジェクトをインポートするには、このオプションを選択します。

      データフォーマット

      OSS オブジェクトの形式です。 有効な値:

      • CSV:OSS オブジェクトの最初の行をフィールド名として指定するか、カスタムフィールド名を指定します。 最初の行を除くすべての行は、ログフィールドの値として解析されます。

      • シングルライン JSON:OSS オブジェクトが 1 行ずつ読み取られます。 行ごとに JSON オブジェクトとして解析されます。 JSON オブジェクトのフィールドはログフィールドです。

      • 単一行テキストログ: OSSオブジェクトの各行がログとして解析されます。

      • マルチラインテキストログ: OSSオブジェクト内の複数の行がログとして解析されます。 ログの最初の行または最後の行に一致するように正規表現を指定できます。

      • ORC: Optimized Row Columnar (ORC) 形式のOSSオブジェクトは、Simple Log Serviceでサポートされている形式に自動的に解析されます。 それ以上の設定を構成する必要はありません。

      • Parquet: Parquet形式のOSSオブジェクトは、Simple Log Serviceでサポートされている形式に自動的に解析されます。 それ以上の設定を構成する必要はありません。

      • Alibaba Cloud OSSアクセスログ: OSSオブジェクトはAlibaba Cloud OSSのアクセスログとして解析されます。 詳細については、「ロギング」をご参照ください。

      • Alibaba Cloud CDNダウンロードログ: OSSオブジェクトはAlibaba Cloud CDN (CDN) のダウンロードログとして解析されます。 詳細については、「オフラインログのダウンロード」をご参照ください。

      圧縮フォーマット

      OSSオブジェクトの圧縮形式。 Simple Log Service は、指定されたフォーマットに基づいて OSS オブジェクトを展開し、データを読み取ります。

      エンコード形式

      OSSオブジェクトのエンコード形式。 UTF-8およびGBKは支えられます。

      新しいファイルのチェックサイクル

      OSSオブジェクトの指定されたディレクトリに新しいオブジェクトが常に生成される場合は、ビジネス要件に基づいて新しいファイルチェックサイクルを設定できます。 このパラメーターを設定すると、データインポートジョブはバックグラウンドで継続的に実行され、新しいオブジェクトが自動的に検出され、定期的に読み取られます。 システムは、OSSオブジェクト内のデータがSimple Log Serviceに繰り返し書き込まれないようにします。

      OSSオブジェクトの指定されたディレクトリに新しいオブジェクトが生成されなくなった場合、新しいファイルチェックサイクルの値をNever Checkに変更できます。 次に、指定された条件を満たすすべてのオブジェクトが読み取られた後、データインポートジョブは自動的に終了します。

      アーカイブファイルのインポート

      インポートする OSS オブジェクトのストレージクラスがアーカイブまたはコールドアーカイブの場合、Simple Log Service はオブジェクトが復元された後にのみオブジェクトからデータを読み取ることができます。 このスイッチをオンにすると、アーカイブオブジェクトとコールドアーカイブオブジェクトが自動的に復元されます。 このスイッチはDeep Cold Archiveオブジェクトをサポートしていません。

      説明
      • アーカイブオブジェクトの復元には約1分かかります。これにより、最初のプレビューがタイムアウトする可能性があります。 最初のプレビューがタイムアウトした場合は、しばらく待ってから再試行する必要があります。

      • Cold Archiveオブジェクトの復元には約1時間かかります。 プレビューがタイムアウトした場合は、プレビューをスキップするか、1時間待ってから再試行できます。

        デフォルトでは、復元されたCold Archiveオブジェクトは7日間有効です。 これにより、システムがCold ArchiveオブジェクトをSimple Log Serviceにインポートするのに十分な時間が与えられます。

      ログタイム設定

      時刻フィールド

      時刻フィールドです。 OSSオブジェクトの時間列の名前を入力します。 データ形式CSV単一行JSONORCParquetAlibaba Cloud OSSアクセスログ、またはAlibaba Cloud CDNダウンロードログに設定した場合、このパラメーターを設定する必要があります。 ログ時間を指定します。

      正規表現で時間を抽出

      ログ時間の抽出に使用する正規表現。 データ形式単一行テキストログまたは複数行テキストログに設定した場合、このパラメーターを設定する必要があります。

      たとえば、サンプルログが127.0.0.1 - - [10/Sep/2018:12:36:49 + 0800] "GET /index.html HTTP/1.1" の場合、正規表現の抽出時間[0-9]{0,2}\/[0-9a-zA-Z]+\/[0-9\: +]+ に設定できます。

      説明

      他のデータ型で時刻フィールドの一部を抽出する場合は、正規表現を指定します。

      時刻フィールドの形式

      時間フィールドの値を解析するために使用する時間形式。

      • Java SimpleDateFormatクラスでサポートされている時間形式を指定できます。 例:yyyy-MM-dd HH:mm:ss 時刻形式の構文の詳細については、「Class SimpleDateFormat」をご参照ください。 一般的な時刻形式の詳細については、「時刻形式」をご参照ください。

      • エポック時間形式を指定できます。エポック、epochMillis、epochMicro、またはepochNanoを指定できます。

      タイムゾーン

      timeフィールドの値のタイムゾーン。 Time Field Formatの値がエポック時間形式の場合、このパラメーターを設定する必要はありません。

      ログを解析するときに夏時間を使用する場合は、UTCでタイムゾーンを選択できます。 それ以外の場合は、GMTでタイムゾーンを選択します。

      詳細設定

      OSS メタデータインデックスの使用

      OSSオブジェクトの数が100万を超える場合は、スイッチをオンにすることを推奨します。 そうでなければ、システムは新しいオブジェクトを見つけるのに長い時間を必要とする。 このスイッチをオンにすると、システムは数秒以内にOSSバケット内の新しいオブジェクトを見つけることができます。 そのため、新しいオブジェクトのデータをほぼリアルタイムで Simple Log Service に書き込むことができます。

      このスイッチをオンにする前に、OSSのメタデータ管理機能を有効にする必要があります。 詳細については、「データインデックス作成」をご参照ください。

      データ形式CSVまたは複数行のテキストログに設定した場合、追加のパラメーターを設定する必要があります。 下表に追加のパラメーターを示します。

      CSV

      パラメーター

      説明

      デリミタ

      ログの区切り文字です。 デフォルト値は、コンマ (,) です。

      引用符

      CSV フォーマットの文字列を囲むために使用される引用符です。

      エスケープ文字

      ログのエスケープ文字です。 デフォルト値はバックスラッシュ (\) です。

      最大行数

      元のログに複数の行がある場合にログに許可される最大行数。 デフォルト値は 1 です。

      最初の行をフィールド名として使用

      [フィールド名として最初の行] をオンにすると、CSVファイルの最初の行がフィールド名の抽出に使用されます。 たとえば、次の図に示すCSVファイルの1行目は、フィールド名の抽出に使用されます。首行

      カスタムフィールド

      [フィールド名としての最初の行] をオフにすると、カスタムフィールド名を指定できます。 複数のフィールド名はコンマ (,) で区切ります。

      スキップ行数

      スキップされる行数です。 たとえば、このパラメーターを1に設定した場合、CSVファイルの1行目はスキップされ、2行目からログ収集が開始されます。

      複数行のテキストログ

      パラメーター

      説明

      正規表現に一致する位置

      正規表現の使用方法です。

      • 1行目に一致する正規表現: このオプションをオンにすると、指定した正規表現がログの1行目に一致するために使用されます。 一致しない行は、指定した行の最大数に達するまでログの一部として収集されます。

      • 最後の行に一致する正規表現: このオプションをオンにすると、指定した正規表現がログの最後の行に一致するために使用されます。 一致しない行は、指定した行の最大数に達するまで、次のログの一部として収集されます。

      正規表現

      正規表現を入力します。 ログの内容に基づいて正規表現を指定します。

      正規表現をデバッグする方法の詳細については、 正規表現をデバッグするにはどうすればよいですか?

      最大行数

      ログに許可される最大行数。

    2. プレビューインポート結果をプレビューします。

    3. 結果を確認したら、をクリックします。次へ.

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

    重要

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

  6. [クエリログ] をクリックします。 表示されるクエリと分析ページで、OSSデータがインポートされているかどうかを確認します。

    約 1 分待ちます。 必要なOSSデータが存在する場合、データがインポートされます。

次のステップ

データインポート設定を作成した後、Simple Log Serviceコンソールで設定の詳細と関連する統計レポートを表示できます。

  1. [プロジェクト一覧] セクションで、データインポート設定が属するプロジェクトをクリックします。

  2. ログストレージ > ログストアタブで、データインポート設定が属するLogstoreをクリックし、データ収集 > データインポートデータインポート設定の名前をクリックします。

  3. データインポートジョブの表示

    On theインポート設定の概要ページで、データインポート設定の基本情報と統計レポートを表示します。

    导入任务概览

    データインポートジョブの変更

    データインポート設定を変更するには、[設定の編集] をクリックします。 詳細については、「データインポート設定の作成」をご参照ください。

    データインポートジョブの削除

    データインポート設定を削除するには、[設定の削除] をクリックします。

    警告

    データインポート設定が削除された後、復元することはできません。

    データインポートジョブの停止

    データインポートジョブを停止するには、[停止] をクリックします。

よくある質問

問題の説明

考えられる原因

解決策

プレビュー中にデータが表示されません。

OSS バケットにオブジェクトが存在しない、オブジェクトにデータが設定されていない、またはフィルタリング条件に合致するオブジェクトがありません。

  • OSS バケットに空でないオブジェクトが存在するかどうか、または CSV ファイルの内容がヘッダー行のみでないかどうかを確認します。 OSSオブジェクトにデータが含まれていない場合は、オブジェクトにデータが含まれるまで待ってからオブジェクトをインポートする必要があります。

  • ファイルパスプレフィックスフィルターファイルパス正規表現フィルター、およびファイル変更時間フィルターを変更します。

文字化けが発生しています。

データフォーマット、圧縮形式、またはエンコード形式が正しく設定されていません。

OSSオブジェクトの実際の形式を確認し、データ形式圧縮形式、またはエンコーディング形式を変更します。

既存の文字化け文字を処理するには、Logstore とデータインポート設定を作成します。

Simple log Serviceに表示されるログ時間は、実際のログ時間とは異なります。

データインポート設定で時間フィールドが指定されていないか、指定された時間形式またはタイムゾーンが無効です。

時間フィールドを指定するか、有効な時間形式とタイムゾーンを指定します。 詳細については、「データインポート設定の作成」をご参照ください。

データのインポート後に、データをクエリまたは分析できません。

  • データがクエリ期間内にありません。

  • インデックスが設定されていません。

  • 設定されたインデックスは有効になりません。

  • クエリするログの時間がクエリ時間範囲内であるかどうかを確認します。

    いいえの場合、クエリ時間範囲を調整し、データを再度クエリします。

  • オブジェクトのインポート先のLogstoreにインデックスが設定されているかどうかを確認します。

    いいえの場合、インデックスを設定します。 詳細については、「インデックスの作成」および「Logstore に対するログの再インデックス」をご参照ください。

  • Logstoreにインデックスが設定されており、インポートされたデータの量が [data Processing Insight] ダッシュボードに期待どおりに表示されている場合、考えられる原因はインデックスが有効にならないことです。 この場合、インデックスを再設定します。 詳細については、「Logstore に対するログの再インデックス」をご参照ください。

インポートされたデータエントリの数が想定を下回っています。

一部のOSSオブジェクトには、サイズが3 MBを超える行が含まれています。 この場合、ラインはインポート中に破棄されます。 詳細については、「コレクションの制限」をご参照ください。

OSS オブジェクトにデータを書き込む際、1 行のサイズが 3 MB を超えないようにしてください。

OSSオブジェクトの数と総データ量は多いですが、インポート速度は期待どおりではありません。 ほとんどの場合、インポート速度は 80 MB/s に達します。

Logstore 内のシャードの数が少なすぎます。 詳細については、「パフォーマンスの制限事項」をご参照ください。

Logstore 内のシャードの数が少ない場合は、シャードの数を 10 以上に増やして、遅延を確認します。 詳細については、「シャードの管理」をご参照ください。

データインポート設定の作成中は、OSSバケットを選択できません。

AliyunLogImportOSSRole ロールが Simple Log Service に割り当てられていません。

このトピックの「前提条件」セクションの説明に基づいて、完全な承認を行います。

一部の OSS オブジェクトを Simple Log Service にインポートできません。

フィルタ条件の設定が無効であるか、オブジェクトのサイズが5 GBを超えています。 詳細については、「コレクションの制限」をご参照ください。

  • インポートする OSS オブジェクトがフィルター条件を満たしているかどうかを確認します。 いいえの場合は、フィルター条件を変更します。

  • インポートする各OSSオブジェクトのサイズが5 GB未満かどうかを確認します。

    いいえの場合は、オブジェクトのサイズを縮小します。

アーカイブオブジェクトはSimple Log Serviceにインポートされません。

アーカイブファイルのインポートがオフになっています。 詳細については、「コレクションの制限」をご参照ください。

  • 方法 1:データインポート設定を変更し、[アーカイブファイルのインポート] をオンにします。

  • 方法2: 別のデータインポート設定を作成し、[アーカイブファイルのインポート] をオンにします。

複数行テキストログ形式のOSSオブジェクトの解析でエラーが発生しました。

ログの最初の行または最後の行に一致するように指定された正規表現は無効です。

ログの最初の行または最後の行に一致するように指定された正規表現が有効かどうかを確認します。

新しい OSS オブジェクトをインポートするまでの遅延が想定を上回っています。

File Path Prefix Filterで指定された条件を満たす既存のOSSオブジェクトの数が上限を超えており、データインポート設定でOSSメタデータインデックスがオフになっています。

ファイルパスプレフィックスで指定された条件を満たす既存の OSS オブジェクトの数が 100 万を超える場合、データインポート設定で [OSS メタデータインデックスの使用] をオンにします。 オンにしない場合、新しいファイルの検出効率が低下します。

エラー処理

エラー

説明

ファイルの読み取り失敗

ネットワーク例外が発生するか、オブジェクトが破損しているためにOSSオブジェクトの完全な読み取りに失敗した場合、データインポートジョブは自動的にオブジェクトの読み取りを再試行します。 オブジェクトの読み取りを 3 回再試行しても失敗した場合、そのオブジェクトはスキップされます。

再試行間隔は、新規ファイルチェックサイクルの値と同じです。 新しいファイルチェックサイクルがNever Checkに設定されている場合、再試行間隔は5分です。

圧縮フォーマットの解析エラー

OSSオブジェクトが無効な形式の場合、データインポートジョブは解凍中にオブジェクトをスキップします。

データフォーマットの解析エラー

  • ORCやParquetなどのバイナリ形式のOSSオブジェクトの解析に失敗した場合、データインポートジョブはOSSオブジェクトをスキップします。

  • 他のフォーマットのデータを解析できない場合、データインポートジョブは元のテキストコンテンツをログの content フィールドに保存します。

OSSバケット不在

データインポートジョブは定期的に再試行されます。 OSSバケットが再作成されると、データインポートジョブは自動的にインポートを再開します。

権限エラー

OSSバケットからデータを読み取るとき、またはSimple Log Service Logstoreにデータを書き込むときに権限エラーが発生した場合、データインポートジョブは定期的に再試行されます。 エラーが修正されると、データインポートジョブは自動的にインポートを再開します。

権限エラーが発生した場合でも、データインポートジョブは OSS オブジェクトをスキップしません。 エラーが修正されると、データインポートジョブは、OSSバケット内の未処理のオブジェクトからSimple Log Service Logstoreにデータを自動的にインポートします。