Azure 计费指标集成

编辑

Azure 计费指标集成

编辑

版本

1.7.1 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的 Serverless 项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

Azure 计费指标集成允许您监控实际和未来的 Azure 支出,以优化资源使用。

该集成使用 Azure 消耗 API 收集使用情况详情,并利用 Azure 成本管理 API 获取预测数据。

使用 Azure 计费指标集成来收集未来几周的详细资源使用情况和预测费用。例如,如果您想知道哪些资源花费最多,您可以查看此集成仪表板中包含的顶级资源环形图。然后,您可以查看预测图表,可视化未来几周的预测。

数据流

编辑

Azure 计费指标集成收集一种类型的数据流:指标。

指标让您深入了解 Azure 成本的状态。此集成收集的数据流包括使用情况详细信息和预测指标。使用情况详细信息指标跟踪实际支出,包括订阅 ID、资源组、类型和名称等详细信息。预测指标跟踪未来几周的预计支出。

要求

编辑

要使用此集成,您将需要

  • Azure 应用注册:您需要设置 Azure 应用注册,以允许代理访问 Azure API。应用注册需要一个角色才能访问计费信息。所需的角色因订阅、部门或计费帐户范围而异。请查看设置部分了解更多详细信息。
  • Elasticsearch 和 Kibana:您需要 Elasticsearch 来存储和搜索您的数据,并需要 Kibana 来可视化和管理它。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐使用)、原生 Azure 集成或在您的硬件上自行管理 Elastic Stack。
  • 付款方式:Azure 计费指标集成查询根据标准 API 调用次数收费。在标准配置中,一个集成每 24 小时进行两次调用。

设置

编辑

Elastic Agent 连接到 Azure API,获取使用情况详细信息和预测数据,并将其发送到 Elasticsearch 中名为 metrics-azure.billing-default 的专用数据流。

         ┌────────────────────┐       ┌─────────┐       ┌─-─────────────────────┐
         │                    │       │         │       │ metrics-azure.billing │
         │     Azure APIs     │──────▶│  Agent  │──────▶│    <<data stream>>    │
         │                    │       │         │       │                       │
         └────────────────────┘       └─────────┘       └───-───────────────────┘

Elastic Agent 需要应用注册才能代表您访问 Azure,并使用 Azure REST API 收集数据。需要应用注册才能以编程方式访问 Azure API。

要开始使用此集成收集数据,您需要

  • 通过注册应用、添加凭据和分配角色来设置新的 Azure 应用注册
  • 在 Kibana 中指定集成设置,这将决定集成如何访问 Azure API。
  • 定义范围
应用注册
编辑

在 Azure 中设置新的应用注册。

注册新应用
编辑

要创建应用注册

  1. 登录到 Azure 门户
  2. 搜索并选择Microsoft Entra ID
  3. 管理下,选择应用注册 > 新注册
  4. 为您的应用程序输入显示名称(例如,“elastic-agent”)。
  5. 指定谁可以使用该应用程序。
  6. 不要为重定向 URI 输入任何内容。这是可选的,代理不使用它。
  7. 选择注册以完成初始应用注册。

记下应用程序(客户端)ID,您将在稍后在集成设置中指定客户端 ID时使用它。

添加凭据
编辑

凭据允许您的应用程序访问 Azure API 并对其自身进行身份验证,而无需用户在运行时进行交互。

此集成使用客户端密钥来证明其身份。

  1. Azure 门户 中,选择您在上一节中创建的应用程序。
  2. 选择证书和密码 > 客户端密码 > 新客户端密码
  3. 添加描述(例如,“Elastic Agent 客户端密码”)。
  4. 为密码选择一个过期时间或指定自定义生命周期。
  5. 选择添加

记下客户端密码表中列中的内容,您将在稍后在集成设置中指定客户端密钥时使用它。此密码值在此页面离开后将不再显示。将密码值记录在安全的地方。

分配角色
编辑

根据您感兴趣的范围,为应用注册分配角色。

要从单个订阅收集计费指标,请在订阅上为应用注册分配计费读取者

  1. Azure 门户 中,搜索并选择订阅
  2. 选择要分配应用程序的订阅。
  3. 选择访问控制 (IAM)
  4. 选择添加 > 添加角色分配以打开添加角色分配页面
  5. 角色选项卡中,搜索并选择角色计费读取者
  6. 选择下一步按钮以移动到成员选项卡。
  7. 选择将访问权限分配给 > 用户、组或服务主体,然后选择选择成员。默认情况下,此页面不会在可用选项中显示 Azure AD 应用程序。
  8. 要查找您的应用程序,请按名称搜索(例如,“elastic-agent”)并从列表中选择它。
  9. 单击选择按钮。
  10. 然后单击查看 + 分配按钮。

您可以使用部门范围(仅限 EA 帐户)或计费帐户范围(EA 和 MCA 帐户)从多个订阅收集计费指标。

要从部门(而不是订阅)收集计费指标

  1. Azure 门户 中,搜索并选择成本管理 + 计费
  2. 选择计费 > 部门,然后选择您感兴趣的部门。
  3. 选择访问控制 (IAM)
  4. 选择添加
  5. 添加角色分配面板中,选择角色部门读取者
  6. 用户、组或应用搜索框中,键入您创建的应用注册的名称并选择它。
  7. 单击添加按钮。

要从计费帐户(而不是订阅)收集计费指标

  1. Azure 门户 中,搜索并选择成本管理 + 计费
  2. 选择访问控制 (IAM)
  3. 选择添加
  4. 添加角色分配面板中,选择角色计费帐户读取者(仅查看访问权限)。
  5. 用户、组或应用搜索框中,键入您创建的应用注册的名称并选择它。
  6. 单击添加按钮。

记下以下值,您将在稍后指定设置时使用它们。

  • 租户 ID:使用您的 Microsoft Entra ID 中的“租户 ID”。
  • 以下仅限一个

    • 订阅 ID:如果您决定从订阅收集指标,请使用“订阅 ID”内容。
    • 部门 ID:如果您决定从部门收集指标,请使用“部门 ID”内容。
    • 计费帐户 ID:如果您决定从计费帐户收集指标,请使用“计费帐户 ID”内容。

您的应用注册现在已为 Elastic Agent 做好准备。

其他资源
编辑

如果您想了解有关此过程的更多信息,您可以阅读 Microsoft 的以下两个通用指南

设置
编辑

在 Kibana 中添加 Azure 计费指标集成并指定设置。

如果您不熟悉集成,可以在入门指南中找到有关如何设置集成的分步说明。

主要选项
编辑

设置的主要部分包含访问 Azure API 和收集计费数据所需的所有选项。您现在将使用应用注册中的所有值,包括

客户端 ID 字符串:应用注册的唯一标识符(有时称为应用程序 ID)。

客户端密钥 字符串:用于身份验证的客户端密钥。

订阅 ID 字符串:Azure 订阅的唯一标识符。您只能提供一个订阅 ID。代理使用此 ID 来访问 Azure API。代理还使用此 ID 作为计费信息的默认范围:有关如何收集多个订阅的数据的更多详细信息,请参阅“范围”部分。

租户 ID 字符串 : Azure Active Directory 的租户 ID 的唯一标识符。

高级选项
编辑

还有一些其他的高级选项

资源管理器终结点 字符串 : 可选。默认情况下,集成使用 Azure 公共环境。要覆盖此设置,用户可以提供特定的资源管理器终结点以使用不同的 Azure 环境。

示例

  • https://management.chinacloudapi.cn 用于 Azure 中国云
  • https://management.microsoftazure.de 用于 Azure 德国云
  • https://management.azure.com 用于 Azure 公共云
  • https://management.usgovcloudapi.net 用于 Azure 美国政府云

Active Directory 终结点 字符串 : 可选。默认情况下,集成使用关联的 Active Directory 终结点。要覆盖此设置,用户可以提供特定的 Active Directory 终结点以使用不同的 Azure 环境。

示例

  • https://login.chinacloudapi.cn 用于 Azure 中国云
  • https://login.microsoftonline.de 用于 Azure 德国云
  • https://login.microsoftonline.com 用于 Azure 公共云
  • https://login.microsoftonline.us 用于 Azure 美国政府云

资源管理器受众 字符串 : 可选。默认情况下,集成使用关联的资源管理器受众。要覆盖此设置,用户可以提供特定的资源管理器受众以使用不同的 Azure 环境。

示例

  • https://management.core.chinacloudapi.cn 用于 Azure 中国云
  • https://management.core.windows.net 用于 Azure 公共云
  • https://management.core.usgovcloudapi.net 用于 Azure 美国政府云
数据流选项
编辑

数据流有一些关于范围和周期的其他选项。要了解有关范围的更多信息,请阅读 范围 部分。

账单范围部门 ID 字符串 : 基于部门 ID 检索数据。

账单范围帐户 ID 字符串 : 基于账单帐户 ID 检索数据。账单帐户 ID 可在 Azure 门户成本管理 + 账单 中找到,选择类型为“账单帐户”的账单范围,然后选择 设置 > 属性 > ID

周期 字符串 : 检索指标值时使用的时间间隔。

范围
编辑

此集成支持三个范围

  • 订阅
  • 部门
  • 账单帐户

集成使用订阅 ID 作为账单数据的默认范围。

要更改范围,请展开集成设置中名为 收集 Azure 账单指标 的数据流部分,并设置两个可用选项中的一个(如果同时设置两个选项,则账单帐户范围优先于部门范围)

  • 账单范围部门 ID : 收集给定部门 ID 的用户详细信息和预测数据。
  • 账单范围帐户 ID : 收集给定账单帐户 ID 的用户详细信息和预测数据。

指标参考

编辑
Azure 账单指标
编辑

Azure 账单指标数据流提供来自以下类型的消耗和成本管理 API 的事件:使用情况详细信息和预测。

示例

一个 billing 的示例事件如下所示

{
    "@timestamp": "2021-11-16T14:53:50.309Z",
    "agent": {
        "ephemeral_id": "00acbc2a-2f96-4c8a-99fe-790f724e9b9e",
        "hostname": "docker-fleet-agent",
        "id": "ac0aba17-80ba-472c-a850-25b8eee31b4a",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "7.15.3"
    },
    "azure": {
        "billing": {
            "account_name": "R&D",
            "billing_period_id": "/subscriptions/7657426d-c4c3-44ac-88a2-3b2cd59e6dba/providers/Microsoft.Billing/billingPeriods/20211101",
            "currency": "USD",
            "department_name": "DEpartment",
            "pretax_cost": 0.000002327970961,
            "product": "Bandwidth Inter-Region - Data Transfer Out - North America",
            "usage_end": "2021-11-15T23:59:59.000Z",
            "usage_start": "2021-11-15T00:00:00.000Z"
        },
        "resource": {
            "group": "alex-test-resources",
            "name": "testthis",
            "type": "Microsoft.Storage"
        },
        "subscription_id": "7657426d-c4c3-44ac-88a2-3b2cd59e6dba"
    },
    "cloud": {
        "instance": {
            "id": "/subscriptions/7657426d-c4c3-44ac-88a2-3b2cd59e6dba/resourceGroups/alex-test-resources/providers/Microsoft.Storage/storageAccounts/testthis",
            "name": "alextest223"
        },
        "provider": "azure",
        "region": "CentralUS"
    },
    "data_stream": {
        "dataset": "azure.billing",
        "namespace": "default",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "ac0aba17-80ba-472c-a850-25b8eee31b4a",
        "snapshot": true,
        "version": "7.15.3"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "azure.billing",
        "duration": 37147626300,
        "ingested": "2021-11-16T14:53:51Z",
        "module": "azure"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "0e45dc0f765dee79aa8992abcd05b189",
        "ip": [
            "192.168.16.7"
        ],
        "mac": [
            "02-42-AC-1F-00-07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "Core",
            "family": "redhat",
            "kernel": "4.19.128-microsoft-standard",
            "name": "CentOS Linux",
            "platform": "centos",
            "type": "linux",
            "version": "7 (Core)"
        }
    },
    "metricset": {
        "name": "billing",
        "period": 86400000
    },
    "service": {
        "type": "azure"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

azure.application_id

应用程序 ID

关键字

azure.billing.account_name

账单帐户名称

关键字

azure.billing.actual_cost

实际成本

浮点数

azure.billing.billing_period_id

账单周期 ID

关键字

azure.billing.currency

货币

关键字

azure.billing.department_name

部门名称

关键字

azure.billing.forecast_cost

预测成本

浮点数

azure.billing.pretax_cost

成本

浮点数

azure.billing.product

产品类型

关键字

azure.billing.usage_date

使用日期

日期

azure.billing.usage_end

使用结束日期

日期

azure.billing.usage_start

使用开始日期

日期

azure.dimensions

Azure 指标维度。

扁平化

azure.metrics..

返回的指标。

对象

azure.namespace

选择的命名空间

关键字

azure.resource.group

资源组

关键字

azure.resource.id

资源的 ID

关键字

azure.resource.name

资源的名称

关键字

azure.resource.tags

Azure 资源标签。

扁平化

azure.resource.type

资源的类型

关键字

azure.subscription_id

订阅 ID

关键字

azure.timegrain

Azure 指标时间粒度

关键字

cloud.image.id

云实例的映像 ID。

关键字

data_stream.dataset

数据流数据集名称。

常量关键字

data_stream.namespace

数据流命名空间。

常量关键字

data_stream.type

数据流类型。

常量关键字

dataset.name

数据集名称。

常量关键字

dataset.namespace

数据集命名空间。

常量关键字

dataset.type

数据集类型。

常量关键字

host.containerized

主机是否为容器。

布尔值

host.os.build

操作系统构建信息。

关键字

host.os.codename

操作系统的代码名称(如果有)。

关键字

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.7.1

错误修复 (查看拉取请求)
添加资源管理器受众配置选项。

8.13.0 或更高版本

1.7.0

增强功能 (查看拉取请求)
添加对账单数据流的处理器支持。

8.13.0 或更高版本

1.6.0

增强功能 (查看拉取请求)
ECS 版本更新到 8.11.0。将 Kibana 约束更新到 ^8.13.0。修改了字段定义,以删除由 ecs@mappings 组件模板变得多余的 ECS 字段。

8.13.0 或更高版本

1.5.1

增强功能 (查看拉取请求)
将 Azure AD 替换为 Microsoft Entra ID

8.12.0 或更高版本

1.5.0

增强功能 (查看拉取请求)
为敏感字段启用密钥。有关更多详细信息,请参阅 https://elastic.ac.cn/guide/en/fleet/current/agent-policy.html#agent-policy-secret-values

8.12.0 或更高版本

1.4.2

错误修复 (查看拉取请求)
由于错误,为旧堆栈版本禁用密钥。

8.3.0 或更高版本

1.4.1

增强功能 (查看拉取请求)
添加有关为部门和账单帐户范围分配角色的文档。

8.3.0 或更高版本

1.4.0

增强功能 (查看拉取请求)
为敏感字段启用密钥,从 8.12 开始支持。

8.3.0 或更高版本

1.3.2

增强功能 (查看拉取请求)
修复仪表板中缺少过滤器引用的问题。

8.3.0 或更高版本

1.3.1

增强功能 (查看拉取请求)
添加过滤器以提高性能。

8.3.0 或更高版本

1.3.0

增强功能 (查看拉取请求)
将包 format_version 更新到 3.0.0。

8.3.0 或更高版本

1.2.0

增强功能 (查看拉取请求)
将 Azure 账单仪表板可视化迁移到 Lens。

8.3.0 或更高版本

1.1.3

增强功能 (查看拉取请求)
修复标签和维度的映射

7.15.0 或更高版本
8.0.0 或更高版本

1.1.2

增强功能 (查看拉取请求)
添加了类别和/或子类别。

7.15.0 或更高版本
8.0.0 或更高版本

1.1.1

增强功能 (查看拉取请求)
修复文档格式(删除额外的概述标题)

7.15.0 或更高版本
8.0.0 或更高版本

1.1.0

增强功能 (查看拉取请求)
更新文档

7.15.0 或更高版本
8.0.0 或更高版本

1.0.2

增强功能 (查看拉取请求)
更新自述文件

7.15.0 或更高版本
8.0.0 或更高版本

1.0.1

增强功能 (查看拉取请求)
从数据流中删除 Beta 发布标签

7.15.0 或更高版本
8.0.0 或更高版本

1.0.0

增强功能 (查看拉取请求)
将 azure_billing 包移至 GA

7.15.0 或更高版本
8.0.0 或更高版本

0.2.1

增强功能 (查看拉取请求)
更新到 ECS 8.0

0.2.0

增强功能 (查看拉取请求)
支持 Kibana 8.0

0.1.0

增强功能 (查看拉取请求)
初始版本