实战Filebeat采集Azure Blob日志

一 背景

Azure DevOps目前仍只在微软云Azure海外区域提供SaaS服务,Azure中国区域还没有发布。其实Azure DevOps可以管理各种云和应用部署的环境与平台,可以通过服务连接(Service Connection) 方便地连接Azure中国区域,以及其它Azure的特殊区域,比如美国政务云、德国区域等等。本文将带领大家一步一步配置好中国区域的订阅,以及建立起Azure DevOps到中国区域订阅的连接。

二 Azure 账号配置

Azure DevOps的服务连接支持多种连接方式,包括Azure Resource Manager, Azure Service Bus, Bitbucket Cloud, Kubernetes, Jenkins等。其中Azure Resource Manager需要对接一个Azure订阅中的Azure Active Directory (Azure AD) 应用程序和服务主体(service principal)。所以我们先来在Azure中国区域的控制台创建一个可以管理资源的 Azure AD 服务主体。

2.1 确认Azure AD 用户权限

要创建Azure AD 服务主体,必须具有足够的权限向 Azure AD 租户注册应用程序,并向应用程序分配 Azure 订阅中的角色。先来确认 Azure AD用户的权限。在服务列表中点击Azure Active Directory,会前进到如下的用户概况页。

我这个测试用户现在是全局管理员,默认情况下普通用户不能注册应用程序。如果需要普通用户也可以注册应用程序,可以在左侧导航链接点击 User Settings,把用户可以注册应用程序设置为启用。

2.2 创建Azure AD 服务主体

在控制台回到 Azure Active Directory,左侧导航链接选择应用注册,再点新注册。

为应用程序起个名字,比如"azure-devops",并记下这个名字,后面还会用到。

支持的帐户类型,选择Accounts in this organizational directory only,其它保持默认。

点击注册

2.3 给服务主体添加身份验证

为配合下一步Azure DevOps创建服务连接时的验证,我们给刚刚创建出的服务主体添加身份验证。这里我们选用应用程序机密的方式。

在Azure AD 中的"应用注册",选择刚创建出的应用程序。在左侧导航链接中选择"证书和机密"。然后在主窗格中点击"新建客户端机密"。

2.4 给应用程序分配订阅的角色

再来到控制台的订阅管理界面,选择到咱们正在操作的这个订阅,然后点击左侧导航链接中的"访问控制(IAM)",点击主窗格中的"添加",再点击添加角色分配。

在弹出的添加角色分配浮层中,角色选Contributor,分配权限选择User, group or service principal。

在选择格,输入前面创建的应用程序名,会搜索出来一个结果,要再点击一下这条结果,然后底下左边的保存按钮就变成可用了。

三 Azure Blob信息

创建bucket,用于存放日志

  • 存储账户信息
shell 复制代码
# 存储账户名称
xuelstorageaccount

# 存储链接url
storage_url: https://xuelstorageaccount.blob.core.chinacloudapi.cn/

# 密钥
7Nrxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

# 链接字符串
DefaultEndpointsProtocol=https;AccountName=xuelstorageaccount;AccountKey=7NrRzC33xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq8p4g==;EndpointSuffix=core.chinacloudapi.cn
  • 注册app信息
shell 复制代码
# 注册的APP ak信息
# appid
Service Principal Id:eea3xxxxxxxxxxxxxxxxxxxxxxxxxxxx61d

# ARM_CLIENT_SECRET
principal key:UKxxxxxxxxxxxxxxxxxxxxxxxxxxxxH5O

三 相关信息

四 Filebeat配置

直接在Filebeat 主文件中配置azure blob配置,修改filebeat.yml

shell 复制代码
filebeat.inputs:
- type: azure-blob-storage
  id: my-azureblobstorage-id
  enabled: true
  account_name: xuelstorageaccount
  storage_url: https://xuelstorageaccount.blob.core.chinacloudapi.cn/
#  storage_url: DefaultEndpointsProtocol=https;AccountName=xuelstorageaccount;AccountKey=7NrRzC3xxxxxxxxxxxxxxxxxxxxxxxxxxxxuq8p4g==;EndpointSuffix=core.chinacloudapi.cn
  endpoint: core.chinacloudapi.cn
  auth.connection_string.uri: DefaultEndpointsProtocol=https;AccountName=xuelstorageaccount;AccountKey=7NrRzC3xxxxxxxxxxxxxxxxxxxxxxxxxxxx8p4g==;EndpointSuffix=core.chinacloudapi.cn
  auth.shared_credentials.account_key: 7Nrxxxxxxxxxxxxxxxxxxxxxxxxxxxx+AStuq8p4g==
  containers:
#    - name: xuel-filebeat-container
#      max_workers: 3
#      poll: true
#      poll_interval: 10s
    - name: qujf
      max_workers: 3
      poll: true
      poll_interval: 10s

五 测试

上次日志到bucket中

重启filebeat

shell 复制代码
# 查看日志
[root@elk-host filebeat]# journalctl -fu filebeat

在kibana中查看

六 总结

实战Filebeat采集Azure Blob日志是一种有效的方式来收集和处理云环境中的日志数据。通过配置Filebeat,您可以轻松地连接到Azure Blob存储并实时采集日志,无需复杂的编程或手动操作。Filebeat的灵活性和可扩展性使得它成为处理大规模日志数据的理想选择。通过结合Azure Blob存储的强大功能和Filebeat的实时数据传输能力,您可以更好地管理和分析云环境中的日志信息,提高系统的可观测性和故障排查效率。无论是监控应用程序的性能,还是追踪安全事件,Filebeat和Azure Blob存储的组合都能为您提供可靠、高效的日志收集解决方案。

参考链接

相关推荐
ximy133529 分钟前
AI服务器工作之整机部件(CPU+内存)
运维·服务器
weixin_4211334132 分钟前
bisheng 的 MCP服务器添加 或 系统集成
运维·服务器
AKAMAI2 小时前
安全风暴的绝地反击 :从告警地狱到智能防护
运维·人工智能·云计算
hkNaruto3 小时前
【DevOps】基于Nexus部署内网pypi代理镜像仓库操作手册
运维·devops
ximy13353 小时前
AI服务器工作之线材的接口介绍
运维·服务器
ximy13353 小时前
AI服务器工作之ubuntu系统下的驱动安装
运维·服务器·ubuntu
²º²²এ松3 小时前
蓝牙低功耗(BLE)通信的中心设备/外围设备(连接角色)、主机/从机(时序角色)、客户端/服务器(数据交互角色)的理解
运维·服务器·数据库
Maple_land3 小时前
常见Linux环境变量深度解析
linux·运维·服务器·c++·centos
xx.ii5 小时前
jenkins流水线项目部署
运维·jenkins
小白银子5 小时前
零基础从头教学Linux(Day 53)
linux·运维·python