OCIログ転送インテグレーションは、Oracleクラウドインフラストラクチャ(OCI)テナンシからNew Relicにログを送信します。時間の経過とともに、New Relicは機能の追加、問題の修正、セキュリティアップデートを提供するインテグレーションの新しいバージョンをリリースします。ログが届かなくなったり、既存のインテグレーションでその他の問題が発生したりした場合、新しいバージョンに修正が含まれている可能性があります。インテグレーションは独自のテナンシで実行されるため、デプロイしたものをアップグレードすることで新しいバージョンを受け取ります。このガイドでは、そのプロセスについて説明します:
- 現在ご使用の構成をご確認ください。
- 必要に応じて、以前の構成から現在の構成に移行してください。
- Resource Manager、Terraform、または手動設定を使用してアップグレードしてください。
- ログが引き続き到着していることを確認してください。
初めて転送を設定する場合は、OCIログ転送のインストールと構成をご覧ください。
アップグレードのタイミング
ログが送信されている間は、アップグレードは必須ではありません。リリースがご自身に関連するかどうかを判断するには、oci-log-integrationのリリースページで各新バージョンのリリースノートをお読みください。対応が必要になる場合があるため、特に破壊的変更がないか確認してください。
セットアップの確認
デプロイメントでは、2つの設定のいずれかを使用します。Resource ManagerスタックまたはTerraformモジュールの設定を確認してください:
- Current setup [現在のセットアップ]で、Function image [関数イメージ]設定を使用する場合:適用すると、インテグレーションはDocker Hubから関数イメージをご自身のテナンシ内のプライベートなContainer Registryリポジトリにコピーし、関数はそのコピーから実行されます。関数は実行時にNew Relicがホストするレジストリに依存しないため、その可用性はそのレジストリに依存しません。インテグレーションは、適用時にのみDocker Hubを使用します。バージョンを固定できます。
- 以前の設定で、New Relic Owned Registry [New Relic所有のレジストリ]設定を使用する場合:関数は、独自のテナンシ内のコピーからではなく、設定したバージョンのNew Relic所有のレジストリから直接プルします。New Relicは、この設定を廃止しました。
以前の設定を使用している場合は、まず現在の設定への1回限りの移行を行ってください。その後は、すべてのアップグレードで通常のアップグレード手順に従います。
関数とテンプレートについて理解します。
インテグレーションは2つの部分で構成されています。これらは独立してバージョン管理およびリリースされ、リリースによっていずれか一方または両方が変更される可能性があります:
- ログフォワーダー関数:New Relicにログを送信するコードです。New Relicはこれを
docker.io/newrelic/oci-log-forwarderとしてDocker Hubに公開し、oci-log-integrationのリリース・ページで各リリースにfunction-<version>と命名します。 - インテグレーションテンプレート: 関数に関する設定であり、Resource Manager [リソースマネージャー]スタックとその変数、またはTerraformモジュールです。テンプレートのリリースでは、同じリリースページでプレーンなバージョン番号を使用し、
oci-log-integration.zipファイルが含まれます。Terraformモジュールのバージョンは、terraform-provider-newrelicのリリースタグです。
各部分の更新方法は、使用する方法によって異なります:
- Resource ManagerとTerraformが関数を更新します。applyを実行するたびに、Docker Hub上で
latestタグが指すイメージを確認し、より新しいイメージを取り込みます。 - 新しいテンプレートの適用は、意図的なステップです。リリースによってテンプレートが変更された場合にのみテンプレートを更新し、同時に関数も更新してください。これにより、デプロイメントはNew Relicがリリース用にテストした組み合わせに保たれます。関数のリリースはすでに使用されているテンプレートとの互換性を維持するため、新しいテンプレートよりも先に新しい関数を適用できます。
- 手動セットアップでは、自動的に更新されるものはありません。ご自身でバージョンを選択し、イメージをコピーします。
始める前に
アップグレードする前に:
- インテグレーションを実行するResource Managerスタック、Terraform設定、またはFunctionsアプリケーションを編集できることを確認してください。
- 現在実行中のバージョンを確認し、最新リリースと比較してください:Function image [関数イメージ] の値またはイメージタグ、およびTerraformモジュールの
?ref=の値です。
以前のセットアップから現在のセットアップに移行する
これは1回限りの移行であり、バージョンの引き上げではありません。
変更点。設定に、完全なイメージ参照を持つFunction image [関数イメージ]設定と、オプションのコンテナレジストリのユーザー名および認証トークン設定が追加されます。New RelicはNew Relic Owned Registry [New Relic所有のレジストリ]を廃止したため、影響はありません。最初の適用時に、インテグレーションはnewrelic-logs/oci-log-forwarder(Terraformではnewrelic-logs-tf/oci-log-forwarder)という名前のプライベートなコンテナレジストリのリポジトリを作成し、そこに関数イメージをコピーします。
最初に確認すること。applyを実行するものは何であれ、すでに到達しているOCIエンドポイントに加えて、Docker Hubおよびご自身のテナンシのコンテナ・レジストリへのアウトバウンド・アクセスが必要です。また、インテグレーションがイメージをプッシュするには、コンテナ・レジストリの資格情報も必要です。認証トークンの設定を空のままにすると、applyを実行しているユーザー用にトークンが作成され、以降のapplyで再利用されます。
重要
OCIでは、各ユーザーが保持できる認証トークンの数が制限されており、現在は2つです。applyを実行するユーザーがすでに上限に達しており、auth token [認証トークン] の設定を空のままにした場合、applyは失敗し、既存のトークンを要求するエラーが発生します。まず未使用のトークンを削除するか、auth token [認証トークン] および username [ユーザー名] の設定に既存のトークンとそのユーザー名を入力してください。OCIのUser Settings [ユーザー設定] で現在の制限を確認してください。
現在のセットアップでデプロイメントをアップグレードします。
スタックまたはモジュールにFunction image [関数イメージ]設定がある場合は、これらの手順を使用してください。インテグレーションの設定に使用した方法を選択してください。
アップグレード後の確認
アップグレードから数分以内に、ログが引き続き届いていることを確認してください:
SELECT count(*) FROM Log WHERE instrumentation.provider = 'oci' SINCE 10 minutes agoカウントがゼロに低下した場合は、OCI Console [OCIコンソール]で関数の実行ログを確認してください。
関数が新しいイメージをプルするため、アップグレード後の初回呼び出し時に一時的な速度低下が発生するのは正常です。どのバージョンが適用されたかを確認するには、コンテナ・レジストリのリポジトリにあるイメージ・タグを確認してください。
関連記事
- OCIログ転送のインストールと構成: 初めてOCIログ転送をセットアップします。
- OCIログフォワーダーをモニターする:ログフォワーダー関数で自己オブザーバビリティ・メトリクスを有効にします。
- トラブルシューティング: セットアップ中にデータが表示されない場合の修正方法。