OCIアカウントを統合してNew Relicにログを送信する場合、OCIがデータソースとなり、New Relicが宛先となります。その間に、New Relicの関数(ログフォワーダー)がOCIからログをプルし、New Relicに配信します。その関数で問題が発生した場合(たとえば、読み取れないシークレット、デコードできないバッチ、完了できない配信など)、OCIログのフローは停止しますが、OCIやNew Relicのどこにもその理由は示されません。
ログデータが失われる前にこの種の障害を検知するために、ログフォワーダーは自身の健全性に関するメトリクスを出力できます。このドキュメントの内容は次のとおりです:
- ログフォワーダー関数でセルフオブザーバビリティメトリクスを有効にすると、呼び出し回数、配信エラー、パイプラインの遅延などのシグナルが報告されるようになり、パイプラインのどこで障害が発生したかを示す詳細情報を得ることができます。
- 生のメトリクスデータを掘り下げることなく、一目で異常を発見できるように、これらのシグナルをチャートに変換する事前構築済みのダッシュボードをインポートしてください。
前提条件
始める前に、以下があることを確認してください:
- Resource Manager、Terraform、または手動セットアップを使用してすでにデプロイしたOCIログフォワーダー関数
- ダッシュボードをインポートする際に使用するNew RelicアカウントID
セルフオブザーバビリティメトリクスを有効化
ログ関数の設定変数(VAULT_REGION、SECRET_OCID、およびその他のログ変数を設定したのと同じ場所)に、次を追加します:
FORWARDER_METRICS_TIER:フォワーダーが発行するセルフオブザーバビリティメトリクスを制御します。各設定で収集される内容については、メトリクスティアをご覧ください。
Resource ManagerまたはTerraformでインテグレーションをセットアップする場合、追加する必要がある変数はFORWARDER_METRICS_TIERのみです — TENANCY_NAMEとCOMPARTMENT_NAMEは自動的に解決されます。
インテグレーションを手動でセットアップした場合は、次も追加してください:
TENANCY_NAME:表示名でOCIテナンシを識別し、フォワーダーのメトリクスにタグを付けることで、複数のテナンシをモニターする場合にそれらを区別できるようにします。COMPARTMENT_NAME:ログ機能をデプロイしたコンパートメントを表示名で識別し、コンパートメントごとの内訳のためにメトリクスにタグを付けます。テナンシのルート・コンパートメントにデプロイした場合は、TENANCY_NAMEと同じ値を使用してください。
重要
New Relicは、他のメトリクスデータと同様に、これらのセルフオブザーバビリティメトリクスを取り込み時に課金します。
メトリクスティア
FORWARDER_METRICS_TIER 可視性とコストのバランスをとることができます。次のいずれかの値を受け入れます:
none: 自己オブザーバビリティのメトリクスを完全に無効にします。basic(デフォルト):コアヘルスメトリクス(呼び出し回数、受信、配信、ドロップされたレコード、配信時間、パイプラインの遅延)を収集します。advanced:basicのすべてに加えて、より詳細なチューニングメトリクス(バイト量、デコードとシリアライズのエラー数、バッチ処理の動作、配信エラークラス、関数の実行時間、シークレット取得の失敗、クライアントのキャッシュのヒット率)を収集します。
オブザーバビリティダッシュボードのインポート
重要
ダッシュボードをインポートする前に、FORWARDER_METRICS_TIERをbasicまたはadvancedに設定してください。noneに設定すると、ダッシュボードには表示するデータがなくなります。
ダッシュボードをインポートするには:
oci-log-integrationGitHubリポジトリにあるoci-log-forwarder-metrics-dashboard-template.jsonファイルを開き、その内容をコピーします。- コピーしたJSON内で、
YOUR_ACCOUNT_IDをすべて検索し、New RelicアカウントIDに置換します。 - one.newrelic.com > All capabilities > Dashboardsに移動します。
- 右上隅にあるImport dashboardをクリックします。
- 編集したJSONを貼り付けてください。
- ダッシュボードのアカウントと権限設定を選択し、Saveをクリックします。
ログ関数が、メトリクスを有効にした呼び出しを少なくとも1回処理した後に、ダッシュボードにデータが表示されます。
ダッシュボードを使用したトラブルシューティング
OCIログがNew Relicに届かなくなった場合は、まずこのダッシュボードを確認してください。シークレット取得の失敗や配信エラーの急増は、OCIやNew Relic自体ではなく、サービス・コネクタ・ハブ、ログ・グループ、関数などのフォワーダー・パイプラインに問題があることを示しています。ポリシーやキー・ボールトの権限などの根本的な問題を修正すると、何も再デプロイすることなくログが再開されます。
ログデータがまったく表示されず、基本的なインテグレーションが機能していることをまだ確認していない場合は、代わりに標準のログのトラブルシューティング手順から始めてください。
次のステップ
OCIインテグレーションの探索を続けてください:
- New RelicがOCIから収集するメトリクスの完全なリストをご覧ください。
- 基本インテグレーション自体が機能していない場合は、一般的なOCIインテグレーションのトラブルシューティングを参照してください。