アプリにテレメトリーを設定してログシンクとして機能させ、このアプリ経由でログデータを外部の可観測性プロバイダーに送信することができます。サードパーティープロバイダーとしてサポートされているのは、現在のところ、HoneycombSentryのみです。

テレメトリー コンポーネント ファイルを作成して設定する

プロジェクトのapp/ディレクトリー内にtelemetry/ディレクトリーを作成し、その中にtelemetry-hsmeta.json設定ファイルを追加します。
└── src/
    └── app/
        └── telemetry/
            └── telemetry-hsmeta.json
telemetry-hsmeta.jsonファイルを編集して、プロバイダー、ログレベルなどを設定します。以下に、ファイルの例と併せて、利用可能な各フィールドについて説明する表を記載します。
: 既定では、logTypesフィールドとlogLevelsフィールドを介して全てのタイプとレベルのログがプロバイダーと同期されるため、大量のデータが送信されることになる場合があります。始めは関心のあるログタイプのみを設定し、エラーだけに絞り込まれるようにログレベルを設定することを強くお勧めします。

telemetry-hsmeta.json

{
  "uid": "telemetry",
  "type": "telemetry",
  "config": {
    "providerType": "SENTRY",
    "datasetName": "my-app-telemetry",
    "logTypes": [
      "API_CALL",
      "EXTENSION_LOG",
      "EXTENSION_RENDER",
      "DATA_FETCH"
    ],
    "logLevels": [
      "ERROR",
      "WARN",
      "INFO"
    ]
  }
}
フィールド説明
uid文字列テレメトリー設定の一意の識別子。任意の値を設定できますが、このフィールドはアカウントのプロジェクト設定に表示されるため、他のアプリコンポーネントのuid値とは異なる値にする必要があります。
type文字列コンポーネントのタイプ。この場合はtelemetryにする必要があります。
configオブジェクト設定の詳細を格納するオブジェクト。以下の行にリストされているサブプロパティーを参照してください。
providerType文字列サードパーティー テレメトリー プロバイダーの名前。現在のところ、サポートされているのはSENTRYHONEYCOMBのみです。
datasetName文字列ログデータに関連付けられるラベル(プロバイダーがこのオプションをサポートしている場合)。
logTypes配列外部プロバイダーに送信されるログタイプのリスト。既定では、全てのログがプロバイダーに伝播されます。利用可能なログタイプ:["CRM_LEGACY_CARD", "CRM_EXTENSIBILITY_CARD", "WEBHOOKS", "API_CALL", "APP_SETTINGS", "SERVERLESS_EXECUTION", "PROXY_EXECUTION", "EXTENSION_RENDER", "EXTENSION_LOG", "SERVERLESS_GATEWAY_EXECUTION"]
logLevels配列ログのフィルター条件となる重大度レベルのリスト。サポートされているログレベル:["ERROR", "WARNING", "INFO"]

CLIを使用して外部認証をシークレットとして追加する

上記のtelemetry-hsmeta.json設定ファイルを作成するだけでなく、プロバイダーの認証キーに相当するシークレットを追加する必要もあります。
  • Sentryを使用している場合は、シークレットとしてDSN(データソース名)を追加します。
  • Honeycombを使用している場合は、シークレットとしてAPIキーを追加します。

Sentry DSNを特定する

Sentryを使用している場合は、以下の手順に従ってDSNを取得します。
  • Sentryアカウントにログインします。
  • プロジェクトの設定に移動します。
  • [クライアントキー__]または[DSN__]セクションで、プロジェクトでの一意のDSNを確認できます。以下に例を示します。
https://sentry-key@sentry-identifier.ingest.us.sentry.io/project-id

Honeycomb APIキーを特定する

外部の可観測性プロバイダーとしてHoneycombを使用している場合は、データの認証と転送にAPIキーが使用されます。このAPIキーは特定のHoneycombアカウントとプロジェクトに関連付けられたものです。 Honeycomb APIキーを生成するには、次のようにします。
  • Honeycombアカウントににログインします。
  • プロジェクトの設定に移動します。
  • [APIキー__]セクションを見つけて、新しいキーを生成します。
  • 生成されたAPIキーをコピーします。

HubSpot CLIを使用してシークレットを追加する

Sentry DSNまたはHoneycomb APIキーを取得した後は、その値をシークレットとして追加するために次のコマンドを実行します。シークレットの名前を求められたら、ログデータを正しく同期するために、必ずTELEMETRY_SECRETを使用してください。
hs app secrets add