使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南


跳到元数据的末尾
进入元数据的开始

概述

JFrog Xray是JFrog Artifactory的补充产品,作为一组微服务单独安装运行。

Docker和Non-Docker的安装都尽可能的快速和简单,你只需要下载一个简单的脚本来管理运行Xray所需的所有其他组件的下载和安装。

在开始下载和安装Xray之前,请确保您的系统符合以下部分中的要求。

安装日志

作为安装/升级的一部分,Xray会创建一个日志文件来跟踪安装过程。每次安装/升级都会创建一个新的安装日志文件,格式如下:

$ {INSTALLER_DIR} / $ {SCRIPT_NAME} ${日期}. log

x射线高可用性

如果您正在安装Xray HA集群,请参考HA安装和设置


系统需求

硬件

JFrog Xray需要以下硬件:

  • 处理器:8核
  • 内存:16gb
  • 存储空间:100gb
  • 单独的主机(x射线不应该与Artifactory运行在同一台机器上)

最低要求

请注意,这些是运行Xray的最低要求。当Xray被更密集地使用时,例如在较大的安装或用于扫描Docker映像、RPM包等,您可能需要提供更多的硬件资源。2022世界杯阿根廷预选赛赛程

已分配的存储空间可能不同

x射线下载,然后删除获取的工件索引后。但是,为了有更多的并行索引过程,从而有更多临时文件在同一时间会需要更多的空间。

这尤其适用于大型blob,如Docker映像。

平台

JFrog Xray支持任何可以运行Docker v1.11及以上版本的非windows平台,此外,已经过测试和验证,可以在以下64位Linux上作为非Docker安装运行:

  • Ubuntu 16.04
  • Centos 7.倍
  • Debian 8.倍
  • 红帽7.x

操作系统库

确保你的操作系统库是最新的

页面内容

文件句柄分配限制

避免性能瓶颈

在Xray索引工件及其依赖项(元数据)的深度递归扫描过程中,Xray需要并发地管理许多打开的文件。Linux系统上可以同时打开的默认最大文件数量对于索引进程来说通常太低,因此可能导致性能瓶颈。为了获得最佳性能,我们建议按照以下步骤将可同时打开的文件数量增加到100,000个(或系统可以处理的最大值)。

使用以下命令确定当前文件句柄分配限制:

猫/proc/sys/fs/file-max

然后,在您的/etc/security/限制. conf文件到较低的为100,000或以上确定的文件句柄分配限制。

的相关参数是如何设置的/etc/security/限制. conf文件被设置为100000。安装的实际设置可能不同,具体取决于系统中的文件句柄分配限制。

Root hard nofile 100000 Root soft nofile 100000 x射线hard nofile 100000 x射线soft nofile 100000 postgres hard nofile 100000 postgres soft nofile 100000 mongod hard nofile 100000 mongod soft nofile 100000
截屏视频

码头工人

JFrog Xray需要在你想运行Xray的机器上安装Docker v 1.11及以上版本。有关安装Docker的说明,请参阅码头工人的文档

浏览器

Xray已使用谷歌Chrome、Firefox、Internet Explorer、Microsoft Edge和Safari的最新版本(发布时已知)进行了测试。

归档和压缩

x射线已通过以下存档类型(在发布时已知)的测试Tar (Bz2, Gz, Z, infl, Xp3, xz), Zip, rpm, deb, 7zip。

Artifactory

版本1.1, JFrog x射线支持JFrog Artifactory v4.0及以上。

旧版本的JFrog Xray只支持JFrog Artifactory v4.11及以上版本。

Artifactory版本推荐

我们建议使用JFrog x射线JFrog Artifactory v4.12以及以上,以获得最佳的集成和性能体验。

JFrog Xray 1.12与Artifactory 5.10共同发布。由于在这些版本中Xray与Artifactory的集成发生了根本性的变化,下面的矩阵描述了未来的版本兼容性:


x光版本
1.12 + < 1.12


Artifactory
版本

5.10 +

(勾选)

由于Artifactory和Xray都进行了升级,新的集成功能完全符合设计。

(错误)

在这种组合中,集成将无法工作,因为新版本的Artifactory将查询Xray的扫描状态,然而,旧版本的Xray没有所需的REST API端点。

< 5.10

(警告)

支持这种组合。Artifactory将继续显示每个工件的扫描状态,但是,它将使用先前使用属性的机制。

(勾选)

如果Artifactory和Xray都没有升级,集成将使用之前的机制工作,该机制将扫描状态显示为工件上的一组属性。

特性兼容性

Artifactory和Xray是独立运行的,Xray中的一些特性需要Artifactory中的特定版本来支持,如下表所示:

功能 Artifactory版本 x光版本
CI / CD集成

V >= 4.16

v > = 1.6
双向连接测试 V >= 4.15 v > = 1.3
x射线许可证验证 V >= 4.11 v > = 1.0
下载阻塞基于x射线警报 V >= 4.13 v > = 1.1
x射线切片“常规信息”页签在Artifactory的树浏览器中选择工件 V >= 4.11 v > = 1.0
通过REST API同步工件 V >= 4.11 v > = 1.0
通过用户插件同步工件 4.11 > v >=4.0 v > = 1.1

支持技术

JFrog Xray支持对各种包格式的扫描和影响分析,递归地扫描受支持的包层及其依赖关系,并提供一个组件图来显示发现的漏洞和许可遵从性问题的影响。有关支持的包格式的完整列表,请参阅支持技术


下载及安装

JFrog Xray可以作为Docker镜像安装,也可以作为每个受支持的Linux版本的非Docker安装。下载了首选的安装程序后,请按照下面相应部分中的安装说明进行安装。

x射线下载页面为任何支持的平台(Docker或Linux版本)提供JFrog Xray安装程序。

保持x射线在你的$PATH

确保将下载的文件保存在$PATH环境变量中定义的位置之一,以便可以从机器上的任何地方访问它。

码头工人安装

没有Docker运行Xray

要运行Xray作为非docker安装,请参考Linux安装

JFrog Xray Docker镜像可以安装在任何支持Docker v1.11及以上版本的平台上。要将Xray安装为Docker镜像,请确保您有网络连接,并遵循以下说明:

  1. 使x光可执行的
    要在你的机器上赋予xray执行权限,运行:

    Chmod +x x射线
  2. 安装并启动x射线
    安装过程将提示您输入“根文件夹”。您可以保留默认(当前)位置,也可以在计算机上指定另一个位置。仔细选择这个位置,因为你可能不会改变它以后,这是JFrog x射线保存其数据,配置文件和日志的地方。x射线安装程序只会提示您在这个位置进行初始安装。它被存储起来以供以后升级时使用。
    使用实例安装Xray。

    Sudo ./x射线安装

使用非交互式自动脚本安装Xray

如果使用无人值守模式安装/升级JFrog Xray,需要设置以下环境变量和xray-env.conf文件:

出口USE_DEFAULTS = true

无人值守安装将JFrog Xray配置为一个独立实例,包括这些x光microservices公共资源2022世界杯阿根廷预选赛赛程,以及默认文件系统结构

使用外部数据库

JFrog Xray使用多个数据库来实现其操作的不同功能。在版本1.10之前,Xray安装了所有这些数据库的一个实例供自己使用。

从版本1.10开始,Xray为您提供了使用自己的选项MongoDB而且Postgres数据库(如果您的组织中已经安装和使用了这些数据库)。

详情请参阅使用外部数据库

使用实例启动Xray。

。/ x光开始

3.(可选)禁用并替换RabbitMQ 'Guest'用户。

禁用和替换RabbitMQ 'Guest'用户(Docker)

  • 连接到容器并创建一个新的“Admin”用户,运行以下脚本。
Docker exec -it  bash rabbitmqctl add_user   rabbitmqctl set_user_tags  administrator rabbitmqctl set_permissions -p /  "."“。”“。*”


执行以下脚本删除“Guest”用户。

Rabbitmqctl delete_user guest service rabbitmq-server restart

端口配置

确保您的JFrog Xray和JFrog Artifactory安装上的端口正确配置,以支持两个应用程序之间的通信。

在Docker上升级

有关如何升级现有安装的说明,请参阅升级x光

与Docker安装程序交互

除了管理安装之外,xray安装脚本还可以提供额外的信息或在安装上执行额外的任务,如重新启动xray、显示日志文件等。详情请参见:

/ x光帮助。

Linux安装

安装要求

请确保以下条件保持不变:

  • JFrog x射线必须安装在与JFrog Artifactory不同的机器上。
  • umask(用户文件创建模式掩码)的默认设置必须为0022,022,0002或002


使用第三方日志采集器

要使用需要单独用户进行Xray操作的外部日志采集器(例如Sumologic、Splunk),可以调整$ XRAY_HOME /数据/日志目录,允许日志收集服务对生成的日志文件进行如下读操作。

  1. 如果需要,将日志收集服务用户添加到相关组(安装和启动Xray的用户和组)
  2. 对象上应用所需的用户和组权限$ XRAY_HOME /数据/日志目录使用:

    $ chmod -R 640 $XRAY_HOME/data/logs
  3. 调整组读继承权限setgid位使用

    $ chmod -R 2755 $XRAY_HOME/data/logs


    这将导致生成的日志文件继承文件夹的组权限。

Xray Linux安装遵循标准约定,将Xray安装在以下文件夹中:

应用程序文件
/ opt / jfrog / x光
数据文件

默认值:/var/opt/jfrog/xray/数据/

安装脚本将提示您选择一个可选的替代位置。

日志文件
/var/opt/jfrog/xray/数据/日志
日志配置文件
/var/opt/jfrog/xray/数据/配置
PostgreSQL主目录

默认值:/var/opt/jfrog/postgres

安装脚本将提示您选择一个可选的替代位置。

脚本目录

/ opt / jfrog / x光/脚本

这个文件夹中包含xray.sh脚本。

在下面的所有说明中,替换< linux-flavor >其中之一的占位符centosdebianubunturedhat根据您正在操作的Linux的风格而定。

所有受支持的Linux版本的安装说明都是相同的。

  1. 解压下载的安装存档文件

    Tar -xzf xray--latest. Tar .gz
  2. 运行安装脚本
    (如果您不是以“root”身份运行,请在以下命令前加上“sudo”)

    。/ installXray - < linux-flavor > . sh

    使用非交互式自动脚本安装Xray

    使用无人值守模式安装/升级JFrog Xray,需要执行安装脚本,并配置如下参数:

    。/ installXray - < linux-flavor > . sh——use-defaults

    另外,导出以下环境变量

    出口USE_DEFAULTS = true

    无人值守安装将JFrog Xray配置为一个独立实例,包括这些x光microservices公共资源2022世界杯阿根廷预选赛赛程,以及默认文件系统结构


    使用外部数据库

    JFrog Xray使用多个数据库来实现其操作的不同功能。在版本1.10之前,Xray安装了所有这些数据库的一个实例供自己使用。

    从版本1.10开始,Xray为您提供了使用自己的选项MongoDBPostgres数据库(如果您的组织中已经安装和使用了这些数据库)。

    详情请参阅使用外部数据库

    3.(可选)关闭并替换RabbitMQ的Guest用户。


禁用和替换RabbitMQ“Guest”用户(Linux)

  1. 运行以下脚本创建一个新的“Admin”用户。

    Rabbitmqctl add_user   Rabbitmqctl set_user_tags  administrator Rabbitmqctl set_permissions -p /  "."“。”“。*”
  2. 编辑$XRAY_HOME/data/config/xray_config。带有mqbase url的最新用户和密码的Yaml文件。

    mqBaseUrl: amqp://<新用户>:<密码>@rabbitmq:5672
  3. 重新启动所有x射线服务。

运行以下脚本,删除默认的“Guest”用户。

Rabbitmqctl delete_user guest service rabbitmq-server restart


Linux下升级

有关如何升级现有安装的说明,请参阅升级x光

与Linux安装程序交互

确保x射线完全启动

通过以下命令验证所有必需的x射线组件和连接的数据库都已启动并运行:

./xray.sh所有状态

使用下面的命令启动所有的x射线组件:

./xray.sh start all

也可以排除'所有'标志,该标志将使脚本运行或仅检查是否运行x光服务(不包含数据库):


/ xray.sh状态。
。/ xray.sh开始


安装脚本提供了维护工具。以root身份执行以下命令,或在命令前加上sudo。

./xray.sh   .sh

地点:

<命令>可以取以下值之一:

开始
启动服务
停止
停止服务
重新启动
重新启动服务
状态
显示服务状态(如运行,停止…)
信息
显示每个服务的版本信息
deployServices
部署服务(仅对x光服务)
removeServices
删除服务(仅对x光服务)

<目标>可选的。此处省略时,该命令仅用于Xray业务。



所有
将该命令应用于所有服务

在Kubernetes上安装

在Kubernetes上安装JFrog Xray可以使用这个x射线舵角图

这张图表的来源可以在JFrog的网站上找到图表GitHub存储库

安装

安装和升级x射线的详细说明记录在图表的README.md这个文件可以在JFrog的图表GitHub存储库中找到:

在Kubernetes上安装和升级JFrog x射线

可在Helm Hub上使用

x射线的安装和升级说明也可在Helm Hub:

在Kubernetes上安装和升级JFrog x射线


公共资源2022世界杯阿根廷预选赛赛程

在x射线安装过程中,会安装以下常用资源:2022世界杯阿根廷预选赛赛程

资源 描述 默认端口

PostgreSQL

用于在组织的组件图中持久化和导航。这是要么作为x射线安装的一部分安装,要么手动 5432

MongoDB

用于存储组件元数据和配置。这是要么作为x射线安装的一部分安装,要么手动 27017年,28017年

RabbitMQ

用于处理所有微服务通信,并确保没有数据丢失。

默认情况下,RabbitMQ管理控制台“Guest”用户已安装。您可以禁用默认用户,并使用我们的工具创建自己的用户码头工人而且Linux自定义脚本。

4369, 5671, 5672, 15672, 25672, 15671

x光服务

服务 描述 默认端口

服务器

职责包括:
  • 通过将分析数据与监视和策略相匹配来生成违规
  • 托管API和UI端点
  • 运行定时作业,例如数据库同步进程
8000

分析

负责丰富组件元数据,如漏洞、许可证和版本。 7000

坚持

职责包括:
  • 将给定的组件图与公共组件信息匹配
  • 完成组件命名
  • 将数据存储在相关数据库中(PostgreSQL中的图数据和MongoDB中的组件元数据)
7003

索引器

负责索引过程,包括:
  • 递归地提取工件和构建
  • 从附带文件中收集工件元数据
  • 构建工件组件图表示
7002

使用外部数据库

JFrog x射线使用几个数据库,用于其操作的不同功能,包括这两个PostgreSQL和MongoDB。在版本1.10之前,Xray安装了所有这些数据库的一个实例供自己使用。

从版本1.10开始,Xray为您提供了使用自己的选项PostgreSQL和/或MongoDB数据库(如果您的组织中已经安装并使用了其中一个或两个)。

支持的数据库版本

目前,Xray支持以下外部数据库版本:

PostgreSQL:9.5和9.6版本(注意,这些版本将很快被EOL), 10。x 11。x, 12。x (x射线2的最早版本。支持PostgreSQL 10-12的x是Xray 2.16)

MongoDB:3.2.6和3.6.6版本

而这两个数据库都是必需的,这是由你选择,如果他们中的任何一个,外部化时,你安装Xray。如果您选择不外部化这些数据库,Xray将安装它们。

在安装过程中,Xray安装脚本将提示您是安装内部数据库还是使用组织中已经安装的数据库。只需根据需要回答这些提示。无论哪种方式,一旦安装完成,Xray需要链接到两个数据库才能工作。

您要对自己的数据库负全部责任

如果您选择让Xray使用任何您自己的数据库进行操作,您将对这些数据库的维护、备份和正确运行承担全部责任。

例如,Xray安装脚本会询问您是否想要安装Postgres而且MongoDB。

在每种情况下,如果你用“Y”来回应,x射线将相应地安装Postgres而且MongoDB供自己使用。

你想安装PostgreSQL实例吗?[Y/n]: n Type a PostgreSQL connection string [postgres://xray:xray@postgres:5432/xraydb?]sslmode =禁用]:postgres: / / x光:xray@ < MACHINE_IP >: 5432 / xraydb吗?sslmode=disable是否安装MongoDB实例?[Y/n]: n Type a MongoDB connection string [MongoDB://xray:password@mongodb:27017/?authSource = xray&authMechanism = SCRAM-SHA-1]: mongodb://xray:password@:27017/?authSource=xray&authMechanism=SCRAM-SHA-1
添加所需的模式,如下所示:


向MongoDB添加所需的模式
//创建默认管理用户var adminUser = {user:"admin", pwd: "password",角色:["root"], customData: {createdBy: "JFrog x射线安装程序"}}db. getsibblingdb ("admin").createUser(adminUser) //创建默认x射线用户var xrayUser = {user:" Xray ", pwd: "password",角色:["dbOwner"], customData: {createdBy:"JFrog x射线安装程序"}}//以admin身份验证创建x射线用户var loginOutput = db. getsibblingdb ("admin").auth(adminUser.user,adminUser.pwd) db. getsibblingdb (" Xray ").createUser(xrayUser)
向PostgreSQL添加所需的模式
创建密码为“x射线”的用户创建数据库xraydb, OWNER=xray ENCODING='UTF8';授予数据库xraydb上的所有权限给xray;

访问x光

JFrog x射线可以通过以下URL访问:

http:// < SERVER_NAME >: 8000 / web / # / home

例如,如果你在一台名为“myserver”的机器上访问Xray,你将使用:http://myserver:8000/web/#/home

x射线访问URL不是它的基础URL

注意不要混淆Xray的访问URL和它的访问URL基URL

x射线的访问URL是:/web/#/home

中设置访问URLx射线基础URL领域的x射线的基本配置,连接的Artifactory实例将无法与x射线通信



激活x光

购买-自动激活

如果你已经购买了x射线,当你连接它到一个获得许可的Artifactory实例-一个将x射线许可证合并到Artifactory许可证中的实例。

购买了许可证?

请确保使用包含x射线激活的全面许可证来激活您的Artifactory实例。

如果您目前正在评估JFrog Xray(即您正在进行免费试用),您需要手动设置您的许可证才能激活它。

免费试用-手动激活

如果您要求对Xray进行评估,您的许可密钥将作为注册过程的一部分提供给您

激活x射线有问题?

如果您收到您的许可证或激活x射线有任何问题,请联系JFrog支持

的对应字段中手动输入许可密钥管理模块下注册许可证。

注册许可证


默认Admin用户

一旦安装完成,Xray有一个默认用户和系统预定义的管理权限:

用户:管理

密码:密码

修改admin密码

我们强烈建议在安装完成后立即更改管理员密码。

  • 没有标签