Simple Log Serviceでは、Logstashを使用してログデータを消費できます。 Logstash入力プラグインを設定して、Simple log Serviceからログデータを読み取り、KafkaやHadoop分散ファイルシステム (HDFS) などの他のシステムにデータを書き込むことができます。
特徴
分散型の共同使用: 複数のサーバーを設定して、Logstoreのログデータを同時に使用できます。
高性能: Javaコンシューマグループを使用する場合、シングルコアCPUの消費速度は20メガバイト/秒に達する可能性があります。
高い信頼性: シンプルなLog Serviceは、消費チェックポイントを節約します。 このメカニズムは、消費例外が解決された後、最後のチェックポイントからログ消費を再開します。
自動負荷分散: シャードは、コンシューマーグループ内のコンシューマーの数に基づいて自動的に割り当てられます。 コンシューマーがコンシューマーグループに参加または退場すると、シャードは自動的に再割り当てされます。
手順
Logstashをインストールします。
ダウンロードしたパッケージを指定したディレクトリに解凍します。
Logstash入力プラグインをインストールします。
Logstash入力プラグインをダウンロードします。 プラグインをダウンロードするには、logstash-input-slsをご参照ください。
Logstash入力プラグインをインストールします。
logstash-plugin install logstash-input-sls
説明インストールの失敗の原因と解決策については、「プラグインのインストールと設定」をご参照ください。
Logstashを起動します。
logstash -f logstash.conf
下表に、各パラメーターを説明します。
パラメーター
データ型
必須
説明
エンドポイント
String
課金されます
Simple Log Serviceプロジェクトが存在するリージョンのエンドポイント。 詳細については、「エンドポイント」をご参照ください。
access_id
String
課金されます
コンシューマーグループへのアクセスに使用されるAlibaba CloudアカウントまたはRAMユーザーのAccessKey ID。 詳細については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。
access_key
String
課金されます
コンシューマーグループへのアクセスに使用されるAlibaba CloudアカウントまたはRAMユーザーのAccessKeyシークレット。 詳細については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。
project
String
課金されます
Simple Log Serviceプロジェクトの名前。
logstore
String
課金されます
Simple Log Service Logstoreの名前。
consumer_group
String
課金されます
消費者グループの名前です。
consumer_name
String
課金されます
コンシューマーの名前。 名前は、コンシューマグループ内で一意である必要があります。
位置
String
課金されます
データ消費が開始される位置。 有効な値:
begin: Logstoreに書き込まれた最初のログのデータを消費します。
end: 現在時刻からデータを消費します。
yyyy-MM-dd HH:mm:ss: 指定された時点のデータを消費します。
checkpoint_second
数値
課金されません
チェックポイントが記録される間隔。 間隔を10秒から60秒の間の値に設定することを推奨します。 最小値: 10。 デフォルト値:30。 単位は秒です。
include_meta
Boolean
課金されません
ログに、ログソース、時刻、タグ、トピックフィールドなどのメタデータが含まれるかどうかを指定します。 デフォルト値:true
consumer_name_with_ip
Boolean
課金されません
コンシューマ名にIPアドレスを含めるかどうかを指定します。 デフォルト値:true 分散コラボレーティブ消費を適用する場合は、このパラメーターをtrueに設定する必要があります。
例
次のコードは、Logstoreからログデータを消費し、そのデータを標準出力 (stdout) に出力するようにLogstashを設定する方法の例を示しています。
プロジェクトコードにAccessKey IDまたはAccessKey secretを保存しないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を設定することを推奨します。 詳細については、「環境変数の設定」をご参照ください。
input {
logservice{
endpoint => "your project endpoint"
// Configure environment variables. In this example, the AccessKey ID and AccessKey secret are obtained from environment variables.
access_id => process.env.ALIBABA_CLOUD_ACCESS_KEY_ID
access_key => process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
project => "your project name"
logstore => "your logstore name"
consumer_group => "consumer group name"
consumer_name => "consumer name"
position => "end"
checkpoint_second => 30
include_meta => true
consumer_name_with_ip => true
}
}
output {
stdout {}
}