背景
日志服务提供多种途径帮助用户方便快速写入日志数据到指定日志库,具体包含Logtail客户端、各种语言SDK、TrackingPixel以及REST API等方式,详细描述请参考文档“如何写入日志”。
其中Logtail客户端支持快速接入单行、JSON、分隔符等多种日志文件格式以及syslog协议(常见日志收集配置),并且提供80MB/s的大吞吐量,同时性能相比同类工具有10倍提升仅消耗15%的资源(评测文档)。
Logtail客户端使用的一般流程包括三个步骤:创建机器组管理日志数据所在机器、创建日志收集配置、绑定日志收集配置与指定机器组。其中“创建机器组”的默认模式需要用户填写机器(常见为ECS虚拟机,非ECS虚拟机可以参考文档)IP列表,但是在实际使用中机器组机器经常会发生变化,如果没有及时同步更新,新增加的机器无法收集日志,针对这类扩容机器日志问题日志服务发布“自定义机器标识”功能。
示例场景
常见的系统通常由多个模块组成,每个模块可以包含多台机器,比如常见网站分为前端HTTP请求处理模块,缓存模块,逻辑处理模块和存储模块,每部分都可以进行单独的水平扩展,因此在新增机器时需要能够实时进行日志采集。
使用方式
1)创建用户自定义标识
安装完成Logtail客户端后(安装文档),对于示例场景中的模块可以分别分成4类机器标识(http_module/cache_module/logic_module/store_module),并在机器上根据不同机器的作用分别创建指定标识文件。
2)创建机器组
创建机器组时“机器组标识”选择“用户自定义标识”,按照模块分类创建4个机器组,并在下方“用户自定义标识”输入框中填入上一步中机器本地创建自定义标识。“http_module”机器组如下图所示:
完成上述步骤后,可以在机器组“查看状态”中查看使用相同自定义标识的机器列表及其心跳状态,如下图:
根据上图可以看到10.1.1.1和10.1.1.2两台拥有相同的机器标识,同时两台机器也会同步机器组“http-machine-group”应用的配置。
3)扩容机器
当模块需要扩容机器时,比如前端模块增加机器10.1.1.3,只需要完成步骤1)和2)完成Logtail安装和创建自定义标识为http_module的文件即可自动同步不同机器组的配置,成功执行操作后可以在机器组“查看状态”中看到新增机器。
相关功能
如果需要在模块中再对机器组进行分类,比如前端模块分别为vip用户normal用户服务,可以使用“机器组Topic”功能设置不同的topic属性,具体使用方式可以参考Logtail配置支持主题(Topic)设置功能。
其它
更多日志服务内容请关注产品主页,在日志处理圈子中交流。