7. コンテンツにスキップ

7. Elasticsearch連携機能のアップデート

本手順では、Elasticsearch連携機能のモジュールをアップデートする手順について説明します。

Info

本手順の前に「4 Linux版 Elasticsearchの導入」「5 Windows版 Elasticsearchの導入」を実施している場合は、Elasticsearch連携機能のモジュールが最新版となっているため、本手順は実施不要です。

Info

アップデート時のパッチにより、手順内に記載されているディレクトリが存在しない場合があります。ディレクトリが存在しない場合は、手順をスキップしてください。

7.1 Linux版アップデート

7.1.1 Logstashの確認

  1. 以下のコマンドを実行し、サービスの状態を確認します。

    • コマンド
      systemctl status logstash
      
  2. 出力内容中に以下の内容が表示されることを確認します。

    Active: inactive (dead)
    
  3. 停止されていない場合は、以下のコマンドを実行し、サービスを停止します。

    • コマンド
      systemctl stop logstash
      

7.1.2 モジュール適用

  1. Patchディレクトリに含まれるlogstashディレクトリ、logstash-definitionsディレクトリ、elasticsearch-definitionsディレクトリをサーバーの任意のディレクトリに格納します。

  2. インストールするサーバーに管理者権限のアカウントでログインします。

  3. データクローラの設定行います。 本手順は、手順「4.1.2.5 データクローラの設定」を実施してください。

  4. logstash ディレクトリをバックアップします。

    バージョンアップ失敗時の復旧に使用するバックアップを行います。 /tmp/ディレクトリ配下にlogstash_yyyymmdd(実行日付)のディレクトリのバックアップを取得します。

    • コマンド
      cp -fr /opt/logstash/sql `date +/tmp/logstash_%Y%m%d`
      

    以降の手順で問題が発生した場合は、以下のコマンドを実行後「8.既にモジュールが配置済みの場合以下のメッセージが表示されるので"y"を指定し上書きします。」以降の手順を実施してください。なお、モジュールをリストアした場合もElasticsearchの情報を再取得する必要があります。リストア後「7.1.5 取り込み履歴の削除」から「7.1.10 全文検索機能の確認」までの手順についても実施してください。

    例)/tmp/logstash_20210305/ディレクトリへバックアップした場合

    • コマンド
      cp -fr /tmp/logstash_20210305/ /opt/logstash/sql
      
  5. /etc/logstash/conf.dディレクトリをバックアップします。

    バージョンアップ失敗時の復旧に使用するバックアップを行います。 /tmp/ディレクトリ配下にlogstash-definitions_yyyymmdd(実行日付)のディレクトリのバックアップを取得します。

    • コマンド
      cp -fr /etc/logstash/conf.dl `date +/tmp/logstash-definitions_%Y%m%d`
      

    以降の手順で問題が発生した場合は、以下のコマンドを実行後「8.既にモジュールが配置済みの場合以下のメッセージが表示されるので"y"を指定し上書きします。」以降の手順を実施してください。なお、モジュールをリストアした場合もElasticsearchの情報を再取得する必要があります。リストア後「7.1.5 取り込み履歴の削除」から「7.1.10 全文検索機能の確認」までの手順についても実施してください。

    例)/tmp/logstash_20210305/ディレクトリへバックアップした場合

    • コマンド
      cp -fr /tmp/logstash-definitions_20210305/ /etc/logstash/conf.d
      
  6. Kibanaで作成したオブジェクトをバックアップします。 Kibana連携を利用している場合は以下の手順を実施してください Kibana連携ガイドの「1.7.2 オブジェクトのインポート・エクスポート」エクスポート手順を実施してください。 以降の手順で問題が発生した場合は、Kibana連携ガイドの「1.7.2 オブジェクトのインポート・エクスポート」インポート手順を実施してください。

  7. logstash/sql ディレクトリをコピーして/opt/logstash/sql配下に格納します。

    例)/tmp/ディレクトリへ配置した場合は、以下のコマンドを実行します。

    • コマンド
      cp -fr /tmp/logstash/sql/ /opt/logstash/sql/
      
  8. 既にモジュールが配置済みの場合以下のメッセージが表示されるので"y"を指定し上書きします。

    例) モジュールがget_sm_data_from_process_fil.sqlの場合

    • .cp: `/opt/logstash/sql/postgresql/get_sm_data_from_process_fil.sql\' を上書きしますか?
  9. 所有者およびグループをlogstash ユーザーに変更します。

    • コマンド
      chown -R logstash:logstash /opt/logstash
      

7.1.3 インデックスの削除

本手順は、手順「12.1.1 Linux版 Elasticsearchの場合」を実施してください

7.1.4 インデックスの作成

本手順は、手順「4.1.2.6 インデックスの作成」を実施してください

7.1.5 取り込み履歴の削除

本手順は、手順「12.1.1 Linux版 Elasticsearchの場合」を実施してください

7.1.6 Logstashの設定

本手順は、手順「4.1.3.2 Logstashの設定」を実施してください

7.1.7 サービスの起動

サービスを起動します。

  • コマンド
    systemctl start logstash
    

以下のコマンドを実行し、サービスの状態を確認します。

  • コマンド
    systemctl status logstash
    

出力内容中に以下の内容が表示されることを確認します。

Active: active (running)

7.1.8 取り込み履歴の確認

  1. Logstashの取り込み履歴ファイル格納ディレクトリに移動します。

    • コマンド
      cd /opt/logstash/conf
      

    ※上記パスはデフォルト設定先になります。履歴ファイルの格納場所については、以下のファイル内容に記載されている"last_run_metadata_path =>"の設定値をご確認ください。

    • <ディレクトリ> /etc/logstash/conf.d/

      ファイル名 説明
      logstash-postgresql.conf 設定ファイル(プロセス管理)
      logstash-postgresql_ci.conf 設定ファイル(構成管理)
      logstash-postgresql-faq.conf 設定ファイル(FAQ)
      logstash-postgresql-filelibrary.conf 設定ファイル(ファイルライブラリ)
  2. 履歴ファイルを確認します。

    • コマンド
      ls -a
      

    以下の内容が出力されることを確認します。

    .logstash_postgresql_ci_fil_last_run 
    .logstash_postgresql_faq_fil_last_run 
    .logstash_postgresql_file_library_fil_last_run 
    .logstash_postgresql_process_fil_last_run   
    .logstash_postgresql_process_sub_fil_last_run 
    .logstash_postgresql_process_table_item_1_fil_last_run 
    .logstash_postgresql_process_table_item_2_fil_last_run 
    .logstash_postgresql_process_table_item_3_fil_last_run 
    .logstash_postgresql_process_table_item_4_fil_last_run 
    .logstash_postgresql_process_table_item_5_fil_last_run
    
  3. Logstashのキューファイル格納ディレクトリに移動します。

    • コマンド
      cd /var/lib/logstash/
      
  4. キューファイルを確認します。

    • コマンド
      ls
      

    以下の内容が出力されることを確認します。

    queue  uuid
    
  5. インデックス情報を確認します。

    curl -XGET [protocol]://[hostname]:[portnumber]/_aliases?pretty
    

    例)Elasticsearch への接続情報でプロトコルを[protocol] → http、ホスト名を[hostname] → eshost、ポート番号を[portnumber] → 9200とした場合は、以下のコマンドを実行します。

    • コマンド
      curl -XGET http://eshost:9200/_aliases?pretty
      

    以下の結果が出力されることを確認します

    {
        "ssm" : {
            "aliases" : { }
        },
        "ssm_ci" : {
            "aliases" : { }
        },
        "ssm_faq" : {
            "aliases" : { }
        },
        "ssm_filelibrary" : {
            "aliases" : { }
        }
    }
    

7.1.9 ログ情報の確認

  1. 以下のログファイルの内容を確認します。

    <確認ファイルパス>

    /var/log/logstash/logstash-plain.log

  2. Logstashサービス起動後の時間帯にエラー出力がないことを確認します。

7.1.10 全文検索機能の確認

  1. Senju/SMにログインし、全文検索機能の動作を確認します。

  2. 検索結果として、値が取得可能なことを確認します。

7.1.11 Kibana機能の確認

Kibana連携を利用している場合は本手順を実施してください。

  1. Kibana機能の動作確認をします。

  2. 分析レポートが出力されることを確認します。

7.2 Windows版アップデート

7.2.1 Logstashの確認

  1. 以下のコマンドを実行し、サービスの状態を確認します。

    • コマンド
      cd %nssm_home%\win64
      nssm status Logstashサービス名
      
  2. 出力内容中に以下の内容が表示されることを確認します。

    SERVICE_STOPPED
    
  3. 停止されていない場合は、以下のコマンドを実行し、サービスを停止します。

    • コマンド
      cd %nssm_home%\win64
      nssm stop Logstashサービス名
      

7.2.2 モジュール適用

  1. Patchディレクトリに含まれるlogstashディレクトリ、logstash-definitionsディレクトリ、elasticsearch-definitionsディレクトリをサーバーの任意のディレクトリに格納します。

  2. インストールするサーバーに管理者権限のアカウントでログインします。

  3. データクローラの設定を行います。

    本手順は、手順「5.2.4 データクローラの設定」を実施してください。

  4. logstash ディレクトリをバックアップします。

    バージョンアップ失敗時の復旧に使用するバックアップを行います。

    %logstash_home%\logstash\sqlのディレクトリを任意のフォルダにコピーします。

    ※%logstash_home%は\logstash-8.17.2を格納した先を指します。

    以降の手順で問題が発生した場合は、モジュールをリストアしてください。

    なお、モジュールをリストアした場合もElasticsearchの情報を再取得する必要があります。 リストア後「7.2.5 取り込み履歴の削除」から「7.2.10 全文検索機能の確認」までの手順についても実施してください。

  5. logstash-definitionsディレクトリをバックアップします。

    バージョンアップ失敗時の復旧に使用するバックアップを行います。

    %logstash_home%\logstash-definitions ディレクトリを任意のフォルダにコピーします

    ※%logstash_home%は\logstash-8.17.2を格納した先を指します。

    以降の手順で問題が発生した場合は、モジュールをリストアしてください。

    なお、モジュールをリストアした場合もElasticsearchの情報を再取得する必要があります。 リストア後「7.2.5 取り込み履歴の削除」から「7.2.10 全文検索機能の確認」までの手順についても実施してください。

  6. Kibanaで作成したオブジェクトをバックアップします。

    Kibana連携を利用している場合は以下の手順を実施してください Kibana連携ガイドの「1.7.2 オブジェクトのインポート・エクスポート」エクスポート手順を実施してください。 以降の手順で問題が発生した場合は、Kibana連携ガイドの「1.7.2 オブジェクトのインポート・エクスポート」インポート手順を実施してください。

  7. logstash/sql ディレクトリをコピーして%logstash_home%\logstash\sql配下に格納します。

  8. 既にモジュールが配置済みの場合以下のメッセージが表示されるので"ファイルを置き換える(R)"を指定し上書きします。

    例) モジュールがget_sm_data_from_process_fil.sqlの場合 宛先には既に"get_sm_data_from_process_fil.sql"という名前のファイルが存在します と聞かれるので"ファイルを置き換える(R)"を指定します。

7.2.3 インデックスの削除

本手順は、手順「12.1.2 Windows版Elasticsearchの場合」を実施してください

7.2.4 インデックスの作成

本手順は、手順「5.2.5 インデックスの作成」を実施してください

7.2.5 取り込み履歴の削除

本手順は、手順「12.1.2 Windows版Elasticsearchの場合」を実施してください

7.2.6 Logstashの設定

本手順は、手順「5.3.2 Logstashの設定」を実施してください

7.2.7 サービスの起動

サービスを起動します。

  • コマンド
    cd %nssm_home%\win64
    nssm start Logstashサービス名
    

以下のコマンドを実行し、サービスの状態を確認します。

  • コマンド
    cd %nssm_home%\win64
    nssm status Logstashサービス名
    

出力内容中に以下の内容が表示されることを確認します。

SERVICE_RUNNING

7.2.8 取り込み履歴の確認

  1. Logstashの取り込み履歴ファイル格納ディレクトリに移動します。

    履歴ファイルの格納場所については、以下のファイル内容に記載されている"last_run_metadata_path =>"の設定値をご確認ください。

    • <ディレクトリ>  C:\temp\logstash-8.17.2\logstash-definitions

      ファイル名 説明
      logstash-postgresql.conf 設定ファイル(プロセス管理)
      logstash-postgresql_ci.conf 設定ファイル(構成管理)
      logstash-postgresql-faq.conf 設定ファイル(FAQ)
      logstash-postgresql-filelibrary.conf 設定ファイル(ファイルライブラリ)
  2. 履歴ファイルを確認します。

    以下の内容が出力されることを確認します。

    .logstash_postgresql_ci_fil_last_run 
    .logstash_postgresql_faq_fil_last_run 
    .logstash_postgresql_file_library_fil_last_run 
    .logstash_postgresql_process_fil_last_run   
    .logstash_postgresql_process_sub_fil_last_run 
    .logstash_postgresql_process_table_item_1_fil_last_run 
    .logstash_postgresql_process_table_item_2_fil_last_run 
    .logstash_postgresql_process_table_item_3_fil_last_run 
    .logstash_postgresql_process_table_item_4_fil_last_run 
    .logstash_postgresql_process_table_item_5_fil_last_run
    
  3. Logstashのキューファイル格納ディレクトリに移動します。

    • コマンド
      cd C:\temp\logstash-8.17.2\data
      
  4. キューファイルを確認します。

    • コマンド
      dir
      

    以下の内容が出力されることを確認します。

    例)

    2021/02/09 20:13 <DIR> dead_letter_queue 
    2021/02/09 20:13 36 uuid 
    
  5. インデックス情報を確認します。

    curl -XGET [protocol]://[hostname]:[portnumber]/_aliases?pretty
    

    例)Elasticsearch への接続情報でプロトコルを[protocol] → http、ホスト名を[hostname] → eshost、 ポート番号を[portnumber] → 9200とした場合は、以下のコマンドを実行します。

    • コマンド
      curl -XGET http://eshost:9200/_aliases?pretty
      

    以下の結果が出力されることを確認します

    {
        "ssm" : {
            "aliases" : { }
        },
        "ssm_ci" : {
            "aliases" : { }
        },
        "ssm_faq" : {
            "aliases" : { }
        },
        "ssm_filelibrary" : {
            "aliases" : { }
        }
    }
    

7.2.9 ログ情報の確認

  1. 以下のログファイルの内容を確認します。

    <確認ファイルパス>

    /var/log/logstash/logstash-plain.log

  2. Logstashサービス起動後の時間帯にエラー出力がないことを確認します。

7.2.10 全文検索機能の確認

  1. Senju/SMにログインし、全文検索機能の動作を確認します。

  2. 検索結果として、値が取得可能なことを確認します。

7.2.11 Kibana機能の確認

Kibana連携を利用している場合は本手順を実施してください。

  • Kibana機能の動作確認をします。

  • 分析レポートが出力されることを確認します。