实战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存储的组合都能为您提供可靠、高效的日志收集解决方案。

参考链接

相关推荐
dongsdh8 小时前
部署python
大数据·elasticsearch·搜索引擎
蓝速科技9 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
H_oRIZoN_9 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
小马同学-11 小时前
OpenStack 使用实战:Web 界面与 CLI 命令行实验
运维·云计算·openstack
网安老伯12 小时前
都2026年了,还在问网络安全怎么入门?看完这一篇你就懂了
运维·计算机网络·web安全·网络安全·wireshark·密码学·网络攻击模型
小祺先生12 小时前
mt7921 debian系统 如何安装驱动
运维·网络·debian
m0_4598729212 小时前
Linux 系统基础
linux·运维·服务器
fb_1234513 小时前
Docker入门-第3章-容器镜像深度解析
运维·docker·容器
吴声子夜歌13 小时前
Shell编程——数组
linux·运维·shell
2401_8919573113 小时前
简单了解多路转接select
运维·服务器