APMログ・センダー機能
OCI FunctionsのAPMログ・センダー事前構築済関数を使用して、サービス・ログをAPMドメインに移動する方法をご覧ください。
共通の使用方法のシナリオ
サービス・コネクタのターゲットとして機能を使用して、APMログ・センダーPBFを使用してサービス・ログをAPMドメインに移動します。この関数の主な用途は、OICアクティビティ・ストリーム・ログをファンクションに接続することで、Application Performance Monitoring (APM)とのOracle Integration Cloud (OIC)統合を監視することです。
APMログ・センダー機能に関連するサービスは次のとおりです。
有効範囲
この関数のスコープに関する考慮事項は次のとおりです。
- この関数は、OICアクティビティ・ストリーム・ロギングを含む任意のログ・リソースで使用できます。詳細は、Oracle Cloud Infrastructure Consoleでの統合のアクティビティ・ストリームの取得を参照してください。
- この関数は、サービス・コネクタのターゲットとして使用されます。詳細は、コネクタ・ハブの概要を参照してください。
- この関数は、任意のAPMドメインのデータ・ソースとして機能できます。詳細は、Application Performance Monitoringのデータ・ソースの構成を参照してください。
前提条件と推奨事項
この事前作成機能を使用する場合のベスト・プラクティスを次に示します。
- 事前構築済み関数のタイムアウトを300秒に設定します。
- アプリケーションに指定されたサブネットがプライベート・サブネットの場合、VCNにサービス・ゲートウェイが含まれている必要があります。アプリケーションに指定されたサブネットがパブリック・サブネットの場合、VCNにインターネット・ゲートウェイが含まれている必要があります。どちらの場合も、必要なルーティング・ルールが存在する必要があります。ファンクションを呼び出すと、FunctionInvokeImageNotAvailableメッセージおよび502エラーが返されるトラブルシューティング・トピックの手順を参照してください。
- 関数、APMドメインおよびログ・リソースはすべて同じリージョンに存在する必要があります。
APMログ・センダー機能の構成
APMログ・センダー機能を作成するには、次のステップを実行します。
デプロイ・ダイアログに、ファンクションをデプロイするタスクが表示されます(「事前構築済ファンクション・デプロイメントの終了」を参照)。
構成オプション
構成パラメータ
名前 | 説明 | 必須 |
---|---|---|
APM_DOMAIN_ID |
サービスログをモニターするドメインのID。 | Yes |
PBF_LOG_LEVEL |
ロギング・レベル、オプションはDEBUG 、INFO 、WARN およびERROR です。デフォルトはINFO です。 |
番号 |
権限
ファンクションを実行するには、特定のIAMポリシーが必要です。ファンクションの作成時に「動的グループおよびIAMポリシーを作成しない」オプションを選択した場合は、動的グループおよびIAMポリシーを自分で定義する必要があります。
適切なポリシーを設定するには、次のステップを実行します。
- ルールを使用して動的グループを作成します:
ALL {resource.id = '<function_ocid>', resource.compartment.id = '<compartment_ocid>'
- 動的グループを使用してIAMポリシーを構成します:
Allow dynamic-group <dynamic-group-name> to read apm-domains in compartment <compartment-name> Allow dynamic-group <dynamic-group-name> to {APM_DOMAIN_DATA_UPLOAD} in compartment <compartment-name>
<function-ocid>
を、前のステップで作成したファンクションのOCIDに置き換えます。 <dynamic-group-name>
を、ファンクションのOCIDを使用して作成した動的グループの名前に置き換えます。<compartment_ocid>
を、ファンクションを含むコンパートメントのOCIDに置き換えます。<compartment_name>
をAPMドメインを含むコンパートメントの名前に置き換えます。この関数の起動
- このPBFを使用して関数を作成します。
- コネクタ・ハブにコネクタを作成し、アクティビティ・ストリーム・ログをファンクションに転送します。
- ナビゲーション・メニューを開き、「アナリティクスとAI」を選択します。「メッセージング」で、「コネクタ・ハブ」を選択します。
- 「コネクタの作成」ボタンを選択します。
- 名前とオプションの説明を入力します。
- コンパートメントの選択
- 「コネクタの構成」で、「ソース」を「ロギング」に、「ターゲット」を「ファンクション」に設定します。
- 「ソースの構成」で、「ログ・グループ」および「ログ」をサービス・ログにポイントします。
- 「ターゲットの構成」で、「ファンクション・アプリケーション」および「ファンクション」を前のステップで作成したファンクションに設定します。
ノート:タスクを構成しないでください。
- 「作成」ボタンを選択します。
問題解決
OCI Functions共通ステータス・コード
次の表に、事前構築済ファンクションの操作時に発生する可能性がある一般的なOCIファンクション・エラーの概要を示します。
エラー・コード | Error Message | アクション |
---|---|---|
200 | 完了 | なし |
404 | NotAuthorizedOrNotFound | 必要なポリシーが構成されていることを確認します(FnプロジェクトのCLIコマンドの実行による404エラーの戻りを参照)。 |
444 | タイム・アウト |
ファンクションの実行中にクライアントとOCIファンクション間の接続が中断されました(ファンクションを呼び出すと、クライアントがタイムアウトをレポートし、ファンクションのログに444エラーが表示されますを参照)。再試行すると問題が解決する可能性があります。 ほとんどのクライアントの内部タイムアウトは60秒です。組み込み関数のタイムアウトが300秒に設定されている場合でも、次のことが必要な場合があります。
詳細は、関数の呼出しを参照してください。 |
502, 504 | (各種) | ほとんどの問題では、502ステータス・コードが返されます(「ファンクションの呼出しは、ファンクションの失敗メッセージおよび502エラーを返します」を参照)。「error receiving function response」というメッセージを含む502エラーは、メモリー割り当てを増やすことによって解決される可能性があります。502は、関数が一時的な状態にあるときに発生することがあります。再試行すると問題が解決する可能性があります。 |
原因をさらに特定するには、事前構築済ファンクションのロギング機能を有効にします(ファンクション・ログの格納および表示を参照)。ファンクションのトラブルシューティングの詳細は、OCIファンクションのトラブルシューティングを参照してください。
APMログ・センダー事前作成機能エラー・メッセージ
次の表に、この事前作成機能の使用時に発生する可能性のあるエラーの概要を示します。
エラー・コード | Error Message | アクション |
---|---|---|
なし | データ・アップロード・エンドポイントを取得できません |
次の必須ポリシー・ステートメントが作成されたことを確認します。
|
なし | APMコレクタへの転記に失敗しました |
次の必須ポリシー・ステートメントが作成されたことを確認します。
アプリケーションのVCNに適切なゲートウェイが構成されていることを確認します。前提条件と推奨事項を参照してください。 |
原因をさらに特定するには、事前構築済ファンクションのロギング機能を有効にします(ファンクション・ログの格納および表示を参照)。
ログ分析のヒント
すべての組み込み関数は、ロギングレベルを構成パラメータとして指定するオプションを提供します。ロギング・レベルをDEBUG
に設定して、詳細情報を取得できます。
アプリケーションには複数の関数があるため、事前に作成された関数ログエントリは接頭辞「PBF | <PBF NAME>」で識別されます。
たとえば、APMログ・センダーの事前作成関数のログ・エントリは次のようになります。
"PBF | APM Log Sender | ERROR | 2024-08-13T12:44:49.579050219Z | Unable to retrieve data upload endpoint"