Application Insights 中的連接字串
連接字串會指定所檢測應用程式應傳送遙測數據的 Application Insights 資源。 連接字串 是由多個設定所組成,每個設定都以索引鍵/值組表示,並以分號分隔。 這個合併的組態方法可藉由消除多個 Proxy 設定的需求來簡化設定程式。
重要
連接字串包含了 ikey,這是一個唯一識別碼,擷取服務會用這個識別碼來建立遙測與特定 Application Insights 資源的關聯。 Ikey 唯一標識碼不是安全性令牌或安全性密鑰,而且不會被視為秘密。
如果您想要保護 Application Insights 資源免於誤用,擷取端點會根據 Microsoft Entra ID 提供已驗證的遙測擷取選項。
連接字串功能
- 可靠性:連接字串移除對全域擷取端點的相依性,讓遙測擷取更可靠。
- 安全性:連接字串使用 Application Insights 的 Microsoft Entra 驗證,可進行經過驗證的遙測擷取。
- 自訂端點 (主權或混合式雲端環境):端點設定允許將資料傳送至特定的 Azure Government 區域。 (請參閱範例。)
- 隱私權 (區域端點):連接字串可藉由將資料傳送至區域端點來減緩隱私權問題,確保資料不會離開地理區域。
尋找您的連接字串
您的連接字串會出現在 Application Insights 資源的 [概觀] 區段上。
結構描述
下列各節將說明結構描述元素。
最大長度
連線的最大支援長度為 4,096 個字元。
索引鍵/值組
連接字串由以分號分隔的機碼值組表示的設定清單所組成:key1=value1;key2=value2;key3=value3
提示
本檔涵蓋可設定的機碼/值組。 某些索引鍵/值組無法設定,而且會自動設定,例如 ApplicationId
。 在您的環境中觀察到這些規則時,可以放心地忽略它們。
語法
InstrumentationKey
(例如,00000000-0000-0000-0000-000000000000)。InstrumentationKey
是必要欄位。Authorization
(例如,ikey)。 這是選用設定,因為現今我們只支援 ikey 授權。EndpointSuffix
(例如,applicationinsights.azure.cn)。 設定端點尾碼說明 Azure 雲端要連線至哪個 SDK。 SDK 會為個別服務組合其餘端點。明確端點。 任何服務都可以在 連接字串 中明確覆寫:
IngestionEndpoint
(例如https://dc.applicationinsights.azure.com
)LiveEndpoint
(例如https://live.applicationinsights.azure.com
)ProfilerEndpoint
(例如https://profiler.monitor.azure.com
)SnapshotEndpoint
(例如https://snapshot.monitor.azure.com
)
端點結構描述
<prefix>.<suffix>
- 前置詞: 定義服務。
- 後綴: 定義通用功能變數名稱。
有效的後置詞
- applicationinsights.azure.cn
- applicationinsights.us
如需詳細資訊,請參閱需要修改端點的區域。
有效的前置詞
連接字串範例
以下是連接字串的一些範例。
具有端點尾碼的連接字串
InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=ai.contoso.com;
在此範例中,連接字串會指定端點尾碼,而 SDK 會建構服務端點:
- 授權配置預設為「ikey」
- 檢測金鑰:00000000-0000-0000-0000-000000000000
- 區域服務統一資源識別碼 (URI) 是以提供的端點後綴為基礎:
- 擷取:
https://dc.ai.contoso.com
- 即時計量:
https://live.ai.contoso.com
- 適用於 .NET 的分析工具:
https://profiler.ai.contoso.com
- 偵錯工具:
https://snapshot.ai.contoso.com
- 擷取:
具有明確端點覆寫的連接字串
InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://custom.com:111/;LiveEndpoint=https://custom.com:222/;ProfilerEndpoint=https://custom.com:333/;SnapshotEndpoint=https://custom.com:444/;
在此範例中,連接字串會指定每個服務的明確覆寫。 SDK 會使用所提供的確切端點,而不會進行修改:
- 授權配置預設為「ikey」
- 檢測金鑰:00000000-0000-0000-0000-000000000000
- 區域服務 URI 以明確的覆寫值為基礎:
- 擷取:
https://custom.com:111/
- 即時計量:
https://custom.com:222/
- 適用於 .NET 的分析工具:
https://custom.com:333/
- 偵錯工具:
https://custom.com:444/
- 擷取:
具有明確區域的連接字串
InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://southcentralus.in.applicationinsights.azure.com/
在此範例中,連接字串指定美國中南部區域:
- 授權配置預設為「ikey」
- 檢測金鑰:00000000-0000-0000-0000-000000000000
- 區域服務 URI 以明確的覆寫值為基礎:
- 擷取:
https://southcentralus.in.applicationinsights.azure.com/
- 擷取:
若要列出可用的區域,請在 Azure CLI 中執行下列命令:
az account list-locations -o table
設定連接字串
我們所有的 OpenTelemetry 供應專案和下列 SDK 版本都支援 連接字串:
- .NET v2.12.0
- JavaScript v2.3.0
- NodeJS v1.5.0
- Python v1.0.0
您可以使用環境變數或組態檔,在程式代碼中設定 連接字串。
環境變數
連接字串:APPLICATIONINSIGHTS_CONNECTION_STRING
程式碼範例
語言 | Classic API | OpenTelemetry |
---|---|---|
ASP.NET Core | Application Insights SDK | AzMon OTel Distro |
.NET Framework | Application Insights SDK | AzMon 匯出工具 |
Java | N/A | Java 代理程式 |
JavaScript | JavaScript (Web) SDK 載入器指令碼 | N/A |
Node.js | Application Insights SDK | AzMon OTel Distro |
Python | OpenCensus Python SDK | AzMon OTel Distro |
常見問題集
本節提供常見問題的答案。
新的 Azure 區域是否需要使用連接字串?
新的 Azure 區域需要使用連接字串而不是檢測金鑰。 連接字串可識別您想要與遙測資料建立關聯的資源。 其也可讓您修改資源用來作為遙測目的地的端點。 請複製連接字串,並將其新增至應用程式的程式碼或新增至環境變數。
我應該使用連接字串或檢測金鑰?
我們建議您使用連接字串,而非檢測金鑰。
下一步
在執行階段開始使用︰
- Azure 虛擬機 (VM) 和 Azure 虛擬機器擴展集 IIS 裝載的應用程式
- Internet Information Server (IIS) 伺服器
- Azure App Service 中的 Web Apps 功能
在開發階段開始使用︰