1L祭天
近期挤到一个需求 基于docker集群部署的环境下载各个服务器节点上的日志文件(对应的服务文件路径已经做了映射)
首先来看一下架构
思路: 所有的服务都有主备之分,收集日志的思路即是在每个机器节点上安装一个monitor.jar的监控服务,通过当前主程序去调用monitor 然后返回对应的数据
主程序代码如下
public class LogDownloadController { @GetMapping("loadLOgList") public Resp loadLOgList(@RequestParam("remoteIp") String remoteIp,@RequestParam("appName") String appName) { List<UploadFile> ja; try { String url = String.format("http://%s:%d/api/filelist/files/%s", remoteIp, 8887,appName); String res = HttpUtil.get(url, 1000); ja = JSONArray.parseObject(res, List.class); } catch (Exception e) { ja = Collections.emptyList(); log.error(e.getMessage()); }