Simple Log Service がデータを収集した後、そのデータを Object Storage Service (OSS) に転送して、長期保存および分析を行うことができます。
OSS へのログ転送の旧バージョンは廃止されました。新バージョンをご参照ください。
前提条件
-
プロジェクトと Logstore を作成します。詳細については、「プロジェクトと Logstore の作成」をご参照ください。
-
ご利用の Logstore にデータを収集します。詳細については、「データ収集」をご参照ください。
-
SLS プロジェクトと同じリージョンにバケットを作成します。詳細については、「コンソールでバケットを作成する」をご参照ください。
-
クラウドリソースアクセス認可を完了する必要があります。
Alibaba Cloud アカウント間でログを転送する場合や RAM ユーザーを使用する場合は、事前に「OSS へのログ転送のための RAM 認可」を完了してください。
クラウドリソースアクセス認可ページで、OSS 書き込み権限を含む AliyunLogDefaultRole ロールを選択し、認可に同意をクリックします。
概要
Simple Log Service は、Logstore のデータを自動的に OSS にアーカイブして、長期保存および分析を可能にします。
-
OSS のライフサイクルルールにより、データを長期的に保持できます。
-
OSS のデータを E-MapReduce、Data Lake Analytics (DLA)、またはカスタムプログラムで処理できます。
配送データ
-
転送を有効化すると、Simple Log Service は転送インスタンスを同時に実行します。
-
転送インスタンスが作成された後、タスクのステータスを確認し、OSS に転送されたデータをチェックしてください。
Simple Log Service コンソールにログインします。
プロジェクト一覧で、目的のプロジェクトをクリックします。

-
タブで、対象の Logstore の左側にある > アイコンをクリックし、 を選択します。
-
Object Storage Service (OSS) にカーソルを合わせ、+ アイコンをクリックします。
-
OSS LogShipper パネルで、以下のパラメーターを設定し、OK をクリックします。
転送バージョン を 旧バージョン に設定し、以下のパラメーターを設定します。
パラメーター
説明
OSS 配送名
shipping タスクの名前。
OSS バケット
OSS バケットの名前です。
重要-
バケットは SLS プロジェクトと同じリージョンに存在し、Write-Once-Read-Many (WORM) が有効になっていてはなりません。WORM の詳細については、「バケットレベルの保持ポリシー (BucketWorm)」をご参照ください。
-
標準ストレージ、低頻度アクセス (IA)、アーカイブ、コールドアーカイブ、ディープコールドアーカイブストレージクラスのいずれかを持つバケットにデータを転送できます。生成される OSS オブジェクトのストレージクラスは、バケットのデフォルトのストレージクラスになります。詳細については、「ストレージクラス」をご参照ください。
-
標準ストレージ以外のストレージクラスには、最小保存期間と課金対象サイズがあります。要件を満たすストレージクラスを送信先バケットに選択してください。詳細については、「ストレージクラスの比較」をご参照ください。
OSS プレフィックス
OSS バケット内のディレクトリプレフィックスです。スラッシュ (/) またはバックスラッシュ (\) で開始できません。
Logstore のデータは、このディレクトリにターゲット OSS バケット内に転送されます。
パーティション形式
タスク作成時刻に基づいてディレクトリパスを動的に生成します。スラッシュ (/) で開始できません。デフォルト: %Y/%m/%d/%H/%M。例:「パーティション形式」。パラメーターのリファレンス:「strptime API」。
OSS 書き込み用 RAM ロール
転送タスクに OSS バケットへの書き込みアクセスを許可する RAM ロールです。
-
Default Role:データ転送ジョブが Alibaba Cloud システムロール
AliyunLogDefaultRoleを偽装して OSS バケットにデータを書き込むことを許可します。AliyunLogDefaultRoleの ARN を入力します。ARN の取得方法については、「デフォルトロールを使用したデータへのアクセス」をご参照ください。 -
Custom Role:データ転送ジョブがカスタム RAM ロールを偽装して OSS バケットにデータを書き込むことを許可します。
まず、カスタム RAM ロールに OSS バケットへのデータ書き込み権限を付与します。次に、OSS 書き込み RAM ロール フィールドに、カスタム RAM ロールの ARN を入力します。ARN の取得方法の詳細については、以下のトピックをご参照ください。
-
Logstore と OSS バケットが同じ Alibaba Cloud アカウントに属する場合、「手順 2:RAM ロールに OSS バケットへのデータ書き込み権限を付与する」をご参照ください。
-
Logstore と OSS バケットが異なる Alibaba Cloud アカウントに属する場合、「手順 2:Alibaba Cloud アカウント B の RAM ロール role-b に OSS バケットへのデータ書き込み権限を付与する」をご参照ください。
-
配送サイズ
シャードごとの最大非圧縮データサイズです。有効値:5~256 MB。
データがこのサイズに達すると、新しい転送インスタンスが作成されます。
ストレージ形式
OSS に保存されるデータのファイル形式です。サポートされる形式:「JSON 形式」、「CSV 形式」、「Parquet 形式」。
圧縮
OSS データの圧縮方法です。
-
なし:データは圧縮されません。
-
snappy:snappy アルゴリズムを使用してデータを圧縮し、OSS ストレージ使用量を削減します。
配送間隔
シャードごとの転送間隔です。有効値:300~900 秒。デフォルト:300 秒。
この間隔が経過すると、新しい転送インスタンスが作成されます。
-
OSS 内のデータの表示
データが OSS に正常に転送された後、OSS コンソール、API、SDK、またはその他のツールを使用してアクセスできます。詳細については、「ファイル管理」をご参照ください。
OSS オブジェクトパスは、次の形式になります。
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
この形式において、OSS-BUCKET はバケット名、OSS-PREFIX はディレクトリプレフィックス、PARTITION-FORMAT はstrptime API を使用して転送タスクの作成時刻から生成されたパーティションパス、RANDOM-ID は転送タスクの一意の ID です。
OSS ディレクトリはデータタイムスタンプではなく、転送タスクの作成時刻に基づきます。たとえば、2016-06-23 00:00:00 に作成されたタスクが 5 分ごとに 2016-06-22 23:55 以降に書き込まれたデータを転送する場合、2016-06-22 のすべてのデータを分析するには、2016/06/22 ディレクトリと 2016/06/23/00/ ディレクトリの最初の 10 分を確認する必要があります。
パーティション形式
各転送タスクは、形式 oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID の OSS ディレクトリに対応します。PARTITION-FORMAT はタスク作成時刻から導出されます。次の表は、2017/01/20 19:50:43 に作成されたタスクに基づく例を示しています。
|
OSS バケット |
OSS プレフィックス |
パーティション形式 |
OSS オブジェクトパス |
|
test-bucket |
test-table |
%Y/%m/%d/%H/%M |
oss://test-bucket/test-table/2017/01/20/19/50_1484913043351525351_2850008 |
|
test-bucket |
log_ship_oss_example |
year=%Y/mon=%m/day=%d/log_%H%M%S |
oss://test-bucket/log_ship_oss_example/year=2017/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet |
|
test-bucket |
log_ship_oss_example |
ds=%Y%m%d/%H |
oss://test-bucket/log_ship_oss_example/ds=20170120/19_1484913043351525351_2850008.snappy |
|
test-bucket |
log_ship_oss_example |
%Y%m%d/ |
oss://test-bucket/log_ship_oss_example/20170120/_1484913043351525351_2850008 説明
この形式は、Hive などのプラットフォームが OSS コンテンツを解析できない可能性があります。この形式は避けてください。 |
|
test-bucket |
log_ship_oss_example |
%Y%m%d%H |
oss://test-bucket/log_ship_oss_example/2017012019_1484913043351525351_2850008 |
Hive、MaxCompute、Alibaba Cloud Data Lake Analytics (DLA) などのビッグデータプラットフォームで OSS データを分析する場合は、パーティション情報を使用できるように、パーティション形式を key=value 形式に設定してください。たとえば、パス oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet では、year、mon、day の 3 つのパーティションカラムが定義されています。
配送タスクの管理
OSS Shipper ページでは、転送タスクの変更、無効化、再試行、およびタスクステータスとエラーメッセージの確認ができます。
-
配送タスクを変更する
設定 をクリックして、転送タスクを変更します。パラメーターの説明:「データ転送」。
-
転送タスクの無効化
無効化 をクリックして、転送タスクを停止します。
-
タスクステータスとエラーメッセージの確認
過去 2 日間の配送タスクとそのステータスを表示します。
-
タスクステータス
ステータス
説明
成功
転送タスクが正常に実行されています。
実行中
転送タスクが進行中です。しばらくしてから再度確認してください。
失敗
外部エラーによりタスクが失敗し、自動再試行できません。エラーメッセージに基づいてトラブルシューティングを行い、再試行してください。
-
エラーメッセージ
転送タスクが失敗すると、コンソールにエラーメッセージが表示されます。
エラーメッセージ
原因
解決策
UnAuthorized
必要な権限がありません。
以下の点を確認してください。
-
OSS バケットの所有者が AliyunLogDefaultRole ロールを作成していること。
-
ロールの信頼ポリシー内の Alibaba Cloud アカウント ID が正しいこと。
-
AliyunLogDefaultRole ロールが OSS バケットへの書き込み権限を持っていること。
-
RAM ロールの ARN が正しいこと。
ConfigNotExist
構成が存在しません。
このエラーは通常、転送タスクが無効化されているために発生します。タスクを再度有効化して、再試行してください。
InvalidOssBucket
OSS バケットが存在しません。
以下の点を確認してください。
-
OSS バケットが Simple Log Service プロジェクトと同じリージョンにあること。
-
バケット名は正しいです。
InternalServerError
Simple Log Service 内で内部エラーが発生しました。
タスクを再試行してください。
-
-
タスクの再試行
Simple Log Service は、過去 2 日間に失敗したタスクを指数バックオフ(15 分、30 分、60 分など)で自動的に再試行します。
失敗したタスクをすぐに再試行するには、すべての失敗したタスクを再試行 をクリックするか、対象のタスクの横にある 再実行 をクリックするか、API または SDK を使用して特定のタスクを再試行します。
-