Azure OpenAI 集成
编辑Azure OpenAI 集成
编辑Azure OpenAI 服务提供构建您自己的 Copilot 和 AI 应用程序的灵活性。Azure OpenAI 集成分别通过 azure-monitor 和 Azure 事件中心 收集指标和日志。
要完全填充 Azure OpenAI 仪表板镜头,必须启用日志和指标数据流,并预先设置 Azure 账单集成。
数据流
编辑日志
编辑Azure OpenAI 日志数据流捕获审计事件和请求-响应事件。
支持的 Azure 日志类别
数据流 | 日志类别 |
---|---|
日志 |
审计 |
日志 |
请求响应 |
日志 |
ApiManagementGatewayLogs |
要求和设置
编辑有关设置和使用此集成的更多信息,请参阅 Azure 日志页面。
默认日志记录
编辑Azure OpenAI 提供原生日志记录和监控,您可以使用它来跟踪服务的遥测数据。审计和请求响应日志类别属于原生日志记录。但是,默认日志记录不会记录服务的输入和输出。这些对于确保服务按预期运行很有用。
使用默认认知服务收集的日志在此处列出 here。
高级日志记录
编辑API 管理服务提供高级日志记录功能。ApiManagementGatewayLogs 类别属于高级日志记录。这在 Azure OpenAI 服务本身中不可直接使用。您必须在 Azure 中设置 API 管理服务才能访问 Azure OpenAI。完成设置后,为 API 管理服务添加诊断设置。
您可以在 here找到有关如何使用 API 管理服务实施全面解决方案来监控 Azure OpenAI 服务的信息。
诊断设置
- 启用类别
Logs related to ApiManagement Gateway
将日志流式传输到事件中心。
┌──────────────────┐ ┌──────────────┐ ┌─────────────────┐ │ APIM service │ │ Diagnostic │ │ Event Hub │ │ <<source>> │─────▶│ settings │────▶│ <<destination>> │ └──────────────────┘ └──────────────┘ └─────────────────┘
使用 API 管理服务为 Azure OpenAI 服务的企业客户收集的日志在此处列出 here。这将记录请求的输入和输出,例如提示、令牌和模型使用情况。
设置
编辑有关配置的更多详细信息,请参阅 设置 部分。
日志参考
编辑示例
一个 logs
的示例事件如下所示
{ "@timestamp": "2024-04-08T12:23:02.435Z", "azure": { "open_ai": { "caller_ip_address": "81.2.69.***", "category": "RequestResponse", "correlation_id": "9d3a6e98-fc11-48d0-82cf-4de065c1a1f8", "event": "ShoeboxCallResult", "location": "eastus", "operation_name": "Create_Thread", "properties": { "api_name": "Azure OpenAI API version 2024-02-15-preview", "object_id": "", "request_length": 2, "request_time": 638481757794854611, "response_length": 113, "response_time": 638481757795877942 }, "result_signature": "200", "tenant": "eastus" }, "resource": { "group": "obs-openai-service-rs", "id": "/subscriptions/12cabcb4-86e8-404f-a3d2-1dc9982f45ca/resourcegroups/obs-openai-service-rs/providers/microsoft.cognitiveservices/accounts/obs-openai-test-01", "name": "obs-openai-test-01", "provider": "microsoft.cognitiveservices/accounts" } }, "cloud": { "provider": "azure" }, "event": { "duration": 102000000, "original": "{\"Tenant\":\"eastus\",\"callerIpAddress\":\"81.2.69.***\",\"category\":\"RequestResponse\",\"correlationId\":\"9d3a6e98-fc11-48d0-82cf-4de065c1a1f8\",\"durationMs\":102,\"event\":\"ShoeboxCallResult\",\"location\":\"eastus\",\"operationName\":\"Create_Thread\",\"properties\":\"{\\\"apiName\\\":\\\"Azure OpenAI API version 2024-02-15-preview\\\",\\\"requestTime\\\":638481757794854611,\\\"requestLength\\\":2,\\\"responseTime\\\":638481757795877942,\\\"responseLength\\\":113,\\\"objectId\\\":\\\"\\\"}\",\"resourceId\":\"/SUBSCRIPTIONS/12CABCB4-86E8-404F-A3D2-1DC9982F45CA/RESOURCEGROUPS/OBS-OPENAI-SERVICE-RS/PROVIDERS/MICROSOFT.COGNITIVESERVICES/ACCOUNTS/OBS-OPENAI-TEST-01\",\"resultSignature\":\"200\",\"time\":\"2024-04-08T12:23:02.4350000Z\"}" }, "tags": [ "preserve_original_event" ] }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下 文档。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
日期 |
azure.open_ai.asset_identity |
资产标识密钥。 |
关键字 |
azure.open_ai.caller_ip_address |
客户端 IP 地址。(x - 最后一个八位字节被屏蔽)。 |
关键字 |
azure.open_ai.category |
日志类别名称。 |
关键字 |
azure.open_ai.correlation_id |
用作密钥的相关 ID。 |
关键字 |
azure.open_ai.deployment_version |
部署版本。 |
关键字 |
azure.open_ai.event |
服务请求的事件类型。 |
关键字 |
azure.open_ai.is_request_success |
如果请求成功则为 True,否则返回 false。 |
布尔值 |
azure.open_ai.location |
位置。 |
关键字 |
azure.open_ai.operation_name |
执行的日志操作。 |
关键字 |
azure.open_ai.properties.api_id |
请求 API ID。 |
关键字 |
azure.open_ai.properties.api_name |
请求的 API 名称。 |
关键字 |
azure.open_ai.properties.api_revision |
请求 API 修订。 |
关键字 |
azure.open_ai.properties.backend_method |
后端请求方法。 |
关键字 |
azure.open_ai.properties.backend_protocol |
后端协议。 |
关键字 |
azure.open_ai.properties.backend_request_body.messages.content |
提示输入。 |
关键字 |
azure.open_ai.properties.backend_request_body.messages.role |
API 访问角色。 |
关键字 |
azure.open_ai.properties.backend_request_body.model |
模型名称。 |
关键字 |
azure.open_ai.properties.backend_response_body.choices.content_filter_results |
由自定义内容过滤器过滤的内容。 |
已扁平化 |
azure.open_ai.properties.backend_response_body.choices.finish_reason |
一个字符串,指示生成响应的原因(例如,“max_tokens”)。 |
关键字 |
azure.open_ai.properties.backend_response_body.choices.index |
数组中响应的索引。 |
长整数 |
azure.open_ai.properties.backend_response_body.choices.logprobs |
一个对象,其中包含有关可能响应的概率分布的信息。 |
已扁平化 |
azure.open_ai.properties.backend_response_body.choices.message.content |
响应文本内容。 |
关键字 |
azure.open_ai.properties.backend_response_body.choices.message.role |
API 访问角色。 |
关键字 |
azure.open_ai.properties.backend_response_body.created |
创建请求时的时间戳。 |
长整数 |
azure.open_ai.properties.backend_response_body.error.code |
错误代码。 |
关键字 |
azure.open_ai.properties.backend_response_body.error.innererror.code |
错误代码。 |
关键字 |
azure.open_ai.properties.backend_response_body.error.innererror.content_filter_result |
由自定义内容过滤器过滤的内容。 |
已扁平化 |
azure.open_ai.properties.backend_response_body.error.message |
错误消息。 |
文本 |
azure.open_ai.properties.backend_response_body.error.param |
传递给 API 的参数。 |
关键字 |
azure.open_ai.properties.backend_response_body.error.status |
响应状态代码。 |
长整数 |
azure.open_ai.properties.backend_response_body.id |
请求的唯一标识符。 |
关键字 |
azure.open_ai.properties.backend_response_body.model |
用于生成响应的 OpenAI 模型的 ID。 |
关键字 |
azure.open_ai.properties.backend_response_body.object |
操作类型。 |
关键字 |
azure.open_ai.properties.backend_response_body.prompt_filter_results.content_filter_results |
由自定义内容过滤器过滤的内容。 |
已扁平化 |
azure.open_ai.properties.backend_response_body.prompt_filter_results.prompt_index |
用于生成响应的提示的索引。 |
长整数 |
azure.open_ai.properties.backend_response_body.system_fingerprint |
指纹由 Azure API 管理生成,用于跟踪后端服务的性能和使用情况。 |
关键字 |
azure.open_ai.properties.backend_response_body.usage.input_tokens |
总输入令牌。 |
长整数 |
azure.open_ai.properties.backend_response_body.usage.output_tokens |
总输出令牌。 |
长整数 |
azure.open_ai.properties.backend_response_body.usage.total_tokens |
输入和输出令牌的总和。 |
长整数 |
azure.open_ai.properties.backend_response_code |
后端 HTTP 响应代码。 |
长整数 |
azure.open_ai.properties.backend_time |
后端响应时间。 |
长整数 |
azure.open_ai.properties.backend_url |
连接到 Azure OpenAI 模型的后端 URL。 |
关键字 |
azure.open_ai.properties.cache |
请求缓存。 |
关键字 |
azure.open_ai.properties.client_protocol |
客户端 HTTP 协议。 |
关键字 |
azure.open_ai.properties.client_tls_version |
客户端 TLS 版本。 |
关键字 |
azure.open_ai.properties.model_deployment_name |
已部署的模型名称。 |
关键字 |
azure.open_ai.properties.model_name |
OpenAI 模型。 |
关键字 |
azure.open_ai.properties.model_version |
OpenAI 模型版本。 |
关键字 |
azure.open_ai.properties.object_id |
请求的对象 ID。 |
关键字 |
azure.open_ai.properties.operation_id |
执行的操作。 |
关键字 |
azure.open_ai.properties.request_length |
请求的长度。 |
双精度浮点数 |
azure.open_ai.properties.request_time |
请求所用时间。 |
长整数 |
azure.open_ai.properties.response_length |
响应的长度。 |
双精度浮点数 |
azure.open_ai.properties.response_time |
响应所用时间。 |
长整数 |
azure.open_ai.properties.stream_type |
请求的流类型。 |
关键字 |
azure.open_ai.result_signature |
响应状态。 |
关键字 |
azure.open_ai.sku |
与特定 API 管理实例关联的库存单位。 |
关键字 |
azure.open_ai.tenant |
租户位置。 |
关键字 |
azure.open_ai.truncated |
响应消息太大而无法放入单个数据包的条件,因此被截断或切断。 |
长整数 |
azure.resource.authorization_rule |
授权规则 |
关键字 |
azure.resource.group |
资源组 |
关键字 |
azure.resource.id |
资源 ID |
关键字 |
azure.resource.name |
资源的名称 |
关键字 |
azure.resource.namespace |
资源类型/命名空间 |
关键字 |
azure.resource.provider |
资源组 |
关键字 |
azure.resource.type |
资源的类型 |
关键字 |
azure.subscription_id |
订阅 ID |
关键字 |
data_stream.dataset |
数据流数据集。 |
常量关键字 |
data_stream.namespace |
数据流命名空间。 |
常量关键字 |
data_stream.type |
数据流类型。 |
常量关键字 |
指标
编辑指标数据流收集特定于 Azure OpenAI 服务的认知服务指标。特定于 PTU 的指标仅适用于预配的部署。
请参阅 here 以查找有关仅适用于 PTU 部署的指标的更多详细信息。
要求
编辑在开始之前,请查看 身份验证和成本 部分。
设置
编辑请按照这些 逐步说明操作,了解如何设置 Azure 指标集成。
数据流特定的配置说明
编辑-
周期
- (字符串)报告间隔。指标的时间粒度将为 5 分钟,因此
azure_openai
的Period
配置选项的值应为300s
或 `300s` 的倍数才能获得相关结果。 -
资源 ID
- ([]字符串)资源的完全限定 ID,包括资源名称和资源类型。格式为
/subscriptions/{guid}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}
。应返回资源列表。 -
资源组
- ([]字符串)此选项将返回资源组内的所有 Azure OpenAI 服务。
如果未指定资源过滤器,则将考虑整个订阅中的所有 Azure OpenAI 服务。
将检索命名空间中包含的所有指标的主要聚合值。聚合选项为 avg
、sum
、min
、max
、total
、count
。
指标参考
编辑示例
一个 metrics
的示例事件如下所示
{ "@timestamp": "2024-04-11T01:46:00.000Z", "agent": { "ephemeral_id": "dcff0e53-fadb-4e97-86a2-1e611f12fc34", "id": "0c09f097-dc30-44c5-b3e7-083f1a14873c", "name": "docker-fleet-agent", "type": "metricbeat", "version": "8.13.0" }, "azure": { "dimensions": { "api_name": "Azure OpenAI API version 2024-04-01-preview", "model_deployment_name": "gpt-chat-pilot", "model_name": "gpt-35-turbo", "model_version": "0301", "operation_name": "ChatCompletions_Create", "region": "East US", "status_code": "200", "stream_type": "Streaming" }, "namespace": "Microsoft.CognitiveServices/accounts", "open_ai": { "requests": { "total": 1 } }, "resource": { "group": "obs-openai-service-rs", "id": "/subscriptions/12cabcb4-86e8-404f-a3d2-1dc9982f45ca/resourceGroups/obs-openai-service-rs/providers/Microsoft.CognitiveServices/accounts/obs-openai-test-01", "name": "obs-openai-test-01", "type": "Microsoft.CognitiveServices/accounts" }, "subscription_id": "12cabcb4-86e8-404f-a3d2-1dc9982f45ca", "timegrain": "PT1M" }, "cloud": { "provider": "azure", "region": "eastus" }, "data_stream": { "dataset": "azure.open_ai", "namespace": "default", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "0c09f097-dc30-44c5-b3e7-083f1a14873c", "snapshot": false, "version": "8.13.0" }, "event": { "agent_id_status": "verified", "dataset": "azure.open_ai", "duration": 2216811793, "ingested": "2024-04-11T01:52:30Z", "module": "azure" }, "metricset": { "name": "monitor", "period": 300000 }, "service": { "type": "azure" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下 文档。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
||
azure.application_id |
应用程序 ID |
关键字 |
||
azure.dimensions.* |
Azure 指标维度。 |
对象 |
||
azure.dimensions.fingerprint |
表示 azure.dimensions 对象指纹的自动生成的 ID |
关键字 |
||
azure.namespace |
所选的命名空间 |
关键字 |
||
azure.open_ai.active_tokens.total |
一段时间内总令牌减去缓存令牌。 |
长整数 |
仪表 |
|
azure.open_ai.context_tokens_cache_match_rate.avg |
提示令牌命中缓存的百分比(适用于 PTU 管理)。 |
浮点数 |
仪表 |
|
azure.open_ai.fine_tuned_training_hours.total |
在 OpenAI 微调模型上处理的训练小时数。 |
浮点数 |
仪表 |
|
azure.open_ai.generated_tokens.total |
从 OpenAI 模型生成的令牌(输出)数量。 |
长整数 |
仪表 |
|
azure.open_ai.processed_prompt_tokens.total |
在 OpenAI 模型上处理的提示令牌(输入)数量。 |
长整数 |
仪表 |
|
azure.open_ai.provisioned_managed_utilization_v2.avg |
预配置托管部署的利用率百分比,计算公式为 (PTU 消耗量 / PTU 部署量) x 100。当利用率大于或等于 100% 时,调用将被限制并返回错误代码 429。 |
浮点数 |
百分比 |
仪表 |
azure.open_ai.requests.total |
在一段时间内向 Azure OpenAI API 发出的调用次数。 |
长整数 |
仪表 |
|
azure.open_ai.time_to_response.avg |
用于流式请求的建议延迟(响应速度)度量。适用于 PTU 和 PTU 管理的部署。计算方式为用户发送提示后,API 网关测量到的首次响应出现所花费的时间。随着提示大小增加和/或缓存命中率降低,此数字会增加。 |
浮点数 |
仪表 |
|
azure.open_ai.token_transaction.total |
在 OpenAI 模型上处理的推理令牌数量。 |
长整数 |
仪表 |
|
azure.resource.group |
资源组 |
关键字 |
||
azure.resource.id |
资源的 ID |
关键字 |
||
azure.resource.name |
资源的名称 |
关键字 |
||
azure.resource.tags.* |
Azure 资源标签。 |
对象 |
||
azure.resource.type |
资源的类型 |
关键字 |
||
azure.subscription_id |
订阅 ID |
关键字 |
||
azure.timegrain |
Azure 指标时间粒度 |
关键字 |
||
data_stream.dataset |
数据流数据集名称。 |
常量关键字 |
||
data_stream.namespace |
数据流命名空间。 |
常量关键字 |
||
data_stream.type |
数据流类型。 |
常量关键字 |
||
dataset.name |
数据集名称。 |
常量关键字 |
||
dataset.namespace |
数据集命名空间。 |
常量关键字 |
||
dataset.type |
数据集类型。 |
常量关键字 |
更新日志
编辑更新日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
1.4.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.3.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.2.1 |
错误修复 (查看拉取请求) |
8.13.0 或更高版本 |
1.2.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.1.2 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.1.1 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.1.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
0.7.3 |
错误修复 (查看拉取请求) |
— |
0.7.2 |
错误修复 (查看拉取请求) |
— |
0.7.1 |
增强 (查看拉取请求) |
— |
0.7.0 |
增强 (查看拉取请求) |
— |
0.6.3 |
错误修复 (查看拉取请求) |
— |
0.6.2 |
增强 (查看拉取请求) |
— |
0.6.1 |
增强 (查看拉取请求) |
— |
0.6.0 |
增强 (查看拉取请求) |
— |
0.5.1 |
增强 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.1 |
错误修复 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |
0.0.2 |
错误修复 (查看拉取请求) |
— |
0.0.1 |
增强 (查看拉取请求) |
— |