使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南
JFrog x射线x文档
要获取最新版本,请访问JFrog统一平台
- 由Adi Atzmony,最后修改人为未知用户(eliezerb)在2020年2月10日
概述
本页面提供用户常见问题的解决方法。
配置文件夹
在一些情况下,解决方案需要访问Xray内部数据和配置文件。这些文件的位置可以通过运行/ x光信息。
.
例如:
./xray info服务器端口:8000 docker挂载目录:/home/vagrant/.jfrog/xray
x射线不是索引工件
导致 | RabbitMQ消息代理可能有问题 |
决议 | 检查RabbitMQ事件、索引或持久化队列的消息。你可以使用以下命令通过RabbitMQ控制台访问队列:http://localhost:15672/#/queues 如果你不能访问RabbitMQ的用户界面,你可以尝试使用SSH -L15672:127.0.0.1:15672创建一个SSH隧道root@<机器ip > |
导致 | Xray已达到配置的磁盘使用限制(默认为80%) |
决议 | 通过增加的值来增加磁盘使用限制maxDiskDataUsage 在x光的xray_config.yaml 配置文件. |
Xray无法与Artifactory通信
导致 | x射线未配置为不安全模式 |
决议 | 通过设置如下参数来启用不安全模式x光的
|
Xray不加载web UI或与REST API交互
导致 | 通常,这可能是由于一个或多个Xray的微服务没有启动造成的 |
决议 | 使用Xray sh脚本检查微服务的状态,并验证所有微服务都已完全启动和启动,例如: ./xray.sh status all 对于Docker来说: / xray.sh ps。 |
Xray的RabbitMQ的队列有大量的消息
导致 | 一个工作的x射线系统应该有它的RabbitMQ的队列计数相对水平(接近0),这将意味着并提供最好的性能和最快的结果。 大量的消息可能是由于以下原因造成的: 1.一个x射线服务/组件不能足够快地处理它的队列 2.在某个组件上发生了一些错误/意外行为,根据相应的RabbitMQ队列搜索日志将提供一个洞察力 |
决议 | 1.临时增加负责适当队列(例如分析)的工人数量或为机器分配更多资源;2022世界杯阿根廷预选赛赛程RAM和cpu更快的处理,SSD更快的磁盘I/O。 2.搜索适当的日志文件(例如xray-analysis.log),查找任何[error]或“Caused by”消息的原因。 |
x射线正在使用大量的空间,并且可能会停止索引
导致 | 这可能是由于(或综合): 1.$XRAY_DATA位置没有正确配置-从而阻止x射线磁盘采样器检查磁盘空间可用性的正确路径 2.磁盘利用率允许值过高。处理步骤 3.应该删除的临时文件(在$XRAY_HOME/data/data/下)正在消耗大量的空间 4.*主要是适用于大规模:其他数据库(RabbitMQ/PostgreSQL/MongoDB)占用大量空间 |
决议 | 1.在Event组件上启用调试日志,以查看检查的路径是什么,期望看到一个日志条目如下:数据文件夹 2.在xray_config.yaml的maxDiskDataUsage标志为较低的值。在大规模环境中,特别是在处理大文件时,将消耗更多的空间(临时)以允许递归索引过程完成。 3.Xray version 1.9在处理由于意外错误(例如与文件损坏相关的错误)而导致索引失败的场景方面进行了显着改进,并将自动删除这些错误。 也可以检查RabbitMQ的重试队列内容(获取消息)来检查消息并在xray_indexer.log*文件下关联它们的位置。这将为重试操作提供洞察。 4.配置RabbitMQ数据库(mnesia)和$XRAY_HOME (两者应住在同一座山上。到一个大的挂载(通常是1-2TB) /etc/rabbitmq/rabbitmq-env.conf(不是默认创建的): rabbitmq RABBITMQ_MNESIA_BASE = / home / / mnesia 从RabbitMQ & $XRAY_HOME中分离Mongo和PostgreSQL(可以和/或应该在相同的挂载下配对,但分开): Postgres:
如果安装完成后需要移动,则可以跟随本指南-确保PostgreSQL已停止
|
在系统故障事件或磁盘空间耗尽后,Xray不启动
导致 | 如果RabbitMQ没有成功启动(使用上面故障排除中的命令),可能是这个原因在意外的系统状态发生后,RabbitMQ会遇到数据损坏,并导致其消息和/或队列存储丢失完整性。 |
决议 |
检查以下RabbitMQ文件来诊断原因:
/var/log/rabbitmq/startup_log
/var/log/rabbitmq/startup_err
这些日志文件在试图诊断RabbitMQ相关问题时非常有用。
下面是表示a的常见错误bad_match错误(摘录):
BOOT FAILED ===========错误描述:{could_not_start,rabbit, {{badmatch, {Error, {{badmatch, {Error, {not_a_dets_file, "/var/lib/rabbitmq/mnesia/rabbit@
在这种情况下,删除以下路径下的RabbitMQ队列相关文件会有所帮助:
/var/lib/rabbitmq/mnesia/ <用户名> @ < id > / recovery.dets 然后尝试重新启动Xray的微服务,使用:
美元./xray.sh restart all
如果这没有帮助,继续去除队列消息存储董事:
/var/lib/rabbitmq/mnesia/ <用户名> @ < id > /msg_store_transient
/var/lib/rabbitmq/mnesia/ <用户名> @ < id > / msg_store_persistent
/var/lib/rabbitmq/mnesia/ <用户名> @ < id > /队列
再次,重新启动Xray的微服务并使用web UI访问Xray。
|
Xray无法发送电子邮件通知
导致 | Xray未配置为在不安全模式下与电子邮件服务器一起工作 |
决议 | 启用不安全模式参数后面x光的
|
x射线在其日志文件中没有提供足够的信息
导致 | 缺省情况下,Xray被配置为INFO级别的日志记录。 |
决议 | 对于要分析的每个日志文件,请将日志级别设置为DEBUG。每个x射线服务的日志级别在下面的相应配置文件中设置 |
x射线数据库迁移失败,需要重试
导致 | 升级完成后,Xray正在进行迁移。当迁移开始时,它会创建一个锁机制,以便在执行迁移时阻止对数据库的外部操作。 在迁移失败的情况下,锁将保留,锁定Xray,但是可以重试,并且可以在下次运行时成功。 |
决议 | 快速总结一下我们将要采取的步骤: 1.检查迁移失败的原因和原因。这是可选的,虽然不是强制性的,但对将来的避免是有用的。 2.删除锁,以便重新尝试迁移。
1.停止所有x射线服务: Non-Docker $ ./xray.sh stop all .sh 码头工人: $ ./xray.sh stop 2.只启动MongoDB和PostgreSQL: Non-Docker: $ service postgresql-9.5 $ service mongod start 码头工人: $ docker start xray_mondb_1 $ docker start xray_postgres_1 3.执行操作MongoDB的一面: a.连接MongoDB: Non-Docker: $ mongo -u xray -p password——authenticationDatabase xray 码头工人: $ docker exec -it xray_mongodb_1 bash 在Docker的bash shell中连接MongoDB: $ mongo -u xray -p password——authenticationDatabase xray b.切换到x射线DB: $使用x射线 查找DB迁移的当前状态,包括失败的迁移(对于理解DB模式迁移版本很重要): 美元db.db_migrations_running.find ({}) .pretty () e.将输出复制到一边以备调查: 美元db.db_migrations.find ({}) .sort({“版本”:1}).limit (1) 输出的示例(这样做的4。下面的分析步骤): {"_id": ObjectId("5a4bd9be95e701000100c37b"), "version": NumberLong(27)} 上面的行将告诉我们正在运行的迁移的ID f。使用以下命令删除所有迁移锁: 美元db.db_migrations_running.deleteMany ({}) 此时,您可以跳到第5步。
数据库仅说明信息: MongoDB。,复制两个命令的输出(在上面的步骤3中提供): 美元的。db.db_migrations_running.find ({}) .pretty () b。美元db.db_migrations.find ({}) .sort({“版本”:1}).limit (1) b。PostgreSQL,收集以下信息PostgreSQL数据库: 连接PostgreSQL数据库: Non-Docker: $ PSQL xraydb xray 码头工人: $ docker exec -it xray_postgres_1 /bin/bash $ PSQL xraydb xray *如果/当提示输入密码时,输入x光 *xraydb是数据库的名称,x光是用户名
$ SELECT * FROM schema_migrations *将输出拷贝到一边 b.要退出,输入: 美元\问 c.迁移时间范围内的x射线服务日志: xray_server.log xray_persist.log xray_event.log 5.重新启动所有x射线服务。这将触发迁移重新运行。 |
- 没有标签
JFrog.com|文档|特色有问题吗?想要报告问题?联系JFrog技术支持