ELK集成Azure Metrics实战

2024年 2月 11日 58.7k 0

一 背景

在目前新版本中,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

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论