一 背景
在目前新版本中,ELK集成中利用elastic-agent可以真多非常的云及中间价进行相关指标采集,不仅仅限于日志,利用公有云的API可以调用监控数据,配合日志进行安全分析,可以更全面的展示云上的资源指标,本文介绍如何将ELK(Elasticsearch、Logstash和Kibana)与Azure Metrics集成,以实现对Azure资源的指标数据进行监控和分析。ELK是一个开源工具组合,用于日志管理和分析,而Azure Metrics是Azure云平台提供的一种服务,用于收集和存储Azure资源的指标数据。通过集成ELK和Azure Metrics,您可以使用ELK的搜索和分析能力来处理和可视化Azure资源的指标数据,从而获得对资源性能和使用情况的深入洞察,以支持优化和管理决策。
二 概述
在本文探讨如何将ELK(Elasticsearch、Logstash和Kibana)与Azure Metrics集成,以便监控和分析Azure资源的指标数据。ELK是一套用于日志管理和分析的开源工具组合。Elasticsearch是一个分布式搜索和分析引擎,用于存储和搜索大量的数据。Logstash是一个用于数据收集、处理和传输的工具。Kibana是一个数据可视化和分析平台,用于构建仪表板和图表。Azure Metrics是Azure云平台提供的一种服务,用于收集和存储Azure资源的指标数据。它可以提供有关虚拟机、存储、数据库等资源的性能和使用情况方面的数据。
所有针对Azure Monitor REST API执行的任务都将使用Azure Resource Manager身份验证模型。因此,所有请求都必须使用Azure Active Directory (Azure AD)进行身份验证。对客户机应用程序进行身份验证的一种方法是创建Azure AD服务主体并检索身份验证(JWT)令牌。有关更详细的演练,请查看使用Azure PowerShell创建一个服务主体来访问资源docs.microsoft.com/en-us/power…
三 添加集成策略
配置增加Azure Storage Account Metrics 集成
需要在Azure 账户下注册应用,之后授权应用对应storage account的权限,在之前一篇azure 应用密钥创建及授权的讲解过,在此不再展开。
用户类型应用
# ARM_SUBSCRIPTION_ID
订阅ID:af7xxxxxxxxxxxxxxxb8
订阅名:Sxxxxxxxxx
# appid (elk-agent)
Service Principal Id:f27xxxxxxxxxxxxxxx
# ARM_CLIENT_SECRET
principal key:Roxxxxxxxxxxxxxxx
# ARM_TENANT_ID
Tenant ID:85xxxxxxxxxxxxxxx
必须的认证azure_metrics 集成信息:
Client ID::应用程序的唯一标识符(也称为应用程序ID)
Client Secret:客户端/应用程序的秘密/密钥
Subscription ID: azure订阅的唯一标识符
Tenant ID: Azure Active Directory实例的唯一标识符
Resource Manager Endpoint:可选,默认情况下将使用azure公共环境,要覆盖,用户可以提供特定的资源管理器端点,以便使用不同的azure环境,例如:management.chinacloudapi.cn适用于azure ChinaCloud management.microsoftazure.de适用于azure GermanCloud management.azure.com适用于azure PublicCloud management.usgovcloudapi.net适用于azure USGovernmentCloud
Active Directory Endpoint:可选,默认情况下将使用与资源管理器端点相关联的活动目录端点,要覆盖,用户可以提供特定的活动目录端点,以便使用不同的azure环境。例如:login.microsoftonline.com适用于Public Cloud login.microsoftonline.us适用于azure GermanCloud login.chinacloudapi.cn适用于azure ChinaCloud login.microsoftonline.de适用于azure USGovernmentCloud
四 添加资源指标集成Agent
正在收集指标的主机上安装Elastic Agent手机指标数据并发送给Elastic Stack。
在增加Agent可以使用安装配置Fleet进行安装配置,也可以使用单独使用Agent进行配置。
在此使用Standalone模式部署。
4.1 配置Agent
将此策略复制到elastic-agent中。在安装了弹性代理的主机上,使用“yml.xml”。修改“elastic-agent”输出部分的“ES_USERNAME”和“ES_PASSWORD”。使用您的Elasticsearch凭据。
将配置文件下载至主机中,并修改es相关认证信息。
4.2 在主机上安装Elastic Agent
选择适当的平台并运行命令来安装、注册和启动Elastic Agent。重用命令在多个主机上设置代理。对于aarch64,请参阅我们的 downloads page(在新选项卡或窗口中打开)。有关其他指导,请参阅我们的 installation docs(在新选项卡或窗口中打开)。
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.10.2-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.10.2-linux-x86_64.tar.gz
cd elastic-agent-8.10.2-linux-x86_64
# 将修改后的配置文件放到安装目录下,之后进行安装
sudo ./elastic-agent install
Agent安装完成后在/opt/Elastic/Agent目录下
通过agent命令查看状态
elastic-agent status
systemctl status elastic-agent
五 Dashboard查看
可以看到elastic-agent内置的dashboard
查看elastic agent 的overview 视图
- 账单信息
注意同azure 其他指标采集相同,配置集成,可以将生成的配置id及相关内容粘贴到elastic-agent中,进行采集操作。
在此可以实时查看日志信息
可以看到billing的信息
Azure Compute VM状态图
六 注意事项
- 注意azure在中国又世纪互联运营,需要配置相关采集指标的时候,指定Active Directory Endpoint、Resource Manager Endpoint中。
- 目前采集的指标部分字段没有数据,后续需进一步测试。
七 总结
ELK集成Azure Metrics可以帮助您实现对Azure资源的实时监控和分析。通过将ELK的强大搜索和分析功能与Azure Metrics的数据集成,您可以获得对Azure资源性能和使用情况的深入洞察,并及时采取必要的措施来优化和管理这些资源。
参考链接
- azure.microsoft.com/en-us/prici…
- www.elastic.co/guide/en/fl…
- www.elastic.co/guide/en/ob…
- Quickstart: Register an application with the Microsoft identity platform
- Use the portal to create an Azure AD application and service principal that can access resources