mo-fu note

研究からキックボクシングまで何でも書いていきます!

New RelicのNRQLとDashboardsの話

New Relic Advent Calendar 2019 - Qiita の12日目の記事です。NRQLとDashboardsの話を書きます。

New RelicのNRQL

New RelicにはNew Relic Query Language (NRQL)というものがあります。 SQL に似たクエリ言語で、これを使うことで必要な値を簡単に出すことができます。

docs.newrelic.com

New Relic Insightsで色々な値を可視化してみましょう。

バイス比率を出したい場合

例えば、とあるURLの7日間のデバイス比率を出したい場合は以下のようにします。

SELECT count(deviceType) FROM PageView FACET deviceType SINCE 7 DAYS AGO WHERE pageUrl = 'https://example.com/foo/bar/new' TIMESERIES

こんな感じで出すことができます。 f:id:kurotaky:20191213180340p:plain

サイトのAvailabilityを出したい場合

以下のようにクエリを書くことで、Availabilityを出すことができます。

SELECT percentage(count(*), WHERE httpResponseCode < '500') FROM Transaction WHERE name LIKE 'Controller/foo/%' SINCE 4 week ago

こんな感じになります。 f:id:kurotaky:20191213181619p:plain

NRQLで活用することで様々な値やグラフを表示することができるようになります。

Dashboards

NRQLで出したグラフをまとめてダッシュボードを作りましょう。

f:id:kurotaky:20191213183756p:plain

これをモニタに映したり、毎日Slackやメールで通知することでサービスレベル目標(SLO)が達成できているか確認することができます。 簡単に指標の可視化ができるので、Site Reliability Engineeringのプラクティスを実践していくのに役立てることができますね!

landing.google.com

New RelicのNRQLとDashboardsを使って、どんどん可視化していきましょう! 来年もNew Relicを活用していきたいと思います。良いお年を!