方式一
1. 确定报错所在的主机、日期、报错信息;
2. 在对应主机的日志目录下搜索报错信息(grep -nr "xxxx" /sf/log/xx/);
3. 从搜索到的结果里,找到对应时间点的那一次错误,找到对应的日志id(老版本没有日志id,可以用日志里记录的进程号来代替);
4. 在第3步找到的日志文件里,过滤该日志id,则可以找到对应这一次操作的日志。这样看看日志的目的是避免其他并发的操作产生的日志对排查造成干扰(vtpdaemon并发处理);
5. 第4步的方法适用于perl代码产生的日志,python模块代码产生的日志暂时不适用(这些日志一般直接看对应时间段的即可);
6. 日志id的形式如:“49iaj#O096Y.6G0.2”(HCI6.7.0之后有所改动),注意到该id一般由两个英文句点分隔,最后一个句点后面的数字,可以理解为该次请求在各服务中调用的顺序:
先在apache中被处理,sfvt_apache2.log日志中为0;
然后到调度服务,sfvt_vtpscheduled.log中为1;
再到vtpdaemon或者vtpperlproxy这些日志,请求到了另一个服务,后面的序号会加1。
方式二 1. 找到需要排查的接口url
在虚拟机报错之前的时候打开浏览器按F12(建议谷歌或者火狐浏览器)
单击需要查看的内容查看Headers 里面的url

2. 在主控的调度服务日志(vtpscheduled)里面搜索该url,找到对应时间的记录:

3.在日志目录下搜索改日志id(不包含最后的序号):

即可得到该次请求的所有相关日志(这里只是个测试例子,错误日志只有一行“error test”)。