タグは、監視対象のエンティティ、ダッシュボードやワークロードに追加されるキーの値のペア(team: operations
など)です。いくつかの重要な属性 はタグとして利用可能です。これには、アプリ名や言語などのアプリのメタデータ、およびホスト名やクラウドプロバイダーのリージョンなどのホストのメタデータが含まれます。ユーザー独自のタグを追加することもできます。
UIでタグを使用して関連エンティティを絞り込むことができます。次の例を見てみましょう。
ここでは、accountId
タグを使用して特定のアカウントのワークロード をフィルターしています。
タグの利点 タグは、次の作業に役立ちます。
タグは、高レベルでデータを整理するのに役立ちます。ユーザー名やその他の高カーディナリティの値の取得など、よりきめ細かい詳細を追加する場合、カスタムアトリビュート やカスタムイベント を使用することをお勧めします。
場合によっては、次のソースから監視対象エンティティにタグが自動適用されます。
New Relicアカウントのメタデータ エージェントの設定 ホスト/環境 OpenTelemetryリソース属性 これらのソースからのタグは、UIやAPIではなく、タグのソースを変更することによってのみ削除や変更が行えます。
当社のAPI 、New Relic CLI 、またはNew Relic Terraformプロバイダー を使用して、プログラムでタグを自動化することもできます。
アカウント情報を含むエンティティに特定のタグを自動適用します。これらのタグには以下のようなものがあります。
New Relicエージェントを設定して、データから作成されたエンティティにタグを適用することができます。設定オプション はエージェントに固有ですが、通常はlabels
キーを使用します。いくつかの例:
New Relicエージェントは、環境に応じてサービスエンティティに特定のタグを自動適用します。以下が含まれます(ただし、これらに限定されません)。
タグの管理 デフォルトで、一部の重要な属性 をタグとして使用できます。例えば、アカウント名、アカウントID、およびいくつかの基本的なホスト/サーバーのメタデータ。これらのデフォルトで利用可能なタグは削除できません。
UIまたはAPIを通してタグを追加する場合、これはエンティティレベルで発生します。例えば、単一のエンティティをモニターする複数のAPMエージェントがある場合、UIを通して適用したタグは、そのエンティティからのすべてのデータに対して利用可能です。
タグ名を変更するには、現在のタグを削除し、希望の名前で新しいタグを作成する必要があります。
one.newrelic.com にアクセスして、モニターするエンティティ(アプリまたはホストなど)を選択します。ページの上部にあるエンティティの名前の近くで、tags ボタンをクリックします。 タグウィジェットのAdd a new tag... フィールドに、この形式accountId: 123456789
のタグを追加します。 APMエージェントの場合、NRQLクエリでこれらのタグを使用するには、サービスを再起動します。 one.newrelic.com
にアクセスして、モニターするエンティティ(アプリまたはホストなど)を選択します。
ページの上部にあるエンティティの名前の近くで、
tags
ボタンをクリックします。
削除するタグの横にある
をクリックします。
APMエージェントの場合、NRQLクエリでこれらのタグを使用するには、サービスを再起動します。
アラート条件タグの管理 条件に移動します。
フォームの上部にある条件の名前の近くで、Manage tags をクリックします。
ポップアップ表示されるメニューで、タグを追加または削除します。
また、NerdGraph APIを介してエンティティとしてアラート条件にタグを追加することもできます(「manage tags」画面から条件のエンティティGUIDを使用)。
NerdGraph API経由でのデータのタグ付け の詳細については、チュートリアルを参照してください。
APMタグのクエリに関するこの短いビデオ(3分20秒)もご覧ください。
entity explorer UI のフィルターバーを使用して、特定のエンティティに絞り込みます。
単一または複数の要素でフィルターしたり、詳細検索オプションを使用したりすることができます。
タグを使用して特定のエンティティを絞り込むには:
one.newrelic.com
に移動します。
Filter by ...
フィールドをクリックして、利用可能な属性とタグのドロップダウンを表示するか、フィルターするタグ(accountId: 123456789
など)を入力します。
ベストプラクティス タグを最大限に活用するには、以下のベストプラクティスに従ってください。
タグをシンプルに保つためのヒント:
最初は、確実に使用することが分かっているタグのみを追加します。未使用のタグによってノイズが生じ、混乱が生まれる可能性があります。
短いタグを使用するように努めます。短いタグは解析が簡単です。また、UIでは長いタグが切り詰められる場合もあります。(「文字制限 」を参照してください。)
可能な場合は、人間が読めるキーと値を使用します(たとえば、region: EMEA
がParam8323 : 1229072
よりも推奨されます)。
regions: EMEA | US | LATAM
などの複数の値を単一のタグに含めることは避けてください。このような場合は、region: emea
、region: us
、およびregion: latam
などの、3種類のタグを使用することをお勧めします。複数のタグを一致させる場合は、フィルターUIで高度なオプションを使用して行うことができます。
アラートインシデント に関する注意事項:これらは1つのキー名インスタンスのみをサポートします。複数のキー名を使用する場合は、そのインシデントに追加されるキー名がランダムに選択されますチームとエンティティにわたり、タグ言語に一貫性を持たせるよう努めます。 命名に一貫性を持たせます。たとえば、region: emea
とreg: emea
の両方を使用しないでください。 形式に一貫性を持たせます。たとえば、camelCase
とkebab-case
の両方を使用しないでください。 UIおよびAPIのタグ検索では大文字と小文字は区別されませんが、大文字、小文字を区別するようにします。たとえば、env: staging
とenv: Staging
の両方を使用しないでください。 タグは、オブザーバビリティとコスト配分の向上に役立ちます。この理由から、多くの場合、タグ実装の責任はオブザーバビリティチーム、SRE、アーキテクトのグループ、またはクロスチームタスクフォースに割り当てられます。
タグの実装に責任を持つ人々が内部ポリシーを順守し、内部ポリシーを作成して、タグの定義方法と使用する規則を説明することをお勧めします。次に:
このリファレンスマニュアルを常に最新の状態にしてください。 New Relicエージェントをデプロイする時に、タグの定義を自動化します。この自動化は、クラウドプロバイダーで行うか、またはAPI やNew Relic Terraformプロバイダー などのNew Relic自動化ツールを通して行うことができます。 タグ付け基準に準拠していないエンティティを識別する定期レポートを作成します。 タグの例 タグを使用してデータを整理するための一般的な方法の例を以下に示します。
チーム名のタグを作成すると、パフォーマンスの問題につながった変更に関与したチーム、グループ、部門、または地域を把握するのに役立ちます。
属する環境に対してエンティティを作成することができます。例:
重要度レベルに関連するタグを作成できます。これによって、最重要問題を簡単に追跡できるようになります。例:
タグの処理方法は機能によって異なります。ここでは、NRQL を使用してタグデータのクエリを行う方法、またはNRQL条件アラート を作成する方法について詳しく説明します。
タグを使用してダッシュボードを整理する方法 およびワークロードでのタグの使用方法 をご確認ください。
NRQLを使用してAPM タグをクエリできます。サポートされている APMエージェント は次のとおりです:
Go v2.3.0以降 Java v4.9.0以降 .NET v8.17以降 Node.js v4.13.0以降 PHP v10.0.0.312以降 Python v4.10.0.112以降 Ruby v6.1.0.352以降 Infrastructureタグが作成されている場合は、タグ伝播とも呼ばれるNRQLを使用してクエリを実行できます。
Infrastructureタグ伝播をオフにしたい場合(これによりNRQLでクエリを実行できなくなります)、Nerdgraphでオフにする方法 を参照してください。
クエリの例 シャード全体のスループット 9つのシャードに分散されたサービスがあり、各シャードがenvironment
として割り当てられている場合、次のようなワイルドカード クエリを使用して、すべてのシャードのトランザクションスループットをプロットできます。
SELECT rate ( count ( apm . service . transaction . duration ) , 1 minute )
FROM Metric WHERE appName LIKE 'MyApp (%' AND transactionType = 'Other'
FACET tags . Environment TIMESERIES
チームあたりのトランザクション数 特定のチームのサービスごとのトランザクション数を表示するには、次のようなクエリを使用できます。
FROM Transaction SELECT count ( * )
WHERE tags . Team = 'team-a'
FACET tags . Project TIMESERIES
チームのエラー率に関するアラート 各サービスに対してルールを作成することなく、アラートを設定するためにサービスのエラー率のクエリを使用できます。これは、team-b
と呼ばれるチームのすべてのサービスのエラー率です。また、このアラートは、チームタグとともに追加された新しいアプリ名をすべて自動的にモニターします。
FROM Metric SELECT count ( apm . service . error . count ) / count ( apm . service . transaction . duration )
WHERE tags . Team = 'team-b' FACET appName
これに関しては、複数の環境にわたってデプロイされた特定のサービスに関する一般的なルールを作成することで、各環境を個別に監視する単一サービスのアラームを作成できます。
From Metric SELECT count ( apm . service . error . count ) / count ( apm . service . transaction . duration )
WHERE tags . Project = 'MyProject' FACET tags . Environment
Infrastructureモニタリングの特定のエンティティを所有する内部チームを検索する SensitiveEntity
などの名前のエンティティを所有する内部チームを検索するには、以下を実行します。
FROM SystemSample SELECT internalOwningTeam WHERE entityName = 'SensitiveEntity'
CPU負荷テスト実験のグループの比較 CPUを使用してさまざまなInfrastructureエンティティで、負荷テストを実行するとします。A
というグループのエンティティに1つの処理を適用し、B
というグループのエンティティに別の処理を適用し、control group
という処理を行わないエンティティの1つのグループを保持できます。
New Relic UIでexperimentGroup
というタグを作成し、各エンティティが属する実験グループにマッピングできます。これらはNew Relic UIで作成されたタグであるため、newrelic-infra.yml
設定ファイルで作成されたカスタム属性とは異なり、タグ名にtags.
プレフィックスを追加する必要があります。
以下はcpuPercent
を選択するNRQLクエリで、FACET CASES (...)
句を使用してさまざまな実験グループに分類されています。
FROM SystemSample SELECT cpuPercent FACET CASES ( WHERE tags . experimentGroup = 'control' AS 'control group' , WHERE tags . experimentGroup = 'A' AS 'given treatment A' , WHERE tags . experimentGroup = 'B' AS 'given treatment B' ) SINCE 1 DAY AGO
Infrastructureタグのタグ伝播をオフにする Infrastructureタグのタグ伝播をオフにするには、NerdGraph で以下を実行します。
dataManagementUpdateFeatureSettings (
accountId : YOUR_ACCOUNT_ID
featureSetting : { key : "infra_tag_propagation" }
その呼び出しは、次の回答を返す必要があります。
"dataManagementUpdateFeatureSettings" : {
"key" : "infra_tag_propagation" ,
"name" : "Infra tag propagation"
属性のクエリおよびアラート 一部の重要な属性 はタグとして使用されます。NRQL を使用してすべての属性をクエリし、カスタムチャートを作成し、NRQLアラート条件 を作成できます。