2020年1月よりNew Relicにジョインした瀬戸島です!よろしくお願いいたします。

New Relicにはさまざまな機能がありますが、今回はNew RelicとAWSを連携して、複数のAWSアカウントの課金や利用状況を1つのダッシュボードで可視化する方法をご紹介したいと思います。

New Relicとクラウドの連携

New RelicのInfrastructureではサーバーやコンテナのインフラストラクチャ、MySQLやApache、Elasticsearchなどのオンホストインテグレーション、Kubernetesなどの稼働状況をモニタリングすることができます。加えてAWSやAzure、GCPのインテグレーション機能を利用することで、各種クラウド環境・複数アカウントの情報を横断してモニタリングすることができます。

複数のAWSアカウントにおけるEC2の稼働状況コストを可視化するダッシュボードを作成したいと思います。可視化までの流れは下記の通りです。

  1. New RelicとAWSを連携する

  2. ダッシュボードを作成する

New RelicとAWSを連携する

AWSインテグレーション機能を利用してNew RelicとAWSを連携します。連携方法は過去ブログでご紹介しておりますので、下記ページをご確認ください。

https://blog.newrelic.co.jp/observability-design-pattern/aws_multi_account_monitoring/

AWSダッシュボードを作成する

AWSインテグレーションの設定が完了後、InfrastructureよりAWSの情報をNew Relic上で確認できるようになります。

New Relic Oneのダッシュボードを利用して、これら複数のAWSアカウントの情報を統合的に可視化できるダッシュボードを作成したいと思います。

New Relic OneのDashboardsをクリック後、「Create a dashboard」から新しくダッシュボードを作成します。

さまざまなウィジェットを並べることのできる空のダッシュボードが作成されます。ここにいろんなチャートを載せていきたいと思います。

「Add a new chart」>「Add a chart」とクリックし、チャート作成画面に進みます。チャートの作成には、画面上で必要な項目を選択して作成する方法と、NRQLというSQLライクな言語を利用して作成する方法の2つが用意されています。それぞれの方法を利用して作成する方法をご紹介します。

項目を選択してチャートを作成する

画面上で必要な項目を選択して簡単にチャートを作成することができます。作成可能な情報が選択肢として表示されるので非常に簡単にチャートを作成することができます。

まずは「複数のAWSアカウント上で起動しているEC2をインスタンスタイプ別に可視化するチャート」を作成してみます。Add a chartをクリックすると下記のような各種項目を選択する画面が出てきます。選択可能な項目が表示されるので、必要項目を選択しながらチャートを作成していきます。

下記の情報の通り選択していきます。

  • View a chart with:(EC2台数をカウント)
    • ComputeSample > provider.ec2instanceId > unique_count (
  • Narrow results to:(runnning中のEC2のみカウント)
    • ec2State = 'running'
  • Facet by:(グルーピングの条件、Group by のようなもの)
    • provider.ec2InstanceType

これらを選択すると、自動的にチャートが作成されます。インスタンスタイプ別EC2起動台数を積み上げで表示してあげたいので、Chart typeをAreaに設定すると下記のようなチャートが作成されます。

適切な名前をつけてSaveボタンをクリックすると1つ目のチャート作成完了です。

このように必要な項目を選択するだけで簡単にチャートを作成することができます。

細かいカスタマイズした場合や、プログラマブルにチャートを作成したい場合はNRQLというSQLに似た言語を利用してチャートを作成することも可能です。先程作成したチャートが実際にどのようなNRQLでできているのか確認してみます。

View queryをクリックするとSQLに似たクエリが表示されます。これがNRQLです。SQLを触ったことある方であればなんとなく意味が理解できるのではないでしょうか。

NRQLを利用したチャートの作成

今度はNRQLを利用してチャートを作成します。チャート作成画面で「Advanced(NRQL)」というリンクがあるので、こちらをクリックします。

クリックするとNRQLを入力する画面が表示されます。クエリと聞くとハードル高く感じる方もいるかもしれませんが、画面上で項目を選択しながらチャートを作成したとき同様、入力可能な項目がでてきますので、非常に簡単にNRQLを入力することができます。

例えばAWSアカウント毎のEC2起動台数であれば、下記のように入力することで簡単にチャートを作成することができます。

詳細は割愛させていただきますが、このようにチャートを組み合わせることでさまざまな情報を一元的に集約したダッシュボードを作成することができます。他にも情報を追加したダッシュボード例がこちらです。

さまざまな情報を集約したダッシュボード作成可能

New RelicではAPM、Browser、Mobile、Infrastructureなどのすべての情報をNRDB(New Relic Database)に保存しており、New Relic Oneという機能を利用してサーバーやホストと、それが依存するアプリケーションやサービスの稼働状態、ブラウザ・モバイルなどのユーザーのエクスペリエンスを包括的に可視化することが可能です。

是非一度触ってみてください。