2016/12/07

NewRelic Infrastructure によるダッシュボード作成

これは、NewRelic Advent Calendar 2016 の7日目の記事となります。他の日もよろしくお願いします。

はじめに

サービスのパフォーマンス上の問題は、アプリケーションが原因のこともあれば、インフラが原因のこともあって、時には両者が関連して特定のケースで問題が発生することがあります。

そういう問題に早めに対処するには、両方のメトリクスを一ページで監視できると便利です。NewRelicにも古くからダッシュボードのサービスがあって、アプリケーションのメトリクス(APM)とインフラのメトリクス(NewRelic Servers)を一ページに並べて表示することができました。

しかし、クラウドやDockerによるインフラ側の進化によって、アプリケーションが稼働するサーバが決まってなかったり、状況によって変化するような運用方法も増えています。そのような場合には、サーバ単位の監視であるNewRelic Servers では目的を果たせません。

新しいサービスである NewRelic Infrastructure は、このような運用を前提として新しく再設計されています。従って、ダッシュボードサービスも柔軟な画面構成ができるようになっています。

ここでは、NewRelic Infrastructureによって、APMのメトリクスとInfrastructure のメトリクスを一ページで見る方法を紹介します。

ダッシュボードの作成

APMのチャートには、どれも「Add to an Insights dashboard」というリンクが下についています。これをクリックすると、既存のダッシュボードが選択肢として表示され、一番下に「Create a dashboard」というリンクが現れます。

 

Creating a dashboard from APM

これをクリックして、新しいダッシュボードの名前を入力すると、Insights上に新しいダッシュボードが作成され、指定したチャートが挿入されます。

 

New Insights Dashboard

ここには、同様の操作で、APMのチャートを複数挿入することができます。

NewRelic Infrastructure のチャート挿入

では、次に、ここに NewRelic Infrastructure のチャート挿入してみましょう。

最初に、Infrastrctureの画面で、必要なデータを選択します。最初は、全サーバの情報が表示されるので、「Add FILTER」をクリックします。

Add a chart from Infrastructure to Insights

そうすると、さまざまな属性で対象となるサーバを抽出することができます。一般的には、EC2 Instance に付加したタグを使用します。これによって、最初に選択したアプリケーションが稼働しているサーバを抽出します。

次に「Group by」をクリックして、「fullHostName」を選択します。これでチャートがホスト別のチャートになります。

この状態で、右上のマークをクリックすると「View in Insights」という選択肢が現れるので、これをクリックします。

infrastructure_by_new_relic

そうすると、表示しているのと同じチャートが Insights の中に表示されるので、「Add to Dashboard」をクリックして、先ほど作成した新しいダッシュボードを選択します。すると、そのダッシュボードに新しいチャートが追加されます。

Dashboard with Insights and APM

ダッシュボード完成

同様に、NewRelicの各サービスから、このダッシュボード上で表示したいチャートを追加していきます。全部追加したら、右上の「EDIT」をクリックすると、各チャートの大きさや配置を修正することができます。

insights__dashboard_demo

このようにして、APMとInfrastructureの双方のサービスから必要なチャートを配置して、アプリケーションとインフラ両方のデータを一度に見ることができるダッシュボードを作成することができます。

終わりに

このダッシュボード上には、任意のInsightsのNRQLから作成したチャートを追加することができます。従って、カスタムイベントでビジネスレベルのメトリクスを収集している場合には、売上のようなビジネスレベルのチャートも同じように追加することができます。

つまり、ビジネス、アプリケーション、インフラの全てのレベルを一覧するダッシュボードを作成することができます。

同じ高負荷の状態でも、お客様が殺到して売上も急上昇している状態での高負荷と、ビジネスレベルでは平常運転のはずなのになぜか負荷だけ上がっているのでは意味が違うし、調査したり対応すべき内容も違ってきます。

当社の場合では、セールによる負荷上昇と、ハッキング目的の不正なクローリングによる負荷上昇があります。今までは、複数の画面を見比べて両者を見分けていたのですが、この新しいダッシュボードによって一枚の画面で状況をすぐ把握できるようになりました。

また、Insightsのチャートは、Infrastructureからそのままコピーするだけでなく、ダッシュボードに追加してから、NRQLを修正することで、表示内容を細かく調整することができます。

クラウドが一般化することで、インフラ担当、アプリケーション担当であっても、ビジネスの視点から判断することが求められるようになってくると思います。この Insightsベースのダッシュボードはそういう意味で、これから一般的になる新しいニーズを先取りしていると私は感じました。

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 ユーザーはベータ版が使えるようなので、是非、使ってみてください。

続きを読む

 もっと見る