このドキュメントでは、Pipeline Control ゲートウェイ ルールでサポートされている NRQL 関数の概要を説明します。これらの関数を使用して、データのフィルタリングと管理のためのより強力で正確なルールを作成します。
働き | 説明 | NRQLクエリの例 |
---|---|---|
指定されたパターンに基づいて文字列から値を抽出します。 |
| |
メトリクス/イベントに関連付けられたファセットまたはディメンションに基づいてデータをフィルターします。 |
| |
指定された数値以下の最大の整数を返します。 |
| |
複雑なデータ構造 (JSON オブジェクトなど) から特定のフィールドを抽出します。 |
| |
タイムスタンプから時間のコンポーネントを抽出します。 |
| |
除算演算の余りを返します。 |
| |
文字列値を数値型に変換します。 |
| |
数値を最も近い整数または指定された小数点以下の桁数に丸めます。 |
| |
数値またはその他の値を文字列型に変換します。 |
| |
文字列の指定された部分を抽出します。 |
| |
| タイムスタンプから曜日を抽出します (例: 「月曜日」、「日曜日」)。 |
|
ゲートウェイルールにおける複数のNRQL関数の例
これらの例では、複数の関数を組み合わせて、より複雑なシナリオで使用し、正確なデータのフィルタリングと削除を実現する方法を示します。
- このルールは、終了したコンテナのデータを削除しますが、過去 10 分以内に終了したコンテナのレコードは保持します。
DELETE FROM ContainerSample WHERE state = 'exited' AND status LIKE '%Exited%' AND NOT (status LIKE '%second%' AND numeric(aparse(status,'%Exited (%) * seconds ago%')) < 10) AND NOT (status LIKE '%About a minute ago%' OR status LIKE '%minute%' AND numeric(aparse(status,'%Exited (%) * minutes ago%')) < 10)
- このルールは、特定のログパターン (
collectd
) に関連付けられており、カスタムイベント タイプではないログを削除します。
DELETE FROM Log, LogExtendedRecord WHERE dimensions() LIKE '%collectd%' AND newrelic.logs.customEventType IS NULL
- このルールは、特定の種類のエラー ログを削除しますが、タイムスタンプが 101 の倍数であるレコードのみを保持してサンプリングします。
DELETE FROM Log WHERE message LIKE '%lib/ladon/middleware/caching.rb:49 run> terminated with exception%' AND floor(timestamp/101) = (timestamp/101) AND newrelic.logs.customEventType IS NULL
これらの新しい関数により、Pipeline Control ゲートウェイを操作する際の NRQL クエリの機能が大幅に拡張され、より正確なデータ分析と管理が可能になります。