Azure 计费指标集成
编辑Azure 计费指标集成
编辑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 中设置新的应用注册。
注册新应用
编辑要创建应用注册
- 登录到 Azure 门户。
- 搜索并选择Microsoft Entra ID。
- 在管理下,选择应用注册 > 新注册。
- 为您的应用程序输入显示名称(例如,“elastic-agent”)。
- 指定谁可以使用该应用程序。
- 不要为重定向 URI 输入任何内容。这是可选的,代理不使用它。
- 选择注册以完成初始应用注册。
记下应用程序(客户端)ID,您将在稍后在集成设置中指定客户端 ID时使用它。
添加凭据
编辑凭据允许您的应用程序访问 Azure API 并对其自身进行身份验证,而无需用户在运行时进行交互。
此集成使用客户端密钥来证明其身份。
- 在 Azure 门户 中,选择您在上一节中创建的应用程序。
- 选择证书和密码 > 客户端密码 > 新客户端密码。
- 添加描述(例如,“Elastic Agent 客户端密码”)。
- 为密码选择一个过期时间或指定自定义生命周期。
- 选择添加。
记下客户端密码表中值列中的内容,您将在稍后在集成设置中指定客户端密钥时使用它。此密码值在此页面离开后将不再显示。将密码值记录在安全的地方。
分配角色
编辑根据您感兴趣的范围,为应用注册分配角色。
要从单个订阅收集计费指标,请在订阅上为应用注册分配计费读取者
- 在 Azure 门户 中,搜索并选择订阅。
- 选择要分配应用程序的订阅。
- 选择访问控制 (IAM)。
- 选择添加 > 添加角色分配以打开添加角色分配页面。
- 在角色选项卡中,搜索并选择角色计费读取者。
- 选择下一步按钮以移动到成员选项卡。
- 选择将访问权限分配给 > 用户、组或服务主体,然后选择选择成员。默认情况下,此页面不会在可用选项中显示 Azure AD 应用程序。
- 要查找您的应用程序,请按名称搜索(例如,“elastic-agent”)并从列表中选择它。
- 单击选择按钮。
- 然后单击查看 + 分配按钮。
您可以使用部门范围(仅限 EA 帐户)或计费帐户范围(EA 和 MCA 帐户)从多个订阅收集计费指标。
要从部门(而不是订阅)收集计费指标
- 在 Azure 门户 中,搜索并选择成本管理 + 计费。
- 选择计费 > 部门,然后选择您感兴趣的部门。
- 选择访问控制 (IAM)。
- 选择添加。
- 在添加角色分配面板中,选择角色部门读取者。
- 在用户、组或应用搜索框中,键入您创建的应用注册的名称并选择它。
- 单击添加按钮。
要从计费帐户(而不是订阅)收集计费指标
- 在 Azure 门户 中,搜索并选择成本管理 + 计费。
- 选择访问控制 (IAM)。
- 选择添加。
- 在添加角色分配面板中,选择角色计费帐户读取者(仅查看访问权限)。
- 在用户、组或应用搜索框中,键入您创建的应用注册的名称并选择它。
- 单击添加按钮。
记下以下值,您将在稍后指定设置时使用它们。
-
租户 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 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
1.5.1 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.5.0 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.4.2 |
错误修复 (查看拉取请求) |
8.3.0 或更高版本 |
1.4.1 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.4.0 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.3.2 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.3.1 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.3.0 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.2.0 |
增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
1.1.3 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.1.2 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.1.1 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.1.0 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.0.2 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.0.1 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
1.0.0 |
增强功能 (查看拉取请求) |
7.15.0 或更高版本 |
0.2.1 |
增强功能 (查看拉取请求) |
— |
0.2.0 |
增强功能 (查看拉取请求) |
— |
0.1.0 |
增强功能 (查看拉取请求) |
— |