Stackのアップグレードに役立つヒントをご紹介します。ニュースパートナー投資家向け情報アワードElasticは検索会社です。これまでの歩みをご紹介します。Serviceをはじめましょう。RaphaelliShare今日のデプロイでは、アプリケーションサーバーの寿命が短いことや、アプリケーションサーバーがメッセージキューやデータベースなどのような他のコンポーネントよりも信頼性の低いハードウェア(プリエンプティブあるいは低優先度のVM、スポットインスタンス)を使用していることがよくあります。そのようなケースでは、より信頼性の高いシステムに早くデータを移すのがベストです。リリース6.4.0から、APMサーバーはLogstashまたはKafkaにデータを送信し、信頼性の要件をこうしたシステムの一つに分散することができるようになります。Logstashを使用すると、多くの利用可能なLogstashプラグインの1つを使って、APMデータを強化することもできます。ここで、データをElasticsearchに投入する前に別システムを通してデータを送信する場合の設定を紹介し、注意点をいくつか見ていきましょう。APMサーバーをLogstashに送信するよう設定するElasticsearchを設定するオプションとしてソースマップを含めるKafkaを導入する﻿Logstashの設定まず、パイプラインを追加して、beats/lumberjackプロトコルを使用してLogstashがAPMサーバーからイベントを受け取るよう設定し、次にそれをElasticsearchに送信します。}}1日につきトランザクションやスパンなどの1イベントタイプごとにインデックスが1件作成されます。これは、デフォルトのAPMサーバー設定が生成するときと同様です。ソースマップでここにちょっとおかしな部分ができてきますが、後でこの記事内で修正します。注意深く見ている人は、beatへのリファレンスは何をするものだろうと思うことでしょう。Framework上に構築されており、従って同じメタデータがイベント内で引数を渡します。"apm-server"という条件文を使用して行われるということです。APMサーバーの設定これでLogstashが設定できたので、APMサーバーのapm-server.ymlをアップデートして、イベントをそれに応じて出力できるようにします。APMサーバードキュメントで詳しく説明しています。APMサーバーで監視を有効にしている場合は、必ず次のように設定します。["elasticsearch:9200"]これで、APMサーバー自体の監視がElasticsearchに直接フローし続けるようになります。Elasticsearchの設定APMサーバーをスタートする準備ができるまで、あと1ステップです。UIが期待するとおりにAPMデータを格納する方法を知る必要があります。インデックスのテンプレートが必要だということです。このテンプレートを読み込む方法は2通りあります。ElasticsearchでAPMサーバーを一時的に指定することが可能なら、次のようにします。--templateそれ以外の場合は、まずAPMサーバーからテンプレートをエクスポートします。apm-6.4.2.tmpl.jsonそれからElasticsearchに読み込みます。curlを使って、次のようにします。@apm-6.4.2.tmpl.json次のコマンドは、各操作が成功したか失敗したかをレポートします。すると、次のようなドキュメントのセットが返されます。],...インデックスパターンが、前のLogstashのステップで設定したものと合っていることに注意してください。そこにバージョン情報が含まれていることにも注意してください。この設定ステップは次のようになるということです。1.Logstashに接続しているAPMサーバーとまったく同じバージョンで行われる。1.毎回APMサーバーのアップグレード中に繰り返される。使ってみるAPMサーバーを起動して、アプリケーションの動作を分析していきましょう。ソースマップソースマップは、分かりにくいコードを元のソースに戻すマッピングのために使用されます。良く見かけるのは、縮小されたJavascriptを戻すときに使われるものです。ソースマップは、APMサーバーの出力がElasticsearchではない場合、特別な考慮が必要です。結果的にElasticsearchにどう届くかにかかわらず、APMサーバーがこれを使うためにそこに格納されなければなりません。ソースマッピングのストレージ設定は、rum.source_mapping.elasticsearchを次のようにセットします。"apm-*-sourcemap*"これは、APMサーバーに、apm-*-sourcemap*にマッチしたインデックスでソースマップを探すように指示しています。ソースマップはLogstashによってアップロードすることができますが、デプロイメントプロセスの間に直接Elasticsearchに送信して、マッピングの到着が必要なイベントが起こる前に確実に格納することをおすすめします。それができない場合は、この記事で紹介したLogstashの設定が、適用するタイミングでソースマップ取得に使用されるデフォルトのインデックスパターンに適しているので、さらに変更を加える必要はありません。フローにKafkaを導入するKafkaもまた、APMサーバーからElasticsearchに送るイベント出力をバッファするときに使えます。Kafkaを使った簡単なAPMサーバーの設定は次のとおりです。&apos;apm-%{[context.service.name]}&apos;ここでは1サービスに1トピックの使用をお見せしていますが、必須ではありません。ドキュメントには、他の構成オプションも記載されています。イベントがKafkaにフローすれば、これをElasticsearchにプルできるようLogstashを設定することができます。}}ここでも、1日につきトランザクションやスパンなどの1イベントタイプごとにインデックスが1件作成されます。これは、デフォルトのAPMサーバー設定が生成するときと同様です。Kafka出力プラグインのその他の方法は、ドキュメントで紹介しています。tryAPMサーバーには、LogstashやKafkaを使用したAPMデータ送信に対する柔軟性があります。お試しになり、ディスカッションフォーラムにご意見をお寄せください。皆さんのアイデアも、いつでも歓迎しています。自由にソースコードをご覧になり、問題を報告したりリクエストしたりしてください。Foundationの商標です。