Pipeline Control ゲートウェイ UI は、YAML を直接記述せずにゲートウェイ ルールを作成および管理するためのフォームベースのインターフェイスを提供します。UI は、処理ロジックをサンプル レート、ドロップ ルール、変換の 3 つのルール カテゴリに分類します。各カテゴリは、ガイド付きモーダルダイアログを通じて構成できます。
UI組織
ゲートウェイ UI は、次の 3 つの主要なセクションで構成されています。
サンプルレート
条件付きルールを使用して確率的サンプリングを構成し、テレメトリー データの何パーセントがNew Relicに到達するかを制御します。 サポート対象:
- デフォルトのサンプリング率(0~100%)
- 属性マッチングに基づく条件付きサンプリングシナリオ
一般的な使用例:
- 「Bサービスログの90%、Aサービスログの83%をサンプリング」
- 「エラーの100%、1000msを超えるトレースの100%を保持し、残りの10%をサンプリングする」
ドロップルール
OTTL ベースのフィルター ルールを作成して、テレメトリー レコード全体または特定のプロパティを条件付きで削除します。 サポート対象:
- 正規表現の
matches演算子を使用したパターンマッチング - プロパティベースのフィルタリング (環境、メトリクス名、ログレベル)
and/orロジックによる条件の組み合わせ- 比較演算子 (
==、!=、>、<、>=、<=)
一般的な使用例:
- 「落下試験環境データ」
- 「本番環境でデバッグレベルのログを削除する」
- 「ヘルスチェックスパンを削除する」
- 「テストプレフィックスを含むメトリクスを削除」
変換
OTTL ベースの変換ルールを定義して、テレメトリーデータを変更、強化、または解析します。 サポート対象:
- OTTL関数を使用した属性の追加と変更
- 正規表現パターンによる文字列解析
- マッチングルールによる条件付き変換
- 変換ごとに複数の OTTL ステートメント
一般的な使用例:
- 「すべてのメトリクスに環境タグと地域タグを追加」
- 「NGINX ログ形式を構造化属性に解析する」
- 「環境間でサービス名を正規化する」
- 「ログメッセージからHTTPステータスコードを抽出する」
UIでルールを作成する
サンプルレートルールの作成
ゲートウェイ UI のサンプル レート ブロックで、歯車/設定アイコンをクリックして新しいサンプリング構成を作成します。
グローバル サンプリングを構成します。
- グローバル サンプリング パーセンテージ (0 ~ 100%) を設定します。
- スライダーを使用するか、数値を入力します。これは、条件ルールに一致しないすべてのデータに適用されます。
条件付きシナリオを追加します (オプション):
- 条件固有のサンプリング レートを作成するには、プラス アイコンをクリックします。
- シナリオごとに、わかりやすい名前 (たとえば、「
B service sample」)、説明 (たとえば、「B service description」)、プロパティ一致式 (たとえば、attributes["appName"]=="TelemetryApp-ServiceB")、スライダーを使用したサンプリング パーセンテージ、または数値 (0 ~ 100%) を入力します。
サンプリング ルールを適用するには、 Save sample criteriaをクリックします。
フィルタールールを作成する
ゲートウェイ UI で、フィルター ブロックのプラス アイコンをクリックして、新しいフィルター ルールを作成します。
基本情報を設定します。
- Rule name:わかりやすい名前を入力します。
- Description: ルールが何をするのかを説明します。
データに一致する条件を定義し、 Create ruleをクリックします。
必要に応じてさらに条件を追加するには、手順 1 ~ 3 を繰り返します。
変換ルールを作成する
ゲートウェイ UI で、変換ブロックのプラス アイコンをクリックして、新しい変換ルールを作成します。
基本情報を設定します:
- Rule name: わかりやすい名前を入力します (例: 「parse-nginx-log」)
- Description: 変換が何を行うかを説明する
データに一致する条件を定義します:
- 目的固有のテレメトリー レコードに条件を追加します。
- 複数の条件を追加するには、 Add conditionをクリックします。
複数の条件は OR ロジックで評価されます (いずれかの条件が一致すると、変換が適用されます)。条件の例:
body == "request failed"、severity.text == "ERROR"、severity.text == "FATAL_ERROR"すべてのレコードに変換を適用するには空のままにします。各条件は、間にOR演算子を挟んで個別の入力フィールドに表示されます。OTTLステートメントを定義します。
- 1 つ以上の OTTL 変換ステートメントを追加します。
- 複数の変換を追加するには、 Add statementをクリックします。
- 各ステートメントは順番に実行されます。各ステートメントの左側にあるハンドルをドラッグして順序を変更します。
- OTTL関数を使用した例文:
set(severity_text, "FAIL")、set(attributes["processors"], true)、set(attributes["environment"], "staging")
変換によってサンプルデータがどのように変更されるかを確認するには、 Preview ruleをクリックします。
変換に満足するまで変更を加えます。
Create ruleをクリックして、ゲートウェイに変換を追加します。
変更をデプロイする
ルールを設定したら、次の手順に従って設定をデプロイします。
Create Deploymentをクリックします。
新しいデプロイメントページで:
- デプロイメントの名前と説明を入力します。
- デプロイ先の Pipeline Control ゲートウェイ エージェントを特定します。
- 右側のドットメニューを開き、 Change versionをクリックします。
バージョンリストから、作成した設定に対応するバージョンを選択します。 (バージョン番号は設定変更ごとに自動的に増加するため、常に最新バージョンになります。)
設定を適用するには、 Add to deploymentをクリックします。
Save draftクリックし、次にStart deploymentをクリックします。
デプロイメントを開始するかどうかを再度確認する必要があります。確認するにはもう一度Start deploymentをクリックしてください。
OpenTelemetryリソース
- OTTL関数リファレンス- 変換とフィルタリングのためのブール式のためのOTTL関数の完全なリスト
- 変換プロセッサ- 変換プロセッサの公式ドキュメント
- フィルター プロセッサ- OTTL ブール式構文を使用したフィルター プロセッサの公式ドキュメント
- 確率的サンプラープロセッサ- 公式サンプリングプロセッサドキュメント