Logtail从入门到精通(三):机器分组配置

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,标准 - 同城冗余存储 20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 基于集团内数年来的Agent运维经验总结,我们设计了一种灵活性更高、使用更加便捷、耦合度更低的配置&机器管理方式:自定义标识机器分组。此种方式对于动态环境非常适用,尤其适用于弹性伸缩服务和swarm、pouch(阿里docker)、Kubernetes等容器环境。

什么是机器分组


上一篇中我们对机器分组进行了简单的介绍,从更通俗的角度讲:机器分组就是一批产生相同日志的机器,一般情况下是一组应用,比如Nginx、MongoDB、HDFS等集群。通常一个机器分组下会产生多种日志,会分别采集到多个logstore。而同时一个机器也可以扮演多种角色(比如同时担当前端和后端的角色,既部署了Nginx也部署了应用worker),因此一个机器也会属于多个机器分组中。所以我们有了以下的机器分组模型:


c4550e27-6622-4349-ba39-dda308b91539.png


机器分组类型


目前我们支持了两种不同的机器分组,分别是IP标识和自定义标识分组。


IP标识机器组


IP标识的机器组通俗易懂,非常易于上手,只需简单的将IP输入到分组里即可完成配置,同时也支持一个分组里面输入多个IP。


c3aa2deb-ef35-4d5e-94f2-0f42834d3d84.png


IP标识的机器组虽然配置简单,但存在非常大的缺陷:不支持动态缩扩容。在实际使用中机器组中机器经常会发生变化(例如机器替换、服务扩容/缩容),尤其在使用弹性伸缩服务、Kubernetes容器服务更为明显,如果没有及时同步更新或忘记配置,新增加的机器便无法采集到日志。


自定义标识机器组


基于集团内数年来的Agent运维经验总结,我们设计了一种灵活性更高、使用更加便捷、耦合度更低的配置&机器管理方式:自定义标识机器分组。


自定义标识机器分组操作非常简单:机器上设置一个或多个标识,并把机器组配置为自定义标识类型(userdefined-id),输入相应的标识,机器组即会自动匹配。


此种方式对于动态环境非常适用,尤其适用于弹性伸缩服务和swarm、pouch(阿里docker)、Kubernetes等容器环境。只需在虚拟机镜像、DockerFile或Kubernetes的yaml模板等提前配置好标识,后续扩容的机器一上线就会立即加入到对应的机器分组中,并根据对应机器分组上的采集配置开始工作。


使用方式


详细使用方式参见自定义标识机器组


步骤一 本地配置


  • Linux Logtail


通过文件 /etc/ilogtail/user_defined_id 来设置userdefined-id。


例如,设置自定义机器标识如下:


cat /etc/ilogtail/user_defined_id
k8s-demo


  • Windows Logtail


通过文件 C:\LogtailData\user_defined_id 来设置userdefined-id。


例如,设置自定义机器标识如下:


C:\LogtailData>more user_defined_id
k8s-demo


注意: 若目录 /etc/ilogtail/C:\LogtailData或文件 /etc/ilogtail/user_defined_idC:\LogtailData\user_defined_id不存在,请手动创建。


  • Docker 应用


如果您在容器中安装Logtail,可以在DockerFile中使用以下方式在发布时配置标识:


RUN mkdir /etc/ilogtail/
RUN echo ${您的机器组自定义标识} > /etc/ilogtail/user_defined_id


  • Kubernetes 集群


K8S使用可以参见Kubernetes日志采集


步骤二 创建自定义标识机器组


  1. 在机器组列表页面单击右上角的创建机器组。
  2. 填写机器组配置。
  • 机器组名称。填写自定义的机器组名称。
  • 机器组标识。选择用户自定义标识。
  • 用户自定义标识。填写步骤一中配置的userdefined-id,例如k8s-demo
  1. 单击确认结束配置。后续扩容无需修改机器组。


60915910-9376-4fdf-900f-6d884a20d434.png


步骤三 查看机器组心跳


在机器组列表页面,单击目标机器组右侧的查看状态,可以查看使用相同自定义标识的机器列表及其心跳状态。


7fbbbbad-6978-4654-ab5c-18042aa0104f.png

若有收获,就点个赞吧

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Prometheus 负载均衡 监控
详解Gateway
详解Gateway
2153 0
|
10月前
|
存储 缓存 NoSQL
分布式系统架构8:分布式缓存
本文介绍了分布式缓存的理论知识及Redis集群的应用,探讨了AP与CP的区别,Redis作为AP系统具备高性能和高可用性但不保证强一致性。文章还讲解了透明多级缓存(TMC)的概念及其优缺点,并详细分析了memcached和Redis的分布式实现方案。此外,针对缓存穿透、击穿、雪崩和污染等常见问题提供了应对策略,强调了Cache Aside模式在解决数据一致性方面的作用。最后指出,面试中关于缓存的问题多围绕Redis展开,建议深入学习相关知识点。
708 8
|
机器学习/深度学习 自然语言处理 TensorFlow
深入浅出:理解和实现深度学习中的卷积神经网络(CNN)
在当今的数据驱动世界,深度学习已经成为许多领域的关键技术。本文将深入探讨卷积神经网络(CNN)的原理、结构和应用,旨在帮助读者全面理解这项强大的技术,并提供实际的实现技巧。
626 27
|
安全 网络安全 数据安全/隐私保护
非对称加密的日常实践应用:以RSA加密为例
**RSA加密简介与Python实现** RSA,一种非对称加密技术,基于大数因子分解,用于数据加密和完整性保护。本文介绍了RSA基本原理,包括密钥生成(选取大质数p和q,计算n和φ(n),选择公钥指数e和私钥指数d),并展示了使用Python `cryptography` 库生成密钥对、加密和解密消息的代码示例。通过这些步骤,读者可理解RSA在网络安全中的应用,如HTTPS和数字签名。
1050 3
|
存储 算法
数字三角形(很经典的动态规划问题)
数字三角形(很经典的动态规划问题)
|
NoSQL 关系型数据库 MySQL
Redis入门到通关之Redis实现Session共享
Redis入门到通关之Redis实现Session共享
559 0
|
存储 SQL 运维
OLAP数据库选型指南:Doris与ClickHouse的深入对比与分析
OLAP数据库选型指南:Doris与ClickHouse的深入对比与分析
|
存储 虚拟化
VMware ESXI虚拟化安装win10系统
VMware ESXI虚拟化安装win10系统
1275 1
|
JavaScript 前端开发 API
vue的双向绑定的原理,和angular的对比
vue的双向绑定的原理,和angular的对比
294 0
|
负载均衡 安全 Dubbo
深入浅出微服务:40个微服务架构实战案例(Dubbo+Springcloud)
微服务在近几年来可以说是十分火爆,我们应该知道微服务的发展历程大致分为6个阶段分别是:单体应用阶段提、垂直应用阶段、分布式系统阶段、服务治理阶段、微服务阶段、最后到服务网格阶段。

热门文章

最新文章

下一篇
oss云网关配置