ELK集成Azure Metrics实战

一 背景

在目前新版本中,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 应用密钥创建及授权的讲解过,在此不再展开。

shell 复制代码
用户类型应用
# 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(在新选项卡或窗口中打开)。

shell 复制代码
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命令查看状态

shell 复制代码
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资源性能和使用情况的深入洞察,并及时采取必要的措施来优化和管理这些资源。

参考链接

相关推荐
未 顾7 小时前
day12:版本控制器
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客12 小时前
Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·lucene
A ?Charis17 小时前
我来讲一下-Service Mesh.
云原生·service_mesh
严格要求自己19 小时前
nacos-operator在k8s集群上部署nacos-server2.4.3版本踩坑实录
云原生·容器·kubernetes
少吃一口就会少吃一口19 小时前
k8s笔记
云原生·容器·kubernetes
星海幻影20 小时前
云原生-docker安装与基础操作
网络·安全·docker·云原生·容器
2301_8061313621 小时前
Kubernetes 核心组件调度器(Scheduler)
云原生·容器·kubernetes
运维&陈同学1 天前
【HAProxy08】企业级反向代理HAProxy高级功能之自定义日志格式与IP透传
linux·运维·nginx·云原生·负载均衡·lvs·haproxy·反向代理
涔溪1 天前
云原生后端深度解析
后端·云原生
运维&陈同学1 天前
【HAProxy05】企业级反向代理HAProxy调度算法之静态算法与动态算法
linux·运维·算法·nginx·云原生·负载均衡·lvs·haproxy