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

参考链接

相关推荐
喝醉酒的小白1 小时前
Elasticsearch(ES)监控、巡检及异常指标处理指南
大数据·elasticsearch·搜索引擎
孤水寒月4 小时前
Git忽略文件.gitignore
git·elasticsearch
小扳5 小时前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
LKAI.10 小时前
搭建Elastic search群集
linux·运维·elasticsearch·搜索引擎
aherhuo15 小时前
kubevirt网络
linux·云原生·容器·kubernetes
catoop16 小时前
K8s 无头服务(Headless Service)
云原生·容器·kubernetes
小峰编程17 小时前
独一无二,万字详谈——Linux之文件管理
linux·运维·服务器·云原生·云计算·ai原生
小马爱打代码17 小时前
云原生服务网格Istio实战
云原生
运维小文18 小时前
K8S中的PV、PVC介绍和使用
docker·云原生·容器·kubernetes·存储
ζั͡山 ั͡有扶苏 ั͡✾19 小时前
Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
云原生·容器·kubernetes