Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@mmclsntr

[New Relic] NRQLアラートを使ってみる

概要

NRQLアラートで監視し、通知する方法をまとめる。

NRQLとは

以下参照。

NRQLアラートとは

New Relicアラートの種類の一つで、NRQLで対象のメトリクスを定義できる。

メリット

  • 汎用的なNRQLを使うため、インフラ監視だけでなく、外形監視、APM、使用量などあらゆるアラートをNRQLアラート一つで作成できる。
  • FACET句を使えば、任意のメタ情報を含めてアラートを飛ばすことができる。
  • New Relic側としてもNRQLアラートの使用を推奨している

デメリット

  • NRQLが使えないといけない
    • New Relicを利用する上でNRQLを使うことはほぼ必須なので、使っていくと自然と身につくはず

使い方: AWSのEC2インスタンスのCPU使用率の監視をする場合

0. 準備

まずは対象のメトリクスについて、「Data explorer」または「Query builder」で参照してみて、データの挙動やメタ情報、実際のNRQL文を確認する。

3feba932-6f9a-4934-9e16-e95f836d3252.png

または、Infrastructure等の画面に表示されたグラフから、そのグラフを作るNRQL文が「View query」で参照できるため、それも参考にする。

d66c98cd-8763-4e51-8ff5-6d184ac2274a.png

1. 通知チャンネルとポリシーを作成する (説明割愛)

「Alert」ページから「Notification channels」(通知先) と「Policy」(アラートのグループ) を作成する (以下ドキュメント参考)。

https://docs.newrelic.co.jp/docs/alerts-applied-intelligence/new-relic-alerts/alert-notifications/notification-channels-control-where-send-alerts
https://docs.newrelic.co.jp/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/create-edit-or-find-alert-policy

2. NRQLアラート作成

1) 作成したポリシーを選択し、右上の「Add a Condition」を選択
2) 「Categorize」で「NRQL」を選択
3) 「NRQL>」にNRQL文を入力し、メトリクスを定義する

SELECT average(`aws.ec2.instance.cpuUtilization`) FROM Metric WHERE aws.accountId = '443553437457' FACET tags.Name, aws.accountId, aws.ec2.instanceId
  • WHERE句で、グルーピング
  • FACET句で、メトリクスの分離 (DatadogでいうところのMulti Alert)。 ここに記入したカラムがメタ情報としてアラートに載る。

4) 「Thresholds」を設定
image.png

5) 「Condition settings」を設定
image.png

  • FACET句で指定したカラムは、Descriptionで変数として指定できる 参考

6) 「Create condition」で作成

NRQLサンプル

AWS EC2 CPU使用率

SELECT average(`aws.ec2.instance.cpuUtilization`) FROM Metric 

AWS RDS CPU使用率

SELECT average(`aws.rds.instance.cpuUtilization`) FROM Metric

AWS Lambdaエラー件数

SELECT average(`aws.lambda.function.errors`) FROM Metric

Synthetics結果

SELECT count(*) FROM SyntheticCheck WHERE result = 'SUCCESS'
3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
cloudpack
Amazon Web Services (AWS) の導入設計、環境構築、運用・保守をサポートするマネジドホスティングサービス

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?