爱你的日志。这很有效果

“我的Artifactory启动不了”;“我看到了一些滞后”;“我的文物不见了”;“当Jenkins试图拉/部署工件时,我遇到了问题”;“我得到404 / 401/ 403/ 500 /409”…这些只是一个几我从客户那里听到的常见问题。非常基本的问题;对吧?只要我们有正确的信息,我们可以在几秒钟内对他们进行分类。我们确实是这样做的!所有这些信息都可以在日志中找到。这就是为什么每个开发人员和DevOps工程师都应该热爱日志文件;这才是真正值得的爱。在这篇文章中,我将详细介绍使用Artifactory时可以访问的大量日志信息。
作为开发人员和DevOps工程师,我们都编写应用程序和脚本,以自动化所有我们必须执行的繁琐的手工任务。它使我们更有效率、更多产。作为一项最佳实践,我们在代码中包含了大量调试信息,并利用它来快速缓解可能出现的任何问题。
Artifactory也是如此。作为一个企业应用程序,Artifactory生成详细的日志作为其基本架构的一部分。使用Logback框架,Artifactory日志活动根据类型在四个不同的日志文件,可以在ARTIFACTORY_HOME /日志文件夹:
- artifactory.log
- access.log
- request.log
- import.export.log
您可以从Artifactory UI中查看这些日志中的任何一个,或者直接从您的文件系统访问它们。但还有更多。因为Artifactory在tomcat容器中运行,所以您还可以访问Catalina日志,对于下一级的调试,您还可以激活traffic.log监控流量和进行审计。
日志文件冗长
可以通过在Logback配置文件的对应条目中输入或修改级别值来配置系统中任何记录器的详细信息,ARTIFACTORY_HOME / etc / logback.xml.
例如:
<记录器name = "表示。Wicket ">
在本文的其余部分中,我将向您展示如何充分利用Artifactory和相关日志文件。
Application Monitor: artifactory.log
的artifactory.log文件是您的主应用程序日志。它从应用程序开始,到应用程序结束。从启动到关闭发生的所有事件以及系统错误信息都可以在这个日志中找到。这是在启动Artifactory时要监视的关键文件。因为Artifactory与许多组件(数据库、存储[NFS / Object / DAS / NAS]、负载平衡器、反向代理以及大多数情况下的网络代理)交互,所以存在许多潜在的故障点,并且artifactory.log如果出了什么问题,就去那里看看。无论您的Artifactory安装是一个独立的实例还是一个高可用的集群,这个日志文件都会捕获它,通过分析它,您可以减轻95%的启动问题。
看门人:access.log
Artifactory的access.log是您的首选身份验证日志。它包含一个完整的身份验证请求列表,提供关于每个请求的重要信息,无论是否接受。这包括下载请求、配置更改、密码重置等。无论请求是通过GUI、REST API还是CLI发出的,该日志都以显式的柱状结构捕获请求的各个方面——谁、何时和在哪里——因此您可以轻松地对其运行日志解析器以获得进一步的了解。如果您不知道,Sumo Logic与Artifactory的开箱即用集成在一起,下面将对其进行更详细的描述。
How Much和How Many: request.log
Artifactory的request.log可以被认为是Apache HTTPd请求日志的兄弟。它是监视流量、使用、请求和在Artifactory中执行的任何其他操作的地方。与其他日志文件一样,这个日志文件也是列化的,便于日志解析器进行分析。

输入什么,输出什么:import.export.log
顾名思义,Artifactory的import.export.log是记录与系统导入和导出相关的所有事件和活动的日志。可以计划导入和导出,通过分析此日志文件,可以缓解为此发生的任何问题。
超越Artifactory: Catalina原木
因为Artifactory在Tomcat容器中运行,与Tomcat和servlet相关的活动被捕获在默认的Catalina日志文件中,其中还包括任何未捕获的异常显示在一个java.lang.ThreadGroup.uncaughtException(. .)。Artifactory应用程序线程转储也在Catalina日志中,可以在下面找到ARTIFACTORY_HOME / logs /卡特琳娜/
日志分析:从日志到洞察
如前所述,Artifactory自带相扑逻辑集成开箱即用.要连接Sumo Logic,您所需要做的就是在Artifactory UI中填写相关字段。
如果您还没有Sumo Logic的帐户,Artifactory将自动为您创建一个帐户,并开始发送日志数据进行分析。Sumo Logic数据分析平台将相应地显示预先启用的仪表板,可以根据需要定制。这使您能够直接从Artifactory访问Sumo Logic的高级运营分析,使您能够同时索引和分析结构化指标数据和非结构化日志数据。然后,您可以拥有各种仪表板,如按地理位置的流量、活动ip、最活跃存储库、引用次数最多的文件、按状态码的请求、拒绝登录尝试等等。

来源:相扑逻辑
Syslog支持
如果您愿意,您可以配置Artifactory来整合日志信息并将其写入Syslog。您所需要做的就是配置Logback库,分为三个简单步骤:
- 配置logback.xml
您需要编辑$ARTIFACTORY_HOME/etc/logback.xml文件,通过向Syslog添加一个追加器将日志发送到Syslog工具。. < syslogHost > localhost < / syslogHost > <设施> SYSLOG > < /设施< suffixPattern >[%线程]%记录器%味精< / suffixPattern >< / appender > - 将追加器添加到输出中。
在根部分末尾添加一个appender-ref标签,如下所示:根> <<级别值= "信息" / >< appender-ref ref = "安慰" / >< appender-ref ref = "文件" / >< appender-ref ref = " SYSLOG " / >根> < /
确保保存logback.xml文件,注意您甚至不需要重新启动Artifactory就可以使此更改生效。
- 注意插座
因为logback使用internet套接字,所以必须确保您的Syslog工具接受它们。现代Linux发行版使用rsyslog守护进程进行日志记录。确保internet域套接字的配置是启用的,可以通过编辑/etc/rsyslog.conf并取消注释以下代码段:#提供UDP Syslog接收功能美元ModLoad imudpUDPServerRun 514美元提供TCP syslog日志接收功能美元ModLoad imtcpInputTCPServerRun 514美元
或者,您也可以将代码段复制到名称带有后缀“.conf”的文件中,并将其放在/etc/rsyslog.d
为了使此更改生效,您需要使用以下方法重新启动Rsyslog服务:服务rsyslog重启
这就是结果。Artifactory在其不同的日志文件中提供了大量信息。您所需要做的就是打开它们——无论是在应用程序UI中还是在任何文本编辑器中。从识别严重错误到跟踪Artifactory服务器的不同类型的流量,日志文件都是非常有用的资源。如果您热爱您的日志文件并正确地处理它们,那么它们也会同样热爱您,并为您提供所需的所有见解。
