如何从JFrog托管服务获取Artifactory日志以排查deb包403报错问题
Artifactory历史日志获取方案及对应问题排查参考
历史日志获取方法
- 本地文件系统直接提取
若有权限访问Artifactory部署的宿主机或容器,可以直接到默认日志路径读取历史文件:- RPM/DEB包安装的默认路径:
/var/opt/jfrog/artifactory/logs - Docker容器部署的容器内路径:
/opt/jfrog/artifactory/var/log - 二进制包手动部署的路径:
<解压目录>/artifactory-<版本号>/var/log
日志目录下request.log记录所有接口请求明细,access.log记录权限校验相关日志,历史日志会按天自动切割压缩,带日期后缀的压缩包即为历史日志文件。
- RPM/DEB包安装的默认路径:
- Web UI管理员后台导出
若只有Artifactory管理员账号权限,无需调用API,直接登录Web后台,进入Administration > Monitoring > Logs页面,除实时日志视图外,页面会列出所有已生成的历史日志文件,选中对应日期的文件直接下载即可。 - 修复API调用逻辑后导出支持包
API返回405错误为请求方法不匹配导致,生成支持包的API要求使用POST请求,多数情况是误调用了GET方法导致报错。正确的调用命令参考:
命令执行成功后会返回支持包的下载地址,下载后即可提取全量历史日志。curl -XPOST -u <管理员用户名>:<密码> "http://<你的Artifactory域名或IP>/artifactory/api/system/support/bundle"
偶发deb包下载403问题排查参考
该类偶发403问题大概率为以下两类原因,拿到日志后可优先匹配校验:
- 权限规则冲突:下载账号绑定了多条权限策略,其中某条带时间/IP限制的临时策略偶发命中触发权限拒绝,重试时临时策略失效后请求正常。
- 集群节点元数据同步延迟:若Artifactory为集群部署,目标deb包上传后还未同步到请求接入的节点,节点缺失该包的权限元数据时会返回403,等待数分钟同步完成后重试即可正常下载,完全匹配固定包偶发失败、重试可成功的特征。
内容的提问来源于stack exchange,提问作者Eric Horne
相关产品推荐
相关产品推荐

