统一的JFrog日志分析与Splunk

我们齐心协力才能工作得最好。
这就是为什么我们建造了JFrog DevOps平台,将我们的解决方案集合在一起,作为一家单一、统一的用户体验.这种由Artifactory 7驱动的统一有助于带来全面的理解和对软件构建管道的控制.
为了保持它的运行,您还需要对整个平台的运行进行统一的实时查看。我们现在提供了一些工具,通过您已经使用的分析和可视化工具,使这更容易做到。
让我们来看看如何安装和使用这些新的JFrog工具,通过Splunk监控JFrog平台的运行。
统一平台的统一日志
JFrog平台的统一由许多微服务提供支持,每个微服务都有自己的日志记录。当分布在多个节点上时,如使用高可用性JFrog平台部署(JPD)时,平台操作的完整情况可能分散在网络中的25个或更多日志中。
运营团队需要一种方法将这些JPD日志数据整合到一个集合中,以分析性能并跟踪操作问题。即使是小型企业的JPD也可能每天记录数百万个交易事件,运营商需要能够将这些数据连接到一个强大的分析工具,以帮助找到见解。
准备Splunk
要使Splunk能够接收统一的日志数据,您需要完成以下操作设置HTTP事件收集器(HEC)在Splunk部署中。你可以在Splunk Enterprise中配置HEC.
即使您的Splunk部署已经为其他用途启用了HEC,您也需要创建一个身份验证令牌,供JFrog平台独占使用。
你需要注意并在你的HEC配置中使用这些值:
- HEC令牌-您为身份验证创建的GUID
- HEC主机——运行HEC的Splunk实例
- HEC端口:在HEC全局设置中配置的端口号
这样设置之后,您的Splunk部署现在就可以接收来自JFrog平台的消息了。
使用Fluentd
首先,我们有一个JFrog日志分析集成使用开源数据收集器Fluentd这可以是安装使用JFrog平台部署的每个产品实例。Fluentd为JFrog平台中的每个产品执行日志输入、字段提取和记录转换,并将该数据的输出规范化为JSON。
有了这种通用格式的所有日志数据,Fluentd将通过Fluentd的可插拔架构将其交付给您选择的分析工具。
安装Fluentd
每个jsp节点都需要安装一个Fluentd日志代理。这个代理将负责跟踪各种JPD日志文件,将新的日志行解析为字段,应用任何相应的记录转换,然后发送到Fluentd的相关输出插件。
要在每个节点上安装Fluentd代理,请根据节点的操作系统类型执行步骤Fluentd安装指南.
例如,对于操作Red Hat UBI Linux的节点,必须安装Fluentd代理' td-agent '(该操作系统需要root访问权限):
$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh
安装完成后,可以在指定的目录中找到“td-agent”:
$ which td-agent /usr/sbin/td-agent
您还需要在此节点上安装适合您的分析工具的Fluentd输出插件。对于Splunk来说,这将是Splunk Enterprise的Fluentd插件.
配置Fluentd
安装Fluentd代理时,它包含一个默认配置文件。
$ ls -al /etc/td-agent/td-agent.conf -rw-r——r——1 root root 8017 May 11 18:09 /etc/td-agent/td-agent.conf
派生的配置文件替换此配置文件JFrog日志分析Github的repo.
在这个repo中,fluentd文件夹包含配置文件模板。使用与节点中运行的JFrog应用程序匹配的模板::
对于Splunk,一旦我们下载了模板,我们就需要更新Fluentd配置文件,在它们的占位符中使用Splunk HEC值:
…#SPLUNK OUTPUT @type splunk_hec主机HEC_HOST <港口HEC_PORT令牌HEC_TOKENformat json #缓冲输出参数flush_interval 10s # time format time_key time time_format %Y-%m-%dT%H:% m:%S。% lz# ssl参数use_ssl true ca_file /path/to/ca。输入splunk_hec主机HEC_HOST港口HEC_PORT令牌HEC_TOKENformat json #缓冲输出参数flush_interval 10s # time format time_key时间戳time_format %Y-%m-%dT%H:% m:%S。% lz# ssl参数use_ssl true ca_file /path/to/ca。输出SPLUNK输出
运行Fluentd
现在我们已经有了新的配置文件,我们可以在系统上启动td-agent作为服务:
$ systemctl start td-agent
或者,我们可以直接对配置文件运行td-agent:
$ td-agent -c td-agent.conf
这将启动Fluentd日志代理,它将跟踪JPD日志并将它们全部发送到Splunk。
使用Splunk
一旦聚合的日志数据可以通过Fluentd获得,你就可以使用Splunk来搜索、分析和可视化数据。
的JFrog日志应用程序Splunk可以在Splunkbase必须下载并安装,才能将JFrog平台日志数据连接到您的Splunk帐户。

安装完成后,JFrog Logs仪表板将显示关键操作指标的时间线和计数数据:
- 日志卷,可按类型过滤
- 服务错误
- HTTP响应码
- 访问图像
- 访问存储库
- 上传/下载的数据传输(以GB为单位)
- 上传/下载Top 10 ip
- 按用户名审计操作
- 通过IP和用户名拒绝操作和登录
- 通过用户名接受部署
如果您需要更多,您可以使用统一的数据在Splunk中构建自己的自定义仪表板小部件,以获得所需的操作见解。
聚在一起
通过我们新的日志分析安装,现在可以更容易地监视JFrog平台部署的所有服务和执行节点。
请注意,完整的解决方案仅适用于Artifactory 7和JFrog平台的其他组件。因此,如果您一直打算从Artifactory 6升级,请将这一便利添加到完成它的原因列表中。
Splunk的这种用法是我们提供的第一个分析工具集成。但是我们很快就会为其他流行的分析和数据可视化解决方案提供工具,这样你就可以利用你喜欢的工具了。
