Azure 模块
编辑Azure 模块
编辑Azure Monitor 功能从各种来源收集和聚合日志和指标到一个通用数据平台,可以在其中用于分析、可视化和警报。
Azure Monitor 指标是在特定时间点描述系统某些方面的数值。它们以定期间隔收集,并使用时间戳、名称、值和一个或多个定义标签进行标识。
Azure 模块将定期使用 Azure REST API 以 MetricList 的形式检索 Azure Monitor 指标。为了检索用户目标资源的相关信息,将执行其他 Azure API 调用。
此模块可能会生成有关指标查询的额外 Azure 费用。有关更多详细信息,请参阅 有关指标和费用的其他说明。
仪表盘
编辑Azure 模块附带了几个预定义的仪表盘,用于虚拟机、VM 来宾指标和虚拟机规模集。
VM 概述仪表盘显示有关 CPU、内存、磁盘使用情况以及每秒操作的信息。两个可用的过滤器有助于将仪表盘缩小到特定区域和/或资源组。例如
如果启用了 VM 来宾指标,则来宾指标概述仪表盘可以帮助监控 ASP.NET 应用程序和 SQL Server 指标。例如
虚拟机规模集仪表盘类似于 VM 仪表盘,并显示有关正在运行的 VM 规模集的相关运行状况信息。例如
Azure 存储仪表盘显示 Blob、文件、表和队列存储服务的所有相关指标
Azure 账单仪表盘显示相关的使用情况和预测信息
Azure app_state 仪表盘显示相关的应用程序见解信息
模块特定配置说明
编辑针对 Azure Monitor REST API 执行的所有任务都将使用 Azure 资源管理器身份验证模型。因此,所有请求都必须使用 Azure Active Directory (Azure AD) 进行身份验证。一种对客户端应用程序进行身份验证的方法是创建 Azure AD 服务主体并检索身份验证 (JWT) 令牌。有关更详细的分步指南,请查看使用 Azure PowerShell 创建服务主体以访问资源 https://docs.microsoft.com/en-us/powershell/azure/create-azure-service-principal-azureps?view=azps-2.7.0。也可以通过 Azure 门户创建服务主体 https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal。用户必须确保分配给应用程序的角色至少包含对监视数据的读取权限,有关角色的更多信息,请参阅此处 https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles。
azure
模块所需的凭据
-
client_id
- 应用程序的唯一标识符(也称为应用程序 ID)
-
client_secret
- 客户端/应用程序密钥/密钥
-
subscription_id
- Azure 订阅的唯一标识符
-
tenant_id
- Azure Active Directory 实例的唯一标识符
如果配置了 AZURE_CLIENT_ID
、AZURE_CLIENT_SECRET
、AZURE_TENANT_ID
、AZURE_SUBSCRIPTION_ID
,则可以使用 azure 凭据密钥。
-
resource_manager_endpoint
- 字符串 可选,默认情况下将使用 Azure 公共环境,要覆盖,用户可以提供特定的资源管理器端点以使用不同的 Azure 环境。例如:https://management.chinacloudapi.cn 用于 Azure 中国云 https://management.microsoftazure.de 用于 Azure 德国云 https://management.azure.com 用于 Azure 公共云 https://management.usgovcloudapi.net 用于 Azure 美国政府云
-
active_directory_endpoint
- 字符串 可选,默认情况下将使用与资源管理器端点关联的 Active Directory 端点,要覆盖,用户可以提供特定的 Active Directory 端点以使用不同的 Azure 环境。例如:https://login.microsoftonline.com 用于 Azure 中国云 https://login.microsoftonline.us 用于 Azure 德国云 https://login.chinacloudapi.cn 用于 Azure 公共云 https://login.microsoftonline.de 用于 Azure 美国政府云
-
resource_manager_audience
- 字符串 可选,默认情况下我们使用 Azure 公共环境,要覆盖,用户可以提供特定的资源管理器受众以使用不同的 Azure 环境。例如:https://management.chinacloudapi.cn/ 用于 Azure 中国云 https://management.microsoftazure.de/ 用于 Azure 德国云 https://management.azure.com/ 用于 Azure 公共云 https://management.usgovcloudapi.net/ 用于 Azure 美国政府云用户还可以在混合云模型中使用此功能,在混合云模型中,用户可以定义自己的受众。
度量集
编辑monitor
编辑此度量集允许用户从指定的资源检索指标。添加的过滤器可以应用于此处,例如检索这些指标的间隔、指标名称、聚合列表、命名空间和指标维度。监视器指标将具有至少 5 分钟的时间粒度,因此 monitor
度量集的 period
应为 300s
或 300s
的倍数。
compute_vm
编辑此度量集将从虚拟机收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 compute_vm
度量集的 period
应为 300s
或 300s
的倍数。
compute_vm_scaleset
编辑此度量集将从虚拟机规模集收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 compute_vm_scaleset
度量集的 period
应为 300s
或 300s
的倍数。
storage
编辑此度量集将从存储帐户收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 storage
度量集的 period
应为 300s
或 300s
的倍数。
container_instance
编辑此度量集将从指定的容器组收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 container_instance
度量集的 period
应为 300s
或 300s
的倍数。
container_registry
编辑此度量集将从容器注册表收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 container_registry
度量集的 period
应为 300s
或 300s
的倍数。
container_service
编辑此度量集将从容器服务收集指标,这些指标将每 5 分钟具有一个时间粒度,因此 container_service
度量集的 period
应为 300s
或 300s
的倍数。
database_account
编辑此度量集将从指定的数据库帐户收集相关指标,这些指标将每 5 分钟具有一个时间粒度,因此 database_account
度量集的 period
应为 300s
或 300s
的倍数。
billing
编辑此度量集将从特定订阅收集相关的使用情况数据和预测信息,这些指标将每 24 小时具有一个时间粒度,因此 billing
度量集的 period
应为 24h
或 24h
的倍数。
app_insights
编辑此度量集将收集应用程序见解指标,app-insights
度量集的 period
(间隔)默认设置为 300s
。
app_state
编辑此度量集专注于最相关的应用程序见解指标,并提供仪表盘进行可视化,app_state
度量集的 period
(间隔)默认设置为 300s
。
有关指标和费用的其他说明
编辑成本:指标查询根据标准 API 调用次数计费。有关定价的更多信息,请访问此处 https://azure.microsoft.com/id-id/pricing/details/monitor/。
身份验证:我们负责处理身份验证(创建/续订身份验证令牌),因此我们建议用户仅为 Metricbeat 使用专用凭据。
Azure 模块支持在模块中描述的标准配置选项。以下是一个配置示例
metricbeat.modules: - module: azure metricsets: - monitor enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' resources: - resource_query: "resourceType eq 'Microsoft.DocumentDb/databaseAccounts'" metrics: - name: ["DataUsage", "DocumentCount", "DocumentQuota"] namespace: "Microsoft.DocumentDb/databaseAccounts" - module: azure metricsets: - compute_vm enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - compute_vm_scaleset enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - storage enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - container_instance enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - container_service enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - container_registry enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - database_account enabled: true period: 300s client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - billing enabled: true period: 24h client_id: '${AZURE_CLIENT_ID:""}' client_secret: '${AZURE_CLIENT_SECRET:""}' tenant_id: '${AZURE_TENANT_ID:""}' subscription_id: '${AZURE_SUBSCRIPTION_ID:""}' - module: azure metricsets: - app_insights enabled: true period: 300s application_id: '' api_key: '' metrics: - id: ["requests/count", "requests/duration"] - module: azure metricsets: - app_state enabled: true period: 300s application_id: '' api_key: ''
以下指标集可用