New RelicのNRQLとDashboardsの話
New Relic Advent Calendar 2019 - Qiita の12日目の記事です。NRQLとDashboardsの話を書きます。
New RelicのNRQL
New RelicにはNew Relic Query Language (NRQL)というものがあります。 SQL に似たクエリ言語で、これを使うことで必要な値を簡単に出すことができます。
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
こんな感じで出すことができます。
サイトのAvailabilityを出したい場合
以下のようにクエリを書くことで、Availabilityを出すことができます。
SELECT percentage(count(*), WHERE httpResponseCode < '500') FROM Transaction WHERE name LIKE 'Controller/foo/%' SINCE 4 week ago
こんな感じになります。
NRQLで活用することで様々な値やグラフを表示することができるようになります。
Dashboards
NRQLで出したグラフをまとめてダッシュボードを作りましょう。
これをモニタに映したり、毎日Slackやメールで通知することでサービスレベル目標(SLO)が達成できているか確認することができます。 簡単に指標の可視化ができるので、Site Reliability Engineeringのプラクティスを実践していくのに役立てることができますね!
New RelicのNRQLとDashboardsを使って、どんどん可視化していきましょう! 来年もNew Relicを活用していきたいと思います。良いお年を!