Logstash コレクター V1.0 の使用

Liberty の Logstash コレクター・フィーチャーを使用して、Liberty サーバーからログおよびその他のイベントを収集してリモートの Logstash サーバーに送信します。 収集されたイベントは、ログ分析やトラブルシューティングのために使用できます。

始める前に

logstashCollector-1.0 フィーチャーは、以下の製品でテスト済みです。

  • Logstash V2.x、Elasticsearch V2.x、および Kibana V4.x
  • [17.0.0.1 and later]Logstash V5.3.x、Elasticsearch V5.3.x、および Kibana V5.3.x

logstashCollector-1.0 フィーチャーは、Logstash の使用可能な任意の出力プラグインと共に稼働する Logstash サーバーで使用できます。しかし、多くのユーザーは、完全なログ統合と分析機能を提供するため、Logstash を Elasticsearch および Kibana と組み合わせて使用することを選択します。詳細については、Elastic 社の Web サイトを参照してください。

手順

  1. Elastic の手順に従って、Logstash をセットアップします。
  2. Logstash のために SSL の証明書と鍵のペアのファイルを作成または獲得します。

    以下に示す OpenSSL 用のサンプル・コマンドは、証明書と鍵ペアを生成します。必要に応じて、鍵の有効日数をカスタマイズしてください。

    openssl req -x509 -newkey rsa:2048 -keyout logstash.key -out logstash.crt -days 365 -nodes
  3. Logstash ユーザーと Elasticsearch ユーザーのために、サンプルの Logstash 構成ファイルと索引テンプレート・ファイルをこのリポジトリーからダウンロードします。
    1. README ファイルに従って、ご使用の Elastic のスタック・バージョン用に、Logstash の構成ファイル liberty_logstash.conf、および索引テンプレート・ファイル liberty_logstash_template.json をダウンロードします。
    2. liberty_logstash.conf ファイルで、Lumberjack ssl_certificate および ssl_key の各パスおよび Elasticsearch hosts (Elasticsearch_host_name:port_number) の値をカスタマイズします。 value.
    3. Elasticsearch V2.x ユーザーの場合、オプションで _ttl のデフォルトをカスタマイズし、各イベント・タイプのレコードを liberty_logstash_template.json ファイル内に保持する時間をミリ秒数を示すことができます。
  4. イベントを収集する各 Liberty サーバーごとに、以下のステップを行います。
    1. Liberty サーバーの鍵ストアを獲得または作成します。 自己署名証明書を作成するには、以下のコマンドを使用します。必要に応じて、サーバー名、パスワード、およびサブジェクトをカスタマイズしてください。
      d:¥wlp¥bin¥securityUtility createSSLCertificate --server=myServerName --password="Liberty" --subject=CN=myHostname,OU=defaultServer,O=ibm,C=us
    2. ステップ 2 の logstash.crt ファイルを、サーバー内の trust.jks ファイルにインポートします。必要に応じて wlp_install_dir およびサーバー名をカスタマイズしてください。パスワードを求められたら、ステップ 4a の証明書パスワードを使用します。
      d:¥java¥bin¥keytool -import -noprompt -alias logstash -file logstash.crt -keystore wlp_install_dir¥usr¥servers¥myServerName¥resources¥security¥trust.jks -storepass Liberty
    3. 以下のコマンドを実行して、logstashcollector-1.0 フィーチャーをインストールします。
      d:¥wlp¥bin¥installUtility install logstashcollector-1.0
    4. Libertyserver.xml ファイルで、次の内容を追加して Logstash コレクターを構成します。 必要に応じて、logstashCollector での source、host name、port のリストをカスタマイズしてください。

      [17.0.0.2 and later]メッセージまたはトレース・イベント内のメッセージ・フィールド、または FFDC イベント内のスタック・トレースに許可されている最大文字数を変更できます。デフォルトの最大値は 2048 文字です。以下の例では、logstashCollector エレメントで maxFieldLength パラメーターを 3000 文字に設定しています。文字数を無制限にするには、 maxFieldLength0 (ゼロ) または -1 に設定します。

      [17.0.0.4 and later]イベントのタイプ (message、trace、accessLog、ffdc、garbageCollection) ごとに、1 秒当たりに送信されるイベントの最大数を制限できます。イベントのデフォルト最大数は 0 であり、制限が何も適用されないことを意味します。maxEvents0 より大きい値に設定されている場合、1 秒当たりに送信されるイベントの数に制限があります。maxEvents の値は、0 から 2147483647 までの整数でなければなりません。

      [17.0.0.1 and later]また、サーバーから送信されたイベントを装飾するためにカスタム・タグを追加することもできます。次の例には、 logstashCollector エレメントに 2 つの tag エレメントがあります。
      注: Admin Center で使用されるタグは、 logstashCollector/bluemixLogCollector で使用されるタグとは関係ありません。
      <featureManager>
          <feature>logstashCollector-1.0</feature>
      </featureManager>
      
      <keyStore id="defaultKeyStore" password="Liberty" />
      <keyStore id="defaultTrustStore" location="trust.jks" password="Liberty" />
      <ssl id="mySSLConfig" trustStoreRef="defaultTrustStore" keyStoreRef="defaultKeyStore" />
      
      <logstashCollector 
      	source="message,trace,garbageCollection,ffdc,accessLog" 
      	hostName="localhost" 
      	port="5043" 
      	sslRef="mySSLConfig"
      	maxEvents="10"
      	[17.0.0.2 and later]maxFieldLength="3000">
      
          [17.0.0.1 and later]<tag>serverRackA5</tag>
          [17.0.0.1 and later]<tag>billingAppTeam</tag>
      </logstashCollector>

      トレースおよびアクセス・ログは大量のログで、収集するのにネットワーク、CPU、ストレージのリソースが多く必要です。

    5. HTTP アクセス・ロギングを使用可能にし、'%h %u %t "%r" %s %b %D %{User-agent}i' ログ・フォーマットを使用します。
  5. Elasticsearch、Logstash、および Kibana を開始します。手順については、Elastic 社の Web サイトを参照してください。
  6. Liberty サーバーを始動し、イベントをいくつか生成します。
  7. ブラウザーで Kibana を開き、索引を作成します。
    • Kibana 5 の場合、「管理 (Management)」 > 「索引パターン (Index Patterns)」とクリックし、「時間-フィールド名 (Time-field name)」datetime に設定して、「作成」をクリックします。
    • Kibana 4 の場合、「設定 (Settings)」 > 「索引パターン (Index Patterns)」とクリックし、「時間-フィールド名 (Time-field name)」datetime に設定して、「作成」をクリックします。
  8. サンプル・ダッシュボードをこのリポジトリーからダウンロードします。
  9. ダッシュボードを Kibana にインポートします。
    • Kibana 5 の場合、「管理 (Management)」 > 「保存済みオブジェクト (Saved Object)」 > 「インポート」とクリックします。
    • Kibana 4 の場合、「設定 (Settings)」 > 「オブジェクト」 > 「インポート」とクリックします。
  10. ダッシュボードを表示します。
    • Kibana 5 の場合、「ダッシュボード」 > 「オープン (Open)」とクリックし、ダッシュボードを選択します。
    • Kibana 4 の場合、「ダッシュボード」 > 「保存済みダッシュボードのロード (Load Saved Dashboard)」とクリックし、ダッシュボードを選択します。

タスクの結果

Logstash サーバーにイベントを送信するように Liberty サーバ ーを構成しました。これで、Kibana を使用して Liberty ダッシュボードでイベントを表示することができます。


トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_analytics_logstash.html