すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:セルフマネージド Logstash クラスターを使用した Alibaba Cloud Elasticsearch クラスターへのデータ移行

最終更新日:Apr 21, 2026

Logstash は、リアルタイムでデータをフィルタリングし、転送できるオープンソースのデータ収集エンジンです。データ移行のリアルタイム性能に対する要件が高くない場合は、Logstash を使用してデータを移行できます。このトピックでは、Alibaba Cloud Elastic Compute Service (ECS) を使用してセルフマネージド Logstash クラスターをデプロイする方法、および Logstash クラスターを使用してログファイル内のデータを Alibaba Cloud Elasticsearch クラスターに移行する方法について説明します。

前提条件

  • Alibaba Cloud Elasticsearch クラスターが作成され、クラスターの自動インデックス作成機能が有効になっていること。

    説明
  • ECS インスタンスが作成されていること。ECS インスタンスは、Elasticsearch クラスターとセルフマネージド Logstash クラスターの両方に接続できる必要があります。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    説明

    Elasticsearch クラスターと同じリージョン、ゾーン、および virtual private cloud (VPC) 内に ECS インスタンスを作成することを推奨します。

  • ECS インスタンスに JDK がインストールされていること。詳細については、「JDK のインストール」をご参照ください。

    説明

    JDK は Temurin 17 以降である必要があります。Java JDK のバージョンと Logstash のバージョンの互換性の詳細については、「Logstash と JVM の互換性」をご参照ください。

  • 移行対象のデータが準備されていること。この例では、ECS のログデータを使用します。

操作手順

ステップ 1: (任意) ロールとユーザーの作成

セルフマネージド Logstash インスタンスが Elasticsearch クラスターにアクセスし、Kibana コンソールで Logstash のモニタリングデータを表示するには、Elasticsearch アカウントが必要です。組み込みの elastic ユーザーまたはカスタムユーザーのいずれかを使用できます。

説明

実際の業務では、カスタムユーザーを使用することを推奨します。カスタムユーザーを使用する前に、必要な権限を持つロールをユーザーに割り当てる必要があります。実際の業務で elastic ユーザーを使用すると、システムのセキュリティが確保できません。

ロールの作成

このセクションでは、logstash-* パターンに一致するインデックスに対する読み取りおよび書き込み権限を持つロールを作成する方法について説明します。

  1. Elasticsearch クラスターの Kibana コンソールにログインします。

    詳細については、「Kibana コンソールへのログイン」をご参照ください。

  2. 表示されたページの左上隅にある image アイコンをクリックし、管理 > スタック管理 を選択します。

  3. 左側のナビゲーションウィンドウで、セキュリティ > ロール を選択します。

  4. ロール ページで、ロールの作成 をクリックし、ロールのパラメーターを設定します。

    次の表に、表示される一部のパラメーターを示します。

    パラメーター

    説明

    ロール名

    ロールの名前。カスタム名を入力します。

    インデックス

    管理するインデックス。logstash-* を選択します。

    権限

    ロールに付与する権限。readwritecreatedeletecreate_index を選択します。

  5. ロールの作成 をクリックします。

ユーザーの作成

この例では、Logstash をモニタリングするためのユーザーを作成します。次のいずれかの方法でユーザーを作成できます。

重要

デフォルトでは、Alibaba Cloud Elasticsearch は組み込みの logstash_system ユーザーを無効にします。新しいユーザーを作成し、そのユーザーに logstash_system ロールを割り当てる必要があります。新しいユーザーに logstash_system という名前を付けないでください。

  • 方法 1: Kibana コンソールでユーザーを作成する

    1. Elasticsearch クラスターの Kibana コンソールにログインします。

      詳細については、「Kibana コンソールへのログイン」をご参照ください。

    2. 表示されたページの左上隅にある image アイコンをクリックし、管理 > スタック管理 を選択します。

    3. 左側のナビゲーションウィンドウで、セキュリティ > ユーザー を選択します。

    4. ユーザー ページで、右上隅にある ユーザーの作成 をクリックします。

    5. ユーザーの作成 ページで、パラメーターを設定します。

      次の表に、表示される一部のパラメーターを示します。

      パラメーター

      説明

      ユーザー名

      ユーザーの名前。カスタム名を入力します。例:logstash_system_monitor

      ロール

      ユーザーに割り当てられるロール。logstash_system を選択します。

    6. ユーザーの作成 をクリックします。

  • 方法 2: コマンドラインインターフェイス (CLI) を使用してユーザーを作成する

    ECS インスタンスに接続し、次のコマンドを実行してユーザーを作成します。

    curl -u elastic:<es-password> -XPOST http://<instanceId>.elasticsearch.aliyuncs.com:9200/_xpack/security/user/logstash_system_monitor -d '{"password" : "<logstash-monitor-password>","roles" : ["logstash_system"],"full_name" : "<your full name>"}'

    パラメーター

    説明

    es-password

    Elasticsearch クラスターのパスワード。このパスワードは、クラスターの Kibana コンソールへのログインにも使用されます。

    <instanceId>

    Elasticsearch クラスターの ID。クラスター ID は、Elasticsearch クラスターの [基本情報] ページで照会できます。

    <logstash-monitor-password>

    logstash_system_monitor ユーザーのパスワード。

    <your full name>

    ユーザーのフルネーム。

    ユーザーが作成されると、次の図に示す結果が返されます。添加用户成功

ステップ 2: ECS インスタンスへの Logstash のインストール

  1. ECS インスタンスに接続します。

    詳細については、「接続方法」をご参照ください。

  2. Logstash インストールパッケージをダウンロードします。

    Elastic の Web サイトにアクセスし、Elasticsearch クラスターと同じバージョンの Logstash インストールパッケージをダウンロードします。

    wget https://artifacts.elastic.co/downloads/logstash/logstash-8.5.1-linux-x86_64.tar.gz
    説明

    Logstash V7.4 のコマンド:

    wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.0.tar.gz
  3. Logstash インストールパッケージを解凍します。

    この例では、Logstash V8.5.1 を使用します。

    tar -xzvf logstash-8.5.1-linux-x86_64.tar.gz

ステップ 3: Logstash パイプラインの設定と実行

  1. Logstash ディレクトリに移動します。

    cd logstash-8.5.1
  2. .conf ファイルを作成します。

    touch test.conf
  3. test.conf ファイルを設定します。

    次のサンプルコードは設定例です。

    input {
        file {
            path => "/your/file/path/xxx"
            }
    }
    filter {
    }
    output {
      elasticsearch {
        hosts => "<http://<instanceId>.elasticsearch.aliyuncs.com:9200>"
      	index => "<index-name>"
        user => "<user-name>"
        password => "<logstash-password>"
      }
    }

    パラメーター

    説明

    path

    ログファイルのパス。この例では、/var/log/messages を使用します。

    hosts

    ご利用の Alibaba Cloud Elasticsearch クラスターのエンドポイント。instanceId をご利用のインスタンスの ID に置き換えます。例:http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200

    index

    ログファイル内のデータが書き込まれるインデックスの名前。カスタム名を指定できます。

    user

    Elasticsearch クラスターへのアクセスに使用するユーザー名。この例では、elastic を使用します。

    重要
    • システムのセキュリティを確保するため、実際の業務では elastic ユーザーの代わりにカスタムユーザーを使用することを推奨します。

    • Logstash パイプラインを実行する際に、ユーザー名に含まれる特殊文字による潜在的なエラーを回避するため、ユーザー名は二重引用符 (") で囲む必要があります。

    password

    Elasticsearch クラスターへのアクセスに使用するパスワード。

    重要

    Logstash パイプラインを実行する際に、パスワードに含まれる特殊文字による潜在的なエラーを回避するため、パスワードは二重引用符 (") で囲む必要があります。

    Logstash はさまざまな入力、フィルター、出力プラグインを提供しています。データ転送のためにこれらのプラグインを簡単に設定するだけで済みます。詳細については、「設定ファイルの構造」をご参照ください。

  4. Logstash パイプラインを実行します。

    bin/logstash -f test.conf

    コマンドが正常に実行されると、Logstash はログファイルの変更を自動的に検出し、その変更を Elasticsearch クラスターに同期します。監視対象のログファイルにデータが追加されるたびに、Logstash は自動的にデータを Elasticsearch クラスターに同期します。

ステップ 4: 移行されたデータの表示

  1. Elasticsearch クラスターの Kibana コンソールにログインします。

    詳細については、「Kibana コンソールへのログイン」をご参照ください。

  2. 表示されたページの左上隅にある image アイコンをクリックし、管理 > 開発ツール を選択します。

  3. 表示されたページの コンソール タブで、次のコマンドを実行します。

    GET /logstash-*/_search

ステップ 5: (任意) Logstash ノードのモニタリング

  1. Logstash ディレクトリ内の config フォルダに移動します。

    cd logstash-8.5.1/config
  2. logstash.yml ファイルを設定します。

    1. logstash.yml ファイルを開きます。

      vim logstash.yml
    2. logstash.yml ファイルで、次の表にリストされているパラメーターのコメントを解除し、パラメーターを設定します。

      xpack.monitoring.enabled:true
      xpack.monitoring.elasticsearch.username:"<user-name>"
      xpack.monitoring.elasticsearch.password:"<logstash-password>"
      xpack.monitoring.elasticsearch.hosts:["http://es-cn-nwy3fwjp8xxxxxxx.elasticsearch.aliyuncs.com:9200"]

      パラメーター

      説明

      xpack.monitoring.enabled

      このパラメーターを true に設定します。デフォルト値は false です。

      xpack.monitoring.elasticsearch.username

      Logstash のモニタリング用に作成したユーザーの名前。この例では、elastic ユーザーを使用します。

      重要

      システムのセキュリティを確保するため、実際の業務では elastic ユーザーの代わりにカスタムユーザーを使用することを推奨します。

      xpack.monitoring.elasticsearch.password

      Logstash のモニタリング用に作成したユーザーのパスワード。

      xpack.monitoring.elasticsearch.hosts

      ご利用の Alibaba Cloud Elasticsearch クラスターのエンドポイント。例:http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200

  3. Logstash ディレクトリに移動し、Logstash サービスを起動します。

    cd ../
    bin/logstash -f test.conf
  4. Elasticsearch クラスターの Kibana コンソールにログインします。

    詳細については、「Kibana コンソールへのログイン」をご参照ください。

  5. 表示されたページの左上隅にある image アイコンをクリックし、管理 > スタックのモニタリング を選択します。

  6. (任意) ルールの作成 ダイアログボックスで、OK をクリックします。

  7. クラスターの概要 ページで、Logstash のモニタリングデータを表示します。

参考資料