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 仪表盘,并显示有关正在运行的虚拟机规模集的相关运行状况信息。例如
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
- string 可选,默认情况下将使用 azure 公共环境,要覆盖,用户可以提供特定的资源管理器端点,以便使用不同的 azure 环境。例如:https://management.chinacloudapi.cn 用于 azure ChinaCloud https://management.microsoftazure.de 用于 azure GermanCloud https://management.azure.com 用于 azure PublicCloud https://management.usgovcloudapi.net 用于 azure USGovernmentCloud
-
active_directory_endpoint
- string 可选,默认情况下将使用与资源管理器端点关联的 active directory 端点,要覆盖,用户可以提供特定的 active directory 端点,以便使用不同的 azure 环境。例如:https://login.microsoftonline.com 用于 azure ChinaCloud https://login.microsoftonline.us 用于 azure GermanCloud https://login.chinacloudapi.cn 用于 azure PublicCloud https://login.microsoftonline.de 用于 azure USGovernmentCloud
-
resource_manager_audience
- string 可选,默认情况下我们使用 azure 公共环境,要覆盖,用户可以提供特定的资源管理器受众,以便使用不同的 azure 环境。例如:https://management.chinacloudapi.cn/ 用于 azure ChinaCloud https://management.microsoftazure.de/ 用于 azure GermanCloud https://management.azure.com/ 用于 azure PublicCloud https://management.usgovcloudapi.net/ 用于 azure USGovernmentCloud。如果使用混合云模型(可以在其中定义自己的受众),用户也可以使用此项。
指标集
编辑monitor
编辑此指标集允许用户从指定的资源检索指标。添加的过滤器可以应用于此处的检索这些指标的间隔、指标名称、聚合列表、命名空间和指标维度。监控指标的最小 timegrain 为 5 分钟,因此 monitor
指标集的 period
应为 300s
或 300s
的倍数。
compute_vm
编辑此指标集将从虚拟机收集指标,这些指标的 timegrain 为每 5 分钟,因此 compute_vm
指标集的 period
应为 300s
或 300s
的倍数。
compute_vm_scaleset
编辑此指标集将从虚拟机规模集收集指标,这些指标的 timegrain 为每 5 分钟,因此 compute_vm_scaleset
指标集的 period
应为 300s
或 300s
的倍数。
storage
编辑此指标集将从存储帐户收集指标,这些指标的 timegrain 为每 5 分钟,因此 storage
指标集的 period
应为 300s
或 300s
的倍数。
container_instance
编辑此指标集将从指定的容器组收集指标,这些指标的 timegrain 为每 5 分钟,因此 container_instance
指标集的 period
应为 300s
或 300s
的倍数。
container_registry
编辑此指标集将从容器注册表收集指标,这些指标的 timegrain 为每 5 分钟,因此 container_registry
指标集的 period
应为 300s
或 300s
的倍数。
container_service
编辑此指标集将从容器服务收集指标,这些指标的 timegrain 为每 5 分钟,因此 container_service
指标集的 period
应为 300s
或 300s
的倍数。
database_account
编辑此指标集将从指定的数据库帐户收集相关指标,这些指标的 timegrain 为每 5 分钟,因此 database_account
指标集的 period
应为 300s
或 300s
的倍数。
billing
编辑此指标集将从特定订阅收集相关的使用情况数据和预测信息,这些指标的 timegrain 为每 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: ''
以下指标集可用