【Elastic】Ubuntu環境でLogstashを実行する

【Elastic】Ubuntu環境でLogstashを実行する

2023-09-04

2024-08-13

Docker Ubuntu

Docker Hubから最新のUbuntuイメージをプルするコマンド

  • docker pull はレジストリからDockerイメージをダウンロードするコマンドです。
  • ubuntu:latest はイメージ名とタグを指定するものです。この場合、Ubuntuイメージの最新バージョンをプルします。
docker pull ubuntu:latest

イメージをプルした後、Docker Scoutからのイメージの脆弱性と推奨事項のサマリーが表示されます。 この情報は次のコマンドで確認できます

docker scout quickview ubuntu:latest

Bash ShellでのUbuntuコンテナの起動

  • docker run はイメージから新しいコンテナを作成し、起動するためのコマンドです。
  • -it はコンテナのインタラクティブモードと仮想TTY(ターミナル)を有効にするオプションです。
  • --name=logstash でコンテナに”logstash”という名前を割り当てます。
  • ubuntu:latest はコンテナに使用するイメージを指定します。
  • /bin/bash はコンテナ内で実行するコマンドで、Bashシェルを起動します。
docker run -it --name=logstash ubuntu:latest /bin/bash

このコマンドを実行した後、Ubuntuコンテナの中にrootユーザーとして入ります(root@<container_id>:/)。コンテナ内でコマンドを実行して、Ubuntu環境での操作が可能です。

Ubuntuのリポジトリのパッケージリストを更新

apt-get update

必要なパッケージのインストール

このコマンドは指定されたパッケージとその依存関係をインストールします。-yオプションはインストールプロセス中のプロンプトを自動で確認するためのものです。

apt-get install -y wget sudo gpg systemctl apt-transport-https vim

Logstashのセットアップコマンド

  1. Ubuntuのリポジトリのパッケージリストを更新 このコマンドは、指定したURLからElasticsearchのアーティファクトのGPG署名キーをダウンロードし、apt-key addコマンドを使用してキーリングに追加します。apt-keyの非推奨に関する警告が表示されますが、キーは正常に追加されます。

    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    
  2. sources.listにElasticリポジトリを追加 このコマンドは、追加のAPTパッケージリポジトリを含むsources.list.dディレクトリにElasticリポジトリのURLを追加します。

    echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
    
  3. パッケージリストの更新 説明: このコマンドは、新しく追加されたElasticリポジトリを含む、すべての設定されたリポジトリからのパッケージリストを更新します。

    sudo apt-get update
    
  4. Logstashのインストール 説明: このコマンドは、Elastic Stackのデータ処理コンポーネントであるLogstashをインストールします。

    sudo apt-get install logstash
    

Logstashの設定をセットアップ

  1. /usr/share/logstash/ディレクトリに移動 このコマンドは、Logstashの設定ファイルを作成するための現在の作業ディレクトリを/usr/share/logstash/に変更します。

    cd /usr/share/logstash/
    
  2. logsディレクトリの作成 説明: このコマンドは、ログファイルを保存するためのlogsという新しいディレクトリを/usr/share/logstash/内に作成します。

    mkdir logs
    
  3. test.logというテストログファイルの作成と編集

    sudo vi logs/test.log
    

    test.logの内容

    {"test": "test1", "test2": "test2", "test3": "test3"}
    
  4. pipelineディレクトリの作成

    mkdir pipeline
    
  5. logstash.confの作成と編集

    sudo vi pipeline/logstash.conf
    

    logstash.confの内容

    input {
      file {
        path => "/usr/share/logstash/logs/test.log"
        start_position => "beginning"
        sincedb_path => "/dev/null"
        codec => "json"
      }
    }
    
    output {
      stdout { codec => rubydebug }
    }
    

Logstashを実行

/usr/share/logstash/bin/logstash -f /usr/share/logstash/pipeline/logstash.conf

出力

{
        "host" => "000000000000",
    "@version" => "1",
        "test2" => "test2",
        "path" => "/usr/share/logstash/logs/test.log",
  "@timestamp" => 2023-00-00T00:00:00.000Z,
        "test" => "test1",
        "test3" => "test3"
}

Recommend