如果您同时开通和使用日志服务和APMPlus服务端监控,就可以通过日志采集配置在日志中注入TraceId,在APMPlus服务端监控中结合链路追踪、指标监控等进行查询和消费,便于更精准全面的定位问题。
完成采集配置。具体操作,请参见采集容器文本日志(DaemonSet方式)。
根据应用服务配置的日志pattern,创建具体的解析规则。
为确保与APMPlus打通日志相关的完整功能,请解析出以下相应的键值并存储。
参数 | 说明 |
---|---|
log_level | 日志级别 |
hostname | 主机名 |
file_name | 打印日志的文件名 |
file_line | 打印日志的文件行号 |
trace_id | 链路追踪的TraceId |
service | 在APMPlus系统中该服务设置的服务名 |
message | 日志内容 |
完成索引配置。具体操作,请参见配置索引。
启用全文索引和键值索引,键值索引包含采集配置中提取的相应关键字,字段类型选择text。
在相应主题下查看日志是否被采集,日志解析关键字是否正常。
Java语言的服务接入APMPlus的Java Agent后,需要在日志中注入TraceId,需要在配置日志Pattern时,将MDC中的TraceId取出,Key为APM_TRACE_ID
。
例如,在log4j2中,pattern里配置注入TraceId。
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %X{APM_TRACE_ID} [%logger{50}:%l] - %msg%n" />
配置后,如果在打印日志时处于某个Trace内,则会将TraceId在日志中打印出来。