2016/12/03

[翻訳] New Relic APM を使って個々のインスタンスにまで深掘りしてデータベースのパフォーマンスを監視、トラブルシューティングする

最近、New Relic APM にデータベースのパフォーマンスをインスタンスレベルで可視化できる機能が追加されました。今回は、その機能について解説した New Relic のブログ記事「Monitor and Troubleshoot Database Performance Down to the Individual Instance with New Relic APM」の翻訳版をお届けします。

複数データベースをインスタンスを使われている方、また、1つのデータベースインスタンスを複数アプリで共有している方には、トラブルシューティングが楽になる機能ですので、是非、本記事を読んで、役に立ててください。


New Relic APM でデータストアをインスタンスレベルで可視化できるようになりました。これにより、アプリケーションとデータベース間のパフォーマンス監視とトラブルシューティングを、今までより、迅速かつ簡単に行うことができるようになります。この機能は、New Relic APM のサービスマップ、トランザクション・トレース、スロークエリ・トレースで利用できます。

データストアへのインスタンスレベルの可視化が重要な理由

今日、ソフトウェアの複雑さは爆発的に高まってきています。マイクロサービス、クラウド、コンテナ化の普及が加速するにつれ、アプリケーションはこれまで以上に小さくなり、変化が激しくなっています。今日の非常に複雑なアプリケーションは、複数のプログラミング言語、サードパーティの API、そしてデータを処理し、格納するために複数のインスタンス、そして複数のデータストアを利用しています。

現代のアプリケーションは膨大な量のデータを処理するため、非常に高度なデータベース/データストアがますます必要になっています。データストアのインスタンスのパフォーマンス低下は、アプリのパフォーマンスに大きな影響を与えることがあります。今日の運用、開発、および開発チームには、各データストアのパフォーマンスを含め、アプリケーションアーキテクチャを完全に把握できるツールが必要なのです。

何か問題が発生したときに、その原因を突き止めるのに必要な可視性に加えて、ユーザーは、アプリケーションの全レイヤーに対して素早くアクセスできなければなりません。問題が発生した場合に、その問題の影響範囲を確認し、根本原因の調査を開始できる十分なデータが収集されている必要があります。

New Relic APM の新機能

今回のリリースにより、特定のデータストアのインスタンスに対するパフォーマンス問題の影響を判断し、データベースのボトルネックをより迅速に特定できるようになります。そのため、(データストアのパフォーマンスを含む)アプリケーション環境を完全に把握できるようになります。この新機能は以下の2つの場所で利用できます。

  1. サービスマップ: アプリが利用している特定のデータストアのインスタンスに対して、アーキテクチャの健全性とパフォーマンスを見ることができるようになりました。サービスマップは、カスタマイズ可能なリアルタイムのビジュアライゼーションです。これにより、データストアの個々のインスタンスに絞り込み、パフォーマンスのボトルネックを迅速に解消できます。
  2. トランザクション・トレースとスロークエリ・トレース: データストアのインスタンス単位の詳細情報が含まれています。そのため、問題の原因を追求できるコードレベルの実践的なインサイトを持て、パフォーマンスの向上に最も重点を置く場所を判断する際に利用できます。

アプリケーションの可視化のその先へ

アプリケーションの正常性、メトリクス、依存関係の情報に加えて、今、サービスマップは、アプリケーション・アーキテクチャーのデータベース層に対するより深い可視性が加わりました。データストアの個々のインスタンスに対して、データストア・コールのメトリクスを見ることができます。フィルタリング機能を使って、特定のアプリケーション、インスタンス、そして複数の組み合わせにフォーカスすることができるようになりました。フィルタリングした時系列チャートで、レスポンスタイムとスループットを見ることができるのです。これは、アプリやデータストアのインスタンスレベルで異常な動作を特定したい場合に特に便利です。

追加のメトリクスとチャートに加えて、アプリとデータストアのインスタンス間の接続の健全性を一目で把握できるヘルスインジケータが追加されました。ヘルスインジゲーターは、過去15分間のパフォーマンスと過去1週間の平均とを比較する簡単なベースライン手法を使用して計算されます。

james-1

さらに、サービスマップ上の新しいビジュアライゼーションを促進する同じ言語のエージェントがレポートしたメトリクスは、カスタムダッシュボードや New Relic Insights で表示できます。

james-2-1

さらに一歩前進し、これらの新しいメトリクスを元にアラートを作成して、潜在的なパフォーマンスの問題が顧客体験に影響を与える前に通知することもできます。

データストアのインスタンスレベルの詳細情報は、トランザクション・トレースやスロークエリ・トレースでも使用できます。この情報には、関連する特定のデータベース・インスタンス(ホスト+ポート)の詳細と、クエリが実行されたデータベース名が含まれます。

james-3-1

異常値を簡単に特定し、個々のインスタンスまで、スロークエリの情報を取得できるため、「ノイズの多い隣人」問題やインデックスの欠落などのデータベース構成の問題に対応しやすくなり、MTTR (平均修復時間) を短縮に貢献する強力な新機能です。

試してみてください!

トランザクション・トレースとスロークエリ・トレースにおけるデータストアのインスタンス情報は、APM Essentials 以上のサブスクリプションで利用できます。そして、この機能を使うには最小エージェントバージョンの要件を満している必要があります。また、サービスマップ上でのデータストアをインスタンス単位で可視化する機能は、APM Pro 以上の方が利用できます。

この新しい機能を試して、是非、New Relic のコミュニティフォーラムにご意見をお寄せください。

ヘルプが必要な場合は、support.newrelic.com でサポートを受けるか、この機能に関するドキュメント(日本語)も、是非、ご覧ください。

Qiita で New Relic Advent Calendar 2017 いろいろ書きました。特に、New Relic APM の入門的な連載を書きましたので、是非、ご覧ください。

New Relic 公式の日本 New Relic ユーザー会を立ち上げました。ワークショップの情報など日本のお客様向けに情報を発信していきますので、是非、参加ください。

過去記事

2018/09/13

翻訳: FutureStack18: New Relic 開発者向けプログラム-オープン化、シンプル化、活発化への道

今年も始まりました。New Relic の年次カンファレンス FutureStack 18。
この記事では、Elixir 用の New Relic APM エージェントの発表とデベロッパープログラムの発表がされています。

続きを読む

2018/08/27

翻訳: New Relic APM 新機能: 分散トレーシング

New Relic APM にDistributed Tracing (分散トレーシング)機能が追加されました。メニュー単位で機能が追加されたのはだいぶなかったのではないかと思います。マイクロサービスにおけるサービスをまたがったデータの流れを可視化できる機能のようです。是非、チェックしてみてください。

続きを読む

2018/05/18

SREcon18 と Rails デベロッパー向けアンケート結果の紹介

SRECon America カンファレンスにおけるアンケートの記事と Rails デベロッパーに対するアンケートの記事という2つの異なったレイヤーのアンケートに関する記事を見つけたので、ざっくり紹介します。違った視点での傾向が見れてなかなか面白いです。

続きを読む

2018/05/11

AWS Summit Tokyo を中心に直近の New Relic 関連イベントのご紹介

5/30 から始まる AWS summit Tokyo に参加するということで、海外から New Relic スタッフが来日し、イベント等を行います。是非、この機会に New Relic に興味のある人は参加してみてはいかがでしょうか。(基本、日本人スタッフいるので、日本語でも大丈夫なはず)

続きを読む

2018/03/17

翻訳: New Relic Browser JavaScript Error Analytics ベータ版 – エラーの早期発見、修正に役立つ

New Relic Browser の JS エラー機能が新しくなるようです (現在ベータ版)。APM で採用されているエラープロファイルが JS エラーにも対応したようです。これによって、エラーが起きている傾向が分析できるようになり、今後の JS のエラーが起きる前に対策が取りやすくなります。既存の PRO ユーザーはベータ版が使えるようなので、是非、使ってみてください。

続きを読む

 もっと見る