gitlab 再机器重启后,所有服务器正常,报502

今天服务器重启了,gitlab服务所有服务都正常,访问页面报502错误,看日志发现,gitlab-workhorse 服务器中有报错信息: /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: conne...

今天服务器重启了,gitlab服务所有服务都正常,访问页面报502错误,看日志发现,gitlab-workhorse 服务器中有报错信息:

/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: connection refused"

问题很是奇怪,报502肯定是连接不上后端服务,根据配置文件:

### Advanced settings

# puma['listen'] = '127.0.0.1'

# puma['port'] = 8080

# puma['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'

# puma['somaxconn'] = 1024


可以知道,/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket 是puma产生的socket
/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket 被拒绝,说明 gitlab-workhorse 作为代理连接不上 puma服务,

通过查看各组件依赖图,如下:

attachments-2024-09-Cgf4gWAm66ddc062a19ed,jpg

知道puma服务可能出了问题,通过gitlab-ctl status  查看puma服务 启动是正常的,那么 puma 后面需要连接redis,是不是redis有问题,

通过查看gitlab.rb 文件发现 配置文件中使用的外部redis配置,可查看redis服务明明是起来的啊,后面经过排查,问题出在,系统上安装了两个redis,一个是通过rpm 安装的

低版本3.x版本,一个是通过二进制安装的 5.x版本,gitlab.rb 配置文件中使用的redis是启用了密码的,通过rpm安装的没有启用密码。

把系统通过rpm安装的停止,启动二进制的redis版本,然后 gitlab-ctl restart, 再访问时候的时候,可亲的网页可以正常打开了。。。。。


下面是gitlab 各组件用途说明:

  • nginx:作为Web服务器和反向代理,用于访问GitLab的Web界面。可以关闭,但会导致无法通过Web界面访问GitLab。
  • prometheus_monitoring:提供监控和报警功能,收集和分析GitLab的性能指标。可以关闭,不影响基本代码存放功能。
  • registry:提供Docker镜像仓库功能。可以关闭,除非需要使用GitLab作为私有Docker镜像仓库。
  • gitlab_workhorse:提供HTTP请求代理和负载均衡功能,优化Git操作和文件传输。可以关闭,但可能影响性能优化。
  • puma:作为GitLab的Web服务器,处理HTTP请求和提供Web界面和API访问功能。不建议关闭,是GitLab的核心组件之一。
  • postgresql:作为数据库存储引擎,存储GitLab应用程序的数据。不建议关闭,是GitLab的核心组件之一。
  • redis:提供缓存和键值存储功能,改善GitLab的性能。可以关闭,但可能影响性能优化。
  • redis_master_role:作为Redis的主节点角色,提供高可用性和复制功能。不建议关闭,是GitLab的核心组件之一。
  • redis_replica_role:作为Redis的从节点角色,提供高可用性和复制功能。不建议关闭,是GitLab的核心组件之一。
  • logrotate:提供日志文件管理和轮转功能,管理GitLab的日志文件。可以关闭,但需要手动管理和清理日志文件。
  • manage_accounts:提供账户管理功能,包括用户和权限管理。可以关闭,但无法进行用户和权限管理操作。
  • manage_storage_directories:提供存储目录管理功能,管理GitLab的数据存储路径。可以关闭,但需要手动管理存储目录。
  • gitlab_pages:提供GitLab Pages服务的支持功能,用于托管静态网页。可以关闭,除非需要使用GitLab Pages功能。
  • pages_nginx:作为GitLab Pages服务的Nginx支持功能,处理静态网页请求。可以关闭,除非需要使用GitLab Pages功能。
  • gitlab_kas:提供Kubernetes集成功能。可以关闭,除非需要使用GitLab与Kubernetes集成。
  • mattermost:提供团队协作和聊天功能。可以关闭,除非需要使用GitLab内置的Mattermost功能。
  • mattermost_nginx:作为Mattermost的Nginx支持功能,处理Mattermost的HTTP请求。可以关闭,除非需要使用GitLab内置的Mattermost功能。
  • registry_nginx:作为Docker镜像仓库的Nginx支持功能,处理Docker镜像请求。可以关闭,除非需要使用GitLab作为私有Docker镜像仓库。
  • monitoring_role:提供监控组件的角色。可以关闭,不影响基本代码存放功能。
  • prometheus:提供监控和报警功能,收集和分析GitLab的性能指标。可以关闭,不影响基本代码存放功能。
  • alertmanager:用于接收和处理监控报警信息。可以关闭,不影响基本代码存放功能。
  • node_exporter:收集主机的系统和硬件指标,供Prometheus监控使用。可以关闭,不影响基本代码存放功能。
  • redis_exporter:收集Redis的性能指标,供Prometheus监控使用。可以关闭,不影响基本代码存放功能。
  • postgres_exporter:收集PostgreSQL数据库的性能指标,供Prometheus监控使用。可以关闭,不影响基本代码存放功能。
  • pgbouncer_exporter:收集PgBouncer连接池的性能指标,供Prometheus监控使用。可以关闭,不影响基本代码存放功能。
  • gitlab_exporter:提供GitLab自身的性能指标,供Prometheus监控使用。可以关闭,不影响基本代码存放功能。
  • grafana:提供可视化和仪表盘功能,用于展示和分析监控指标。可以关闭,不影响基本代码存放功能。
  • gitaly:提供Git分布式文件系统的后端存储服务,处理Git操作和文件传输。不建议关闭,是GitLab的核心组件之一。
  • praefect:提供Git分布式文件系统的负载均衡和高可用性功能。不建议关闭,是GitLab的核心组件之一。
  • storage_check:用于检查存储目录的完整性和状态,确保数据的一致性。可以关闭,但无法进行存储目录的完整性检查。
  • redis_sentinel_role:作为Redis Sentinel的角色,提供高可用性和故障切换功能。不建议关闭,是GitLab的核心组件之一。
  • sentinel:作为Redis Sentinel的组件,管理Redis的高可用性和故障切换。不建议关闭,是GitLab的核心组件之一。
  • geo_postgresql:用于GitLab Geo功能的数据库存储引擎,复制和同步GitLab数据。可以关闭,除非需要使用GitLab Geo功能。
  • pgbouncer:作为PgBouncer连接池的前端代理,提供连接池和性能优化功能。可以关闭,不影响基本代码存放功能。
  • patroni:提供PostgreSQL的高可用性和故障切换功能。可以关闭,除非需要使用高可用性的PostgreSQL数据库。
  • consul:提供服务发现和配置管理功能。可以关闭,不影响基本代码存放功能。
  • 发表于 2024-09-08 22:57
  • 阅读 ( 40 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章