設定單變數容器異常偵測程式
重要
從 2023 年 9 月 20 日起,您將無法建立新的異常偵測程式資源。 異常偵測程式服務將于 2026 年 10 月 1 日淘汰。
異常偵測程式 容器執行時間環境是使用 docker run
命令引數來設定的。 此容器有數個必要設定,以及一些選擇性設定。 有數 個命令範例 可供使用。 容器特定的設定是計費設定。
組態設定
此容器具有下列組態設定:
必要 | 設定 | Purpose |
---|---|---|
Yes | ApiKey | 用來追蹤帳單資訊。 |
No | ApplicationInsights | 可讓您將 Azure 應用程式 Insights 遙測支援新增 至您的容器。 |
Yes | Billing | 指定 Azure 上服務資源的端點 URI。 |
Yes | Eula | 表示您已接受容器的授權。 |
No | Fluentd | 選擇性地將記錄和計量資料寫入 Fluentd 伺服器。 |
No | Http Proxy | 設定 HTTP Proxy 以提出輸出要求。 |
No | Logging | 為您的容器提供 ASP.NET 核心記錄支援。 |
No | 坐騎 | 從主機電腦讀取和寫入資料到容器,以及從容器寫入主機電腦。 |
ApiKey 組態設定
此 ApiKey
設定會指定用來追蹤容器帳單資訊的 Azure 資源金鑰。 您必須為 ApiKey 指定值,且值必須是組態設定所 Billing
指定異常偵測程式 資源的有效索引鍵 。
您可以在下列位置找到此設定:
- Azure 入口網站: 異常偵測程式的資源 管理,在 [金鑰] 底下
ApplicationInsights 設定
此 ApplicationInsights
設定可讓您將 Azure 應用程式 Insights 遙測支援新增 至您的容器。 Application Insights 提供容器的深入監視。 您可以輕鬆地監視容器的可用性、效能和使用方式。 您也可以快速識別並診斷容器中的錯誤。
下表描述 區段底下 ApplicationInsights
支援的組態設定。
必要 | 名稱 | 資料類型 | 描述 |
---|---|---|---|
No | InstrumentationKey |
String | 傳送容器遙測資料的 Application Insights 實例檢測金鑰。 如需詳細資訊,請參閱 ASP.NET Core 的 Application Insights。 範例: InstrumentationKey=123456789 |
帳單組態設定
此 Billing
設定會指定 Azure 上異常偵測程式 資源的端點 URI ,用來計量容器的計費資訊。 您必須指定此組態設定的值,而且此值必須是 Azure 上異常偵測程式 資源的有效端點 URI 。
您可以在下列位置找到此設定:
- Azure 入口網站: 標示異常偵測程式概 觀
Endpoint
必要 | 名稱 | 資料類型 | 描述 |
---|---|---|---|
Yes | Billing |
String | 計費端點 URI。 如需取得計費 URI 的詳細資訊,請參閱 收集必要的參數 。 如需詳細資訊和完整的區域端點清單,請參閱 Azure AI 服務的自訂子網域名稱。 |
Eula 設定
此 Eula
設定表示您已接受容器的授權。 您必須為此組態設定指定值,且值必須設定為 accept
。
必要 | 名稱 | 資料類型 | 描述 |
---|---|---|---|
Yes | Eula |
String | 接受授權 範例: Eula=accept |
Azure AI 服務容器是在您的合約 (控管您對於 Azure 的使用) 底下獲得授權。 如果您沒有管理您 Azure 使用的現有合約,表示您同意管理 Azure 使用方式的合約是 Microsoft Online 訂用帳戶合約 ,其中包含 線上服務條款 。 針對預覽版,您也同意 Microsoft Azure 預覽 版的補充使用規定。 藉由使用容器,即表示您同意這些條款。
Fluentd 設定
Fluentd 是統一記錄的開放原始碼資料收集器。 這些 Fluentd
設定會管理容器與 Fluentd 伺服器的連線。 容器包含 Fluentd 記錄提供者,可讓您的容器將記錄和選擇性地計量資料寫入 Fluentd 伺服器。
下表描述 區段底下 Fluentd
支援的組態設定。
名稱 | 資料類型 | 描述 |
---|---|---|
Host |
String | Fluentd 伺服器的 IP 位址或 DNS 主機名稱。 |
Port |
整數 | Fluentd 伺服器的埠。 預設值為 24224。 |
HeartbeatMs |
整數 | 活動訊號間隔,以毫秒為單位。 如果此間隔到期之前未傳送任何事件流量,活動訊號就會傳送至 Fluentd 伺服器。 預設值為 60000 毫秒(1 分鐘)。 |
SendBufferSize |
整數 | 配置給傳送作業的網路緩衝區空間,以位元組為單位。 預設值為 32768 位元組(32 KB)。 |
TlsConnectionEstablishmentTimeoutMs |
整數 | 逾時,以毫秒為單位,用來建立與 Fluentd 伺服器的 SSL/TLS 連線。 預設值為 10000 毫秒(10 秒)。 如果 UseTLS 設定為 false,則會忽略此值。 |
UseTLS |
布林值 | 指出容器是否應該使用 SSL/TLS 與 Fluentd 伺服器通訊。 預設值為 false。 |
Http Proxy 認證設定
如果您需要設定 HTTP Proxy 以提出輸出要求,請使用這兩個引數:
名稱 | 資料類型 | 描述 |
---|---|---|
HTTP_PROXY | string | 要使用的 Proxy,例如 http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | 任何針對 Proxy 進行驗證所需的認證,例如 username:password 。 此值 必須以小寫 為單位。 |
<proxy-user> |
string | Proxy 的使用者。 |
<proxy-password> |
string | 與 <proxy-user> Proxy 相關聯的密碼。 |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
記錄設定
這些 Logging
設定會管理容器的 ASP.NET Core 記錄支援。 您可以針對用於 ASP.NET Core 應用程式的容器使用相同的組態設定和值。
容器支援下列記錄提供者:
Provider | 目的 |
---|---|
主控台 | ASP.NET Core Console 記錄提供者。 支援此記錄提供者的所有 ASP.NET 核心組態設定和預設值。 |
偵錯 | ASP.NET Core Debug 記錄提供者。 支援此記錄提供者的所有 ASP.NET 核心組態設定和預設值。 |
磁碟 | JSON 記錄提供者。 此記錄提供者會將記錄資料寫入輸出掛接。 |
此容器命令會將 JSON 格式的記錄資訊儲存至輸出掛接:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
此容器命令會顯示偵錯資訊,前面加上 dbug
,而容器正在執行:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
磁片記錄
記錄 Disk
提供者支援下列組態設定:
名稱 | 資料類型 | 描述 |
---|---|---|
Format |
String | 記錄檔的輸出格式。 注意: 此值必須設定為 json ,才能啟用記錄提供者。 如果在具現化容器時未指定輸出掛接,則會發生錯誤。 |
MaxFileSize |
整數 | 記錄檔的大小上限,以 MB 為單位。 當目前記錄檔的大小符合或超過此值時,記錄提供者會啟動新的記錄檔。 如果指定了 -1,記錄檔的大小只會受限於輸出掛接的最大檔案大小。 預設值是 1。 |
如需設定核心記錄支援 ASP.NET 的詳細資訊,請參閱 設定檔案組態 。
掛接設定
使用系結掛接來讀取和寫入容器中的資料。 您可以在 docker run 命令中 指定 選項,以指定 --mount
輸入掛接或輸出掛接。
異常偵測程式容器不會使用輸入或輸出掛接來儲存定型或服務資料。
主機掛接位置的確切語法會根據主機作業系統而有所不同。 此外,由於 Docker 服務帳戶所使用的許可權與主機裝載位置許可權之間發生衝突, 因此可能無法存取主機電腦的 掛接位置。
選擇性 | 名稱 | 資料類型 | 描述 |
---|---|---|---|
不允許 | Input |
String | 異常偵測程式容器不會使用此。 |
選擇性 | Output |
String | 輸出掛接的目標。 預設值是 /output 。 這是記錄的位置。 這包括容器記錄。 範例: --mount type=bind,src=c:\output,target=/output |
範例 docker 執行命令
下列範例會使用組態設定來說明如何撰寫和使用 docker run
命令。 執行之後,容器會繼續執行,直到您 停止 為止。
- 行接續字元 :下列各節中的 Docker 命令會使用反斜線 ,做為 bash
\
殼層的行接續字元。 根據您的主機作業系統需求取代或移除此專案。 例如,視窗的行接續字元是插入號 。^
以插入號取代反斜線。 - 引數順序 :除非您非常熟悉 Docker 容器,否則請勿變更引數的順序。
以您自己的值取代括弧 {}
中的值:
預留位置 | 值 | 格式或範例 |
---|---|---|
{API_KEY} | Azure Anomaly Detector 金鑰頁面上資源的端點金鑰 Anomaly Detector 。 |
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | 計費端點值可在 Azure Anomaly Detector 概觀頁面上取得。 |
如需明確的範例,請參閱 收集必要的參數 。 |
注意
在 2019 年 7 月 1 日之後建立的新資源將會使用自訂子功能變數名稱稱。 如需詳細資訊和完整的區域端點清單,請參閱 Azure AI 服務的自訂子網域名稱。
重要
Eula
必須指定 、 Billing
和 ApiKey
選項來執行容器,否則容器將不會啟動。 如需詳細資訊,請參閱 計費 。
ApiKey 值是 Azure AI 異常偵測程式資源金鑰頁面中的金鑰 。
異常偵測程式容器 Docker 範例
下列 Docker 範例適用于異常偵測程式容器。
基本範例
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
使用命令列引數的記錄範例
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector \
Eula=accept \
Billing={ENDPOINT_URI} ApiKey={API_KEY} \
Logging:Console:LogLevel:Default=Information