Azure OpenAI 集成

编辑

版本

1.4.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的无服务器项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

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_openaiPeriod 配置选项的值应为 300s 或 `300s` 的倍数才能获得相关结果。
资源 ID
[]字符串)资源的完全限定 ID,包括资源名称和资源类型。格式为 /subscriptions/{guid}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}。应返回资源列表。
资源组
[]字符串)此选项将返回资源组内的所有 Azure OpenAI 服务。

如果未指定资源过滤器,则将考虑整个订阅中的所有 Azure OpenAI 服务。

将检索命名空间中包含的所有指标的主要聚合值。聚合选项为 avgsumminmaxtotalcount

指标参考
编辑
示例

一个 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

增强 (查看拉取请求)
允许 @custom 管道访问 event.original,而无需设置 preserve_original_event。

8.13.0 或更高版本

1.3.0

增强 (查看拉取请求)
为指标数据流添加处理器支持。

8.13.0 或更高版本

1.2.1

错误修复 (查看拉取请求)
将 source.as.* 字段映射到 ECS 架构。

8.13.0 或更高版本

1.2.0

增强 (查看拉取请求)
添加 API 管理网关日志。

8.13.0 或更高版本

1.1.2

增强 (查看拉取请求)
添加 PTU 部署指标仪表板。

8.13.0 或更高版本

1.1.1

增强 (查看拉取请求)
将 Azure 账单镜头添加到概述仪表板。

8.13.0 或更高版本

1.1.0

增强 (查看拉取请求)
ECS 版本更新至 8.11.0。

8.13.0 或更高版本

1.0.0

增强 (查看拉取请求)
使 Azure OpenAI GA。

8.13.0 或更高版本

0.7.3

错误修复 (查看拉取请求)
将指标类型还原为计量器。

0.7.2

错误修复 (查看拉取请求)
在 OpenAI 指标上禁用 TSDB。

0.7.1

增强 (查看拉取请求)
默认启用清理。

0.7.0

增强 (查看拉取请求)
添加 PTU 指标。

0.6.3

错误修复 (查看拉取请求)
更新文档以修复导航问题。

0.6.2

增强 (查看拉取请求)
将整体请求延迟添加到概述仪表板。

0.6.1

增强 (查看拉取请求)
更新概述仪表板。

0.6.0

增强 (查看拉取请求)
向日志仪表板添加保存的搜索。

0.5.1

增强 (查看拉取请求)
更新概述仪表板和导航面板。

0.5.0

增强 (查看拉取请求)
添加概述仪表板。

0.4.1

错误修复 (查看拉取请求)
从指标仪表板中删除 requests.total 过滤器。

0.4.0

增强 (查看拉取请求)
更新文档并添加 resource_manager_endpoint。

0.3.0

增强 (查看拉取请求)
增强指标仪表板。

0.2.0

增强 (查看拉取请求)
增强日志仪表板。

0.1.0

增强 (查看拉取请求)
添加带有模型部署属性的响应日志样本。

0.0.2

错误修复 (查看拉取请求)
将字段指标类型更新为计数器。

0.0.1

增强 (查看拉取请求)
Azure OpenAI 集成的初始版本。