データの取り込みを管理する 1 つの方法は、データ削除ルールを設定することです。データをドロップすると、次のことが可能になります。
- 重要ではない価値の低いデータを除外する
- 機密性の高いデータを除外
概要
データ削除ルールを使用すると、New Relic 組織に保存したくないデータの種類を指定できます。
ドロップされたデータはデータ取り込みにはカウントされないため、請求の対象にはなりません。どのようなデータが課金対象としてカウントされるかどうかの詳細については、 「 データの取り込み 」を参照してください。
ドロップ ルールは、ルールを作成した時点から到着するデータにのみ適用されます。 すでに取り込まれているデータは削除されません。
データのドロップについて詳しくは、このビデオ (7:09 分) をご覧ください。
ドロップデータ ルールを作成する以外にも、不要なデータを最小限に抑える他の方法には次のようなものがあります。
- APM メトリックのタイムスライスデータを削除したい場合は、 メトリックの正規化ルール を使用することができます。
- ログを報告している場合は、UI ログデータをドロップすることができます 。
- Prometheus remote write を使用している場合は、 Drop Prometheus remote write data を参照してください。
要件
ドロップ フィルタ ルールを作成および編集する機能は、 NRQL drop rules
機能にリンクされています。
次のデータ型は、データドロップの対象になります。
APMで報告されたイベント
ブラウザで報告されるイベント
モバイルで報告されたイベント
シンセティック・レポート・イベント
カスタムイベント( APMエージェントAPI や Event API で生成されるようなもの)。
ログデータ(UIを使ってデータをドロップすることも可能です )
デフォルトのインフラストラクチャ監視イベント と インフラストラクチャ統合 イベント。いくつかの注意事項:
- このデータを削除すると、生データは削除されますが、集約された
SystemSample
、ProcessSample
、NetworkSample
、およびStorageSample
イベントは引き続き使用できます (詳細については、 「データ保持」を参照してください)。このデータはまだ利用可能ですが、取り込みにはカウントされず、請求の対象にもなりません。 - 生のインフラストラクチャ データはアラートに使用されるため、そのデータをドロップした場合、そのデータについてアラートを発行することはできません。集計されたデータは引き続き利用できるため、59 分を超える時間範囲のデータがグラフに表示される場合があります。
- このデータを削除すると、生データは削除されますが、集約された
ディメンション メトリック (
Metric
データ型)。いくつかの注意事項:- オリジナルの価格モデルを使用している組織の場合: 請求は製品のサブスクリプションに基づいています。つまり、削除されたディメンション メトリクスは引き続き請求可能です。
- events-to-metricsサービスによって生成されたメトリクスについて: ドロップルールは機能しませんが、events-to-metricルールを無効にするか再設定することで、これらのメトリクスを停止したり、属性を刈り込んだりすることができます。
ドロップデータルールを作成する
注意
データを削除する場合は注意が必要です。落としたデータは復元できません。潜在的な問題の詳細については、 「 注意事項 」を参照してください。
データをドロップするには、 NerdGraph-format drop rule を作成します。
NRQL ドロップするデータタイプを指定する文字列
NRQL文字列の適用方法を指定する
action
型
NerdGraph API エクスプローラーでフォームを作成し、呼び出しを行うことができます: one.newrelic.com > Apps > NerdGraph API explorer 。
nrqlクエリの長さの制限は4096文字です。長さを超えると、nerdGraphはエラーINVALID_NRQL_TOO_LONG
をスローします。
データを落とすには2つの方法があります。
Drop entire data types or a data subset (オプションのフィルター付き) これは
DROP_DATA
actionタイプを使用し、次の形式の NRQL を使用します。SELECT * FROM DATA_TYPE_1, DATA_TYPE_2 (WHERE OPTIONAL_FILTER)このタイプのドロップルールでは、
SELECT
句で*
以外のものを使用することはできません。Drop attributes from data types (オプションのフィルター付き) これは
DROP_ATTRIBUTES
actionタイプを使用し、次の形式の NRQL を使用します。SELECT dropAttr1, dropAttr2 FROM DATA_TYPE (WHERE OPTIONAL_FILTER)このタイプのドロップルールでは、生の属性名の空でないリストを渡す必要があります。
NRQL制限
すべてのNRQL句がドロップルールの生成に意味があるわけではありません。 WHERE
句を指定して、特定の属性を持つデータを選択できます。 LIMIT
、 TIMESERIES
、 COMPARE WITH
、 FACET
、およびその他の句などの他の機能は使用できません。
SINCE
およびUNTIL
はドロップルールではサポートされていません。時間固有のルールがある場合(たとえば、将来のある時点まですべてを削除する)、 WHERE timestamp < (epoch milliseconds in the future)
を使用します。また、 SINCE
を使用して履歴データをドロップすることはできません。NRQLドロップルールは、ドロップルールの作成後に報告されたデータにのみ適用されます。すでに報告されているデータを削除する必要がある場合は、NewRelicの担当者にお問い合わせください。
JOIN
また、サブクエリもサポートされていません。ドロップ ルールは各データ ポイントに個別に適用され、ドロップ ルールを適用する必要があるかどうかを判断するために他のデータをクエリすることはできません。
2つのアクションタイプにはこれらの制限があります。
DROP_DATA
使用できるのはSELECT *
のみです。DROP_ATTRIBUTES
「raw」属性( 集計関数が適用されていない属性)を持つSELECT
を使用する必要があります。 これは、SELECT *
を使用できないことも意味します。 さらに、データ型とcannot be dropped
(イベント データの
timestamp
など) に不可欠な属性もいくつかあります。 これらを含めると登録は失敗します。
ドロップルールの例
以下にドロップルールの例を示します。
ドロップルールの動作確認
ドロップルールを作成したら、期待どおりに機能していることを確認します。登録が成功するとすぐにルールが有効になるため、登録したクエリのTIMESERIES
バージョンを実行して、データが削除されることを確認してください。
ドロップルールタイプ | NRQL |
---|---|
| Drop rule NRQL:
Validation NRQL:
これは0に低下するはずです。他に影響がないことを確認するには、 |
| Drop rule NRQL:
Validation NRQL:
両方の行が0にドロップする必要があります。これらの属性を含むイベントに影響がなく、それでも影響がないことを確認するには、 |
ルールを見る
以下は、アカウントに設定されているドロップルールを返すNerdGraphコールの例です。
{ actor { account(id: YOUR_ACCOUNT_ID) { nrqlDropRules { list { rules { id nrql accountId action createdBy createdAt description } error { reason description } } } } }}
ドロップルールの削除
以下は、特定の2つのドロップルールを削除するNerdGraphコールの例です。
mutation { nrqlDropRulesDelete(accountId: YOUR_ACCOUNT_ID, ruleIds: ["48", "98"]) { successes { id nrql accountId action description } failures { error { reason description } submitted { ruleId accountId } } }}
ドロップルール履歴の監査
ドロップルールの作成者と削除者を確認するには、 アカウントの監査ログ を照会してください。 リストエンドポイント には、ルールを作成した人のユーザーIDも含まれています。
データを落とす際の注意点
ドロップルールを作成する際には、ルールが設定した条件を満たすデータを正確に識別し、廃棄することに責任を負います。また、ルールの監視だけでなく、New Relic に開示したデータの監視にも責任があります。
New Relic は、この機能によってお客様が抱えるデータ開示の懸念を完全に解決できることを保証するものではありません。New Relic は、お客様が作成したルールがどれだけ効果的であるかをレビューまたは監視しません。
センシティブなデータに関するルールを作成すると、どのような種類のデータを保持しているのか、データやシステムの形式(例えば、電子メールアドレスや特定のクレジットカード番号を参照することなど)などの情報が漏れてしまいます。作成したルールは、そのルールに含まれるすべての情報を含めて、関連するロールベースのアクセス制御権限を持つすべてのユーザーが表示および編集できます。
ドロップされるのは新規データのみです。既存のデータ の編集や削除はできません 。
ディメンション・メトリック・ロールアップでの属性の削除
Dimensional metrics メトリクスをロールアップに集約して長期保存し、長期的なクエリを最適化する方法として メトリクスのカーディナリティ制限 がこのデータに適用されます。
この機能を利用して、長期間の保存や問い合わせには必要ないが、リアルタイムの問い合わせのために維持しておきたい属性を決めることができます。
たとえば、属性としてcontainerId
を追加すると、ライブトラブルシューティングや最近の分析に役立ちますが、より大きな傾向を長期間にわたってクエリする場合は必要ない場合があります。 containerId
のようなユニークなものがどれほどユニークであるかにより、それはあなたをメトリックカーディナリティの限界に向かって素早く駆り立てることができ、ヒットするとそのUTC日の残りのロールアップの合成を停止します。
また、この機能により、カーディナリティの高い の属性を生データに残し、ロールアップから削除することができ、カーディナリティの限界に近づくスピードをよりコントロールすることができます。
使用方法
SELECT dropAttr1, dropAttr2 FROM Metric (WHERE OPTIONAL_FILTER)
mutation { nrqlDropRulesCreate( accountId: YOUR_ACCOUNT_ID rules: [ { action: DROP_ATTRIBUTES_FROM_METRIC_AGGREGATES nrql: "SELECT containerId FROM Metric WHERE metricName = 'some.metric'" description: "Removes the containerId from long term querys." } ] ) { successes { id } failures { submitted { nrql } error { reason description } } }}
動作を確認するには、ルールがピックアップされ、集計データが生成されるまで3~5分待ちます。次に、上記のNRQLの例があなたのドロップルールであると仮定して、以下のクエリを実行します。
SELECT count(containerId) FROM Metric WHERE metricName = 'some.metric' TIMESERIES SINCE 2 hours agoSELECT count(containerId) FROM Metric WHERE metricName = 'some.metric' TIMESERIES SINCE 2 hours ago RAW
最初のクエリはメトリックロールアップを取得し、新しいドロップルールに従ってcontainerId
がドロップされたため、0にドロップする必要があります。 2番目のクエリは、 RAW
キーワードを使用してメトリックrawを取得します。これは、rawデータが新しいドロップルールの影響を受けないため、引き続き安定している必要があります。これがカーディナリティに与える影響を確認する方法の詳細については、カーディナリティの高いメトリックを理解してクエリするを確認してください。
制限
DROP_ATTRIBUTES
に適用されるすべての制限はDROP_ATTRIBUTES_FROM_METRIC_AGGREGATES
に適用されますが、 Metric
データ型のみをターゲットにできるという追加の制限があります。また、メトリクスルールへのイベントによって作成されたデータを対象とするMetric
クエリ、またはタイムスライスデータを対象とするMetric
クエリでは機能しません。
もっと詳しく知る
もっと知りたい方へのおすすめ情報
- NerdGraphの基礎知識と用語集
- NRQLの基礎知識
- NRQL ドロップ ルールに関するコミュニティ ディスカッションについては、サポート フォーラムを参照してください。
- 複雑な組織のデータ取り込みの管理の詳細については、 データ取り込みガバナンスを参照してください。