ソフトウェア業界では、タグは通常、データの編成とファインダビリティを強化する目的でデータセットに追加されたメタデータを指します。
New Relicのタグは、モニターするアプリとホスト、エージェント、ダッシュボード、およびワークロードなど、様々なデータセットに追加された「キー:値」のペアです(team: operations
など)。いくつかの重要な属性はタグとして利用可能です(アプリ名と言語などのアプリのメタデータ、およびホスト名とAWSリージョンなどのホストのメタデータなど)。ユーザー独自のタグを追加することもできます。
UIでタグを使用して関連データを絞り込むことができます。次の例を見てみましょう。
ここでは、accountId
タグを使用して特定のアカウントのワークロードをフィルターしています。
タグは、次の作業に役立ちます。
- 大量のソースおよび大量のNew Relicアカウントからのデータを整理する。
- チーム、ロール、環境、またはリージョンを特定して、誰が何に対して責任があるかを把握する(使用事例を参照)。
- ダッシュボードとワークロードの編成と検索を改善する。
- APMデータのクエリおよびチャート作成。
タグは、高レベルでデータを整理するのに役立ちます。ユーザー名やその他の高カーディナリティの値の取得など、よりきめ細かい詳細を追加する場合、カスタムアトリビュートやカスタムイベントがより適切な解決策です。
ヒント
以前、New Relic UIでは、タグはlabels
と呼ばれていました。コード内でlabel
が使用されている場合があります。たとえば、当社の一部のAPMエージェント設定ファイルは、タグに対してlabel
設定オプションを使用します。
タグの形式と制限
タグの形式要件と制限:
UIでは、1エンティティ当たりに表示できるタグ総数の上限があります。
- デフォルトでレポートされるタグ、またはエージェント/インテグレーション設定を通して追加されるタグの最大数は100です。
- UIまたはAPIを通して追加されるカスタムタグの最大数は100です。
タグの最大文字長を以下に示します。
- キー:128文字
- 値:256文字
使用できる文字:
- 文字はUTF-8を使用してください。
- NerdGraphを使用してタグを追加する場合、タグキー内のハイフン (
-
) はマイナス記号として解釈されます。タグキーにハイフンが含まれる場合、その両側にバッククォートを付けます(例:`key-name`
)。
ベストプラクティスとヒント
タグを追加する前に、当社のデフォルトタグのしくみを理解することをお勧めします。独自のタグを追加する準備ができたら、以下のベストプラクティスのヒントを活用してください。
タグをシンプルに保つためのヒント:
- 最初は、確実に使用することが分かっているタグのみを追加します。未使用のタグによってノイズが生じ、混乱が生まれる可能性があります。
- 短いタグを使用するように努めます。短いタグは解析が簡単です。また、UIでは長いタグが切り詰められる場合もあります。(「文字制限」を参照してください。)
- 可能な場合は、人間が読めるキーと値を使用します(たとえば、
region: EMEA
がParam8323 : 1229072
よりも推奨されます)。 regions: EMEA | US | LATAM
などの複数の値を単一のタグに含めることは避けてください。このような場合は、region: emea
、region: us
、およびregion: latam
などの、3種類のタグを使用することをお勧めします。複数のタグを一致させる場合は、フィルターUIで高度なオプションを使用して行うことができます。
一貫性のあるタグの使用に関するヒント
- チームとエンティティにわたり、タグ言語に一貫性を持たせるよう努めます。
- 命名に一貫性を持たせます。たとえば、
region: emea
とreg: emea
の両方を使用しないでください。 - 形式に一貫性を持たせます。たとえば、
camelCase
とkebab-case
の両方を使用しないでください。 - UIおよびAPIのタグ検索では大文字と小文字は区別されませんが、大文字、小文字を区別するようにします。たとえば、
env: staging
とenv: Staging
の両方を使用しないでください。
クロスチームの実装に関するヒント:
タグは、オブザーバビリティとコスト配分の向上に役立ちます。この理由から、多くの場合、タグ実装の責任はオブザーバビリティチーム、SRE、アーキテクトのグループ、またはクロスチームタスクフォースに割り当てられます。
タグの実装に責任を持つ人々が内部ポリシーを順守し、内部ポリシーを作成して、タグの定義方法と使用する規則を説明することをお勧めします。次に:
- このリファレンスマニュアルを常に最新の状態にしてください。
- New Relicエージェントをデプロイする時に、タグの定義を自動化します。この自動化は、クラウドプロバイダーで行うか、APIやTerraformなどのNew Relic自動化ツールを通して行うことができます。
- タグ付け基準に準拠していないエンティティを識別する定期レポートを作成します。
タグの例
タグを使用してデータを整理するための一般的な方法の例を以下に示します。
タグの追加方法
デフォルトで、一部の重要な属性をタグとして使用できます。例えば、アカウント名、アカウントID、およびいくつかの基本的なホスト/サーバーのメタデータはデフォルトのタグとして利用可能です。これらのデフォルトで利用可能なタグは削除できません。
特定のデータソースに対するタグの追加方法の詳細を以下に示します。
タグを使用してUIをフィルターする
New Relicエクスプローラーの上部にあるフィルターフィールドを使用して、目的のエンティティを絞り込みます。複数のフィルター条件を使用できます。
タグを使用して特定のエンティティを絞り込むには:
- one.newrelic.comから、エクスプローラーをクリックします。
- ...別フィルターフィールドをクリックすると、利用可能な属性とタグのドロップダウンが表示されます。
- 複数の要素でフィルターしたり、詳細検索オプションを使用したりすることができます。
UIからエンティティのメタデータとタグを検索する場合、2つのオプションがあります。
一番右にあるUI内のエンティティリストから、エンティティのアイコンを選択します。
または
エンティティを選択します。ページ上部の近くにあるアイコンを選択します。
APIを使用してタグを表示する方法は、当社のNerdGraphドキュメントを参照してください。
タグを使用してダッシュボードを整理する方法およびワークロードでのタグの使用方法をご確認ください。
カスタムクエリ、チャート、およびアラート
タグの処理方法は機能によって異なります。ここでは、NRQLを使用してタグデータのクエリを行う方法、またはNRQL条件アラートを作成する方法について詳しく説明します。
APMタグのクエリおよびアラート
NRQLを使用してAPMタグをクエリできます。エージェントの最小バージョン:
- C:利用不可
- Go:2.3.0
- Java:4.9.0
- .NET:8.17
- Node:v4.13.0
- PHP:使用不可
- Python:v4.10.0.112
- Ruby:6.1.0.352
次は、クエリの例です。
属性のクエリおよびアラート
タグソースの情報で説明されているように、一部の重要な属性はタグとして使用されます。NRQLを使用してすべての属性をクエリし、カスタムチャートを作成し、NRQLアラート条件を作成できます。