0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Logstashを利用して S3に保管されたログを別システムへ転送する

Last updated at Posted at 2024-12-20

概要

S3はログファイルを格納するストレージとして利用されることが多いです。
本記事では、S3に格納されたログファイルの内容を別システムへ転送するための手順を記載します。

環境

本手順で取り扱う内容は、次の環境にて確認しています。

  • Logstash
    マシン:Amazon EC2
    マシンサイズ:2vCPU 2GB
    OS:Ubuntu 24.04
    Logstash:8.17.0

構成図は次のようになります。
image.png

S3バケットに随時格納されていくログファイルの内容をLogstashによって読み取り、別システムへ転送する仕組みです。

前提条件

  • S3バケットは作成済みであること
  • Logstashをインストールするマシンは作成済みであること

手順

Logstashインストール

Logstashのガイドに従ってください。
次のコマンドでは、Ubuntu24.04にLogstashをインストールします。

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg
$ sudo apt-get install apt-transport-https
$ echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
$ sudo apt-get update && sudo apt-get install logstash

Logstash セットアップ

/etc/logstash/conf.d/logstash.confファイルを作成して下さい。

$ sudo vi /etc/logstash/conf.d/logstash.conf

ファイルの中身を書き換えて下さい。
次のlogstash.confはサンプルになります。
各パラメータの詳細が知りたい場合は、ドキュメントを参照して下さい。
S3 input plugin
Http output plugin

input {
  s3 {
    access_key_id => "<YOUR-AWS-ACCESSKEY>"
    secret_access_key => "<YOUR-AWS-SECRETACCESSKEY>"
    region => "<YOUR-REGION>"
    bucket => "<YOUR-S3BUCKET>"
    interval => "10"
    delete => false
    watch_for_new_files => true
    include_object_properties => false
    codec => multiline {
      pattern => "^\s|^}"
      what => "previous"
    }
  }
}

output {
  http {
    http_method => "post"
    url => "<YOUR-ENDPOINT>"
    headers => { "Authorization" => "Bearer <YOUR-ACCESSTOKEN>" }
    content_type => "application/json"
  }
}

Logstashを起動して下さい。

$ sudo systemctl start logstash

動作確認

S3バケットにログファイルをアップロードし、
転送先システムにて、ログが受信できていることを確認して下さい。
もし、受信できていない場合、Logstashログ(/var/log/logstash/logstash-plain.log)を確認することが有効です。

補足

  • Logstashのバージョン確認コマンド
$ /usr/share/logstash/bin/logstash --version
  • Logstash自動起動 有効化設定
    ※デフォルトでは無効となっています。
$ sudo systemctl enable logstash

参考

https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-s3.html
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-http.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?