Logstash を使用して Simple Log Service からデータを取り込むことができます。Simple Log Service Simple Log Service を設定して、Simple Log Service からデータを取得し、Kafka や HDFS などの他のシステムに書き込みます。
特長
-
分散消費:複数のサーバーを設定して、単一の Logstore から同時にデータを消費します。
-
ハイパフォーマンス:Java コンシューマーグループの実装に基づき、単一のコアで最大 20 MB/s の非圧縮データを消費できます。
-
高信頼性:消費の進捗状況はサーバーに保存されます。例外が発生した場合、消費は最後のチェックポイントから自動的に再開されます。
-
自動負荷分散:シャードはコンシューマーの数に基づいて自動的に割り当てられます。コンシューマーが追加または削除されると、負荷は自動的に再分散されます。
操作手順
Logstash から、ご利用のオペレーティングシステム用の Logstash インストールパッケージをダウンロードします。
このトピックでは、Linux システムを例として使用します。
-
Logstash をインストールします。詳細については、「Logstash」をご参照ください。
-
公開署名キーをダウンロードしてインストールします。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch -
/etc/yum.repos.d/ディレクトリに、.repo拡張子を持つファイル (例:logstash.repo) を作成し、次の内容を追加します。[logstash-9.x] name=Elastic repository for 9.x packages baseurl=https://artifacts.elastic.co/packages/9.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md -
Logstash をダウンロードしてインストールします。
sudo yum install logstash
-
-
入力プラグインをインストールします。
-
logstash-input-sls から入力プラグインをダウンロードします。
-
入力プラグインをインストールします。
/usr/share/logstash/bin/logstash-plugin install logstash-input-sls.zip説明インストールの失敗の可能性とその解決策については、「プラグインのインストールと設定」をご参照ください。
-
-
logstashユーザーを作成します。Logstash は root ユーザー以外で実行する必要があります。-
logstashユーザーを作成します。sudo adduser --system --no-create-home --group logstash -
logstash ユーザーの権限を設定します。
/usr/share/logstash、/etc/logstash、/var/log/logstashなどの関連する Logstash ディレクトリがlogstashユーザーによって所有されていることを確認します。sudo chown -R logstash:logstash /usr/share/logstash /etc/logstash /var/log/logstash -
logstashユーザーが作成されたことを確認します。id logstash出力には
logstashユーザーのユーザー ID (UID) とグループ ID (GID) が表示され、ユーザーが正常に作成されたことを確認できます。[root@iZxxx ~]# id logstash uid=995(logstash) gid=992(logstash) groups=992(logstash)
-
-
logstashユーザーとして Logstash を起動します。-
/etc/logstashディレクトリに、.conf 拡張子を持つファイルを作成します。このトピックでは、logstash-sample.confを例として使用します。 -
logstash-sample.confファイルにサンプルコードを追加し、logstashユーザーとして Logstash を起動します。sudo -u logstash /usr/share/logstash/bin/logstash -f /etc/logstash/logstash-sample.conf次の例では、Logstore からデータを消費し、標準出力に出力するように Logstash を設定します。次の表にパラメーターを示します。
パラメーター
サンプルコード
input { logservice{ endpoint => "your project endpoint" access_id => "your_accesskey_id" access_key => "your_accesskey_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 {} }endpoint
string(必須)SLS プロジェクトのサービスエンドポイント。 詳細については、「サービスエンドポイント」をご参照ください。
access_id
string(必須)ご利用の Alibaba Cloud アカウントの AccessKey ID。このキーには、コンシューマーグループを管理する権限が必要です。詳細については、「Logstore からデータを消費する権限の付与」をご参照ください。
access_key
string(必須)ご利用の Alibaba Cloud アカウントの AccessKey Secret。このキーには、コンシューマーグループを管理する権限が必要です。詳細については、「Logstore からデータを消費する権限の付与」をご参照ください。
project
string(必須)SLS プロジェクトの名前。
logstore
string(必須)SLS Logstore の名前。
consumer_group
string(必須)コンシューマーグループの名前。
consumer_name
string(必須)コンシューマーの名前。名前はコンシューマーグループ内で一意である必要があります。
position
string(必須)消費開始位置。
-
begin:Logstore の最初のエントリから消費を開始します。
-
end:現在の時刻から消費を開始します。
-
yyyy-MM-dd HH:mm:ss:特定の時点から消費を開始します。
checkpoint_second
number(オプション)チェックポイントを保存する間隔 (秒単位)。推奨範囲は 10~60 です。値は 10 以上である必要があります。デフォルト:30。
include_meta
boolean(オプション)ソース、時間、タグ、トピックなどのメタデータを含めるかどうかを指定します。デフォルト:true。
consumer_name_with_ip
boolean(オプション)コンシューマー名に IP アドレスを追加するかどうかを指定します。このパラメーターは、分散消費の場合に true に設定する必要があります。デフォルト:true。
-
-