1. 日志中心-交易查询
交易查询是针对某一个用户请求问题排查。是解决当我们知道某一个用户做了一些交易报一些错误的时候,排查问题。可以先通过用户标识先查询一段时间内做的所有交易汇总信息,通过汇总信息进一步查看各个交易明细列表。 通过具体一笔交易的信息查询到这笔请求的全链路与链路日志信息。交易记录表就是类似pjnl表,记录所有用户的操作记录,只是采集到了NTC admin。然后NTC提供查询与统计。再通过这些记录把日志、链路关联起来。
交易查询支持对交易自定义一些字段信息,包括交易名称(serviceName)、用户名称(userName)、返回码(returnCode)、返回信息(returnMessage)、附加信息(content)、交易金额(amount)、付款账号(paymentAccount)和收款账号(receiptAccount)。
自定义交易名称
在应用国际化的properties文件中设置交易码和交易名称的映射关系,例如:
SimpleTrace=简单访问
DBTrace=数据库访问
DubboTrace=dubbo通讯
自定义其它字段
1.引入探针服务MonitorClient
@NextAutowired(required = false)
private MonitorClient monitorClient;
- 定义TransLogUpdated对象,设置字段信息,通过MonitorClient的updateTransLog方法更新交易字段信息。例子如下:
Map<String, Object> content = new HashMap<String, Object>();
content.put("name", "王五");
content.put("age", 37);
TransLogUpdated updated = new TransLogUpdated();
// 用户名称
updated.setUserName("csii");
// 返回码
updated.setReturnCode("111111");
// 返回信息
updated.setReturnMessage("访问成功");
// 附加信息,扩展追加信息使用
updated.setContent(content);
// 交易金额
updated.setAmount(5000D);
// 付款账号
updated.setPaymentAccount("24124245782424242");
// 收款账号
updated.setReceiptAccount("64643864535678378");
monitorClient.updateTransLog(updated);