本文介绍通过Logtail将SkyWalking平台上的Trace数据转发至日志服务的操作步骤。
前提条件
已创建Trace实例。更多信息,请参见创建Trace实例。
使用限制
仅支持SkyWalking V3版本的gRPC协议,对应的SkyWalking发行版本为8.0.0及以上。
Logtail版本要求:Linux Logtail 1.0.33及以上版本或Windows Logtail 1.0.33.0及以上版本。
操作视频
步骤一:配置数据接入
登录日志服务控制台。
在接入数据区域,选择SkyWalking。
选择您Trace实例所在的Project以及${instance}-traces Logstore。
创建机器组。
如果您已有可用的机器组,请单击使用现有机器组。
如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
在ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击创建。
具体操作,请参见安装Logtail(ECS实例)。
重要如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动安装Logtail且要求为Linux Logtail 1.0.33及以上版本或Windows Logtail 1.0.33.0及以上版本。具体操作,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。
手动安装Logtail后,您必须在该服务器上手动配置用户标识。具体操作,请参见配置用户标识。
安装完成后,单击确认安装完毕。
在创建机器组页面,输入名称,单击下一步。
日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组和创建用户自定义标识机器组。
确认目标机器组已在应用机器组区域,单击下一步。
重要创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。
在数据源设置页签中,添加如下配置,单击下一步。
重要${instance}为您的Trace实例ID,请根据实际情况替换。获取方法,请参见创建Trace实例。
如果您的Logtail本地11800端口被占用,可替换为其他可用端口。
{ "inputs" : [ { "detail" : { "Address" : "0.0.0.0:11800" }, "type" : "service_skywalking_agent_v3" } ], "aggregators" : [ { "detail" : { "MetricsLogstore" : "${instance}-metrics", "TraceLogstore" : "${instance}-traces" }, "type" : "aggregator_skywalking" } ], "global" : { "AlwaysOnline" : true, "DelayStopSec" : 300 } }
步骤2:配置SkyWalking客户端
配置SkyWalking客户端,将数据发送到Logtail监听的地址,详细说明如下:
如果您使用的是Java Agent,则替换其中的collector.backend_service参数。具体操作,请参见Java Agent配置。
如果您使用的是.NET Core Agent,则使用
dotnet skyapm config ${service}${endpoint}
命令生成配置文件。其中,${service}需替换为实际的服务名,${endpoint}需替换为步骤一:配置数据接入中配置的机器组IP地址及对应的端口号。具体操作,请参见SkyAPM-dotnet。如果您使用的是其他Agent或SDK发送数据,需将后端地址替换为步骤一:配置数据接入中配置的机器组IP地址及对应的端口号。
问题排查
使用Logtail采集Trace数据后,如果预览页面或查询页面无数据,您可以参见Logtail采集日志失败的排查思路进行排查。