そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

【GitLab】502エラーでログインできないときの対象方法

※[PR]当ブログの記事の中にはプロモーションが含まれています。

【GitLab】502エラーでログインできない

・GitLabで「502エラー」でログインできない。
・対処方法を教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. GitLabで「502エラー」でログインできないときの対象方法

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

GitLabで「502エラー」でログインできないときの対象方法

事象

GitLabにログインしようとすると、以下の画面が表示されて、ログインができません。

【GitLab】502エラーでログインできない

Whoops, GitLab is taking too much time to respond.
Try refreshing the page, or going back and attempting the action again.
Please contact your GitLab administrator if this problem persists.

GitLabを再起動してみる

gitlab-ctl restart
[root@SV-MARS gitlab]# gitlab-ctl restart
ok: run: alertmanager: (pid 1282051) 0s
ok: run: gitaly: (pid 1282064) 1s
ok: run: gitlab-exporter: (pid 1282078) 0s
ok: run: gitlab-workhorse: (pid 1282080) 0s
ok: run: grafana: (pid 1282090) 0s
ok: run: logrotate: (pid 1282097) 1s
ok: run: nginx: (pid 1282122) 1s
ok: run: node-exporter: (pid 1282127) 0s
ok: run: postgres-exporter: (pid 1282135) 0s
ok: run: postgresql: (pid 1282154) 0s
ok: run: prometheus: (pid 1282156) 0s
ok: run: puma: (pid 1282167) 1s
timeout: run: redis: (pid 1528) 614885s, got TERM
ok: run: redis-exporter: (pid 1282309) 1s
ok: run: sidekiq: (pid 1282330) 0s

コマンドでステータスを確認

gitlab-ctl status
[root@SV-MARS gitlab]# gitlab-ctl status
run: alertmanager: (pid 1282051) 108s; run: log: (pid 1652) 614952s
run: gitaly: (pid 1282064) 107s; run: log: (pid 1529) 614953s
run: gitlab-exporter: (pid 1282078) 105s; run: log: (pid 1653) 614952s
run: gitlab-workhorse: (pid 1282080) 105s; run: log: (pid 1575) 614953s
run: grafana: (pid 1282090) 104s; run: log: (pid 1671) 614952s
run: logrotate: (pid 1282097) 104s; run: log: (pid 1585) 614952s
run: nginx: (pid 1282122) 102s; run: log: (pid 1674) 614952s
run: node-exporter: (pid 1282127) 101s; run: log: (pid 1672) 614952s
run: postgres-exporter: (pid 1282135) 101s; run: log: (pid 1656) 614952s
run: postgresql: (pid 1282154) 100s; run: log: (pid 1542) 614953s
run: prometheus: (pid 1282156) 100s; run: log: (pid 1676) 614952s
run: puma: (pid 1282427) 5s; run: log: (pid 1572) 614953s
run: redis: (pid 1528) 614953s, got TERM; run: log: (pid 1527) 614953s
run: redis-exporter: (pid 1282309) 68s; run: log: (pid 1675) 614952s
run: sidekiq: (pid 1282408) 14s; run: log: (pid 1569) 614953s

「redis」だけが、他の少し様子が違うみたいです。

ログを確認

Nginxのログ

/var/log/gitlab/nginx/gitlab_access.log
192.168.1.101 - - [10/Nov/2020:20:39:24 +0900] "GET /users/sign_in HTTP/1.1" 502 2940 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" -
192.168.1.101 - - [10/Nov/2020:20:39:24 +0900] "GET /favicon.ico HTTP/1.1" 502 2940 "http://gitlab.sv-mars.com/users/sign_in" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" -

redis-exporterのログ

/var/log/gitlab/redis-exporter/current
2020-11-10_11:58:08.55946 time="2020-11-10T20:58:08+09:00" level=error msg="Couldn't connect to redis instance"

gitlab-exporterのログ

/var/log/gitlab/gitlab-exporter/current
2020-11-10_11:58:11.69822 2020-11-10 20:58:11 - Errno::EAGAIN - Resource temporarily unavailable - connect(2) for /var/opt/gitlab/redis/redis.socket:
2020-11-10_11:58:11.69824       /opt/gitlab/embedded/lib/ruby/2.6.0/socket.rb:1213:in `__connect_nonblock'
2020-11-10_11:58:11.69824       /opt/gitlab/embedded/lib/ruby/2.6.0/socket.rb:1213:in `connect_nonblock'
2020-11-10_11:58:11.69825       /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/redis-4.1.4/lib/redis/connection/ruby.rb:239:in `connect'

redisのログ

/var/log/gitlab/redis/current
2020-11-09_17:32:57.11061 === REDIS BUG REPORT START: Cut & paste starting from here ===
2020-11-09_17:32:57.11061 1528:M 10 Nov 2020 02:32:57.110 # Redis 5.0.9 crashed by signal: 11
2020-11-09_17:32:57.11061 1528:M 10 Nov 2020 02:32:57.110 # Crashed running the instruction at: 0x512984
2020-11-09_17:32:57.11061 1528:M 10 Nov 2020 02:32:57.110 # Accessing address: 0x30
2020-11-09_17:32:57.11061 1528:M 10 Nov 2020 02:32:57.110 # Failed assertion: <no assertion failed> (<no file>:0)
2020-11-09_17:32:57.11062 
2020-11-09_17:32:57.11062 ------ STACK TRACE ------
2020-11-09_17:32:57.16641 EIP:
2020-11-09_17:32:57.16643 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_extent_heap_remove+0x624)[0x512984]
2020-11-09_17:32:57.16643 
2020-11-09_17:32:57.16643 Backtrace:
2020-11-09_17:32:57.16643 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(logStackTrace+0x39)[0x474359]
2020-11-09_17:32:57.16643 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(sigsegvHandler+0x9b)[0x474aab]
2020-11-09_17:32:57.16643 /lib64/libpthread.so.0(+0x12dd0)[0x7fa409c56dd0]
2020-11-09_17:32:57.16643 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_extent_heap_remove+0x624)[0x512984]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0[0x512d46]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_extents_evict+0xbc)[0x514ebc]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0[0x4e3e1d]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0[0x4e41ff]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0[0x4e4555]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_arena_decay+0x32)[0x4e5e92]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_tcache_bin_flush_small+0x633)[0x5381c3]
2020-11-09_17:32:57.16644 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(je_free+0x30d)[0x4de96d]
2020-11-09_17:32:57.16645 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(listDelNode+0x41)[0x4272e1]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(unblockClientWaitingData+0x66)[0x495536]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(unblockClient+0x38)[0x495668]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(clientsCronHandleTimeout+0xb0)[0x42e0b0]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(clientsCron+0x92)[0x42e3a2]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(serverCron+0x205)[0x430f15]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(aeProcessEvents+0x406)[0x429f46]
2020-11-09_17:32:57.16646 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(aeMain+0x33)[0x42a043]
2020-11-09_17:32:57.16647 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(main+0x4b6)[0x426d16]
2020-11-09_17:32:57.16648 /lib64/libc.so.6(__libc_start_main+0xf3)[0x7fa4098a56a3]
2020-11-09_17:32:57.16648 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0(_start+0x2e)[0x426f6e]
2020-11-09_17:32:57.16648 
2020-11-09_17:32:57.16648 ------ INFO OUTPUT ------

対処方法

すぐに対処できる方法としては、OS再起動です。

reboot

OS再起動後、GitLabにログインできるようになりました。

【GitLab】502エラーでログインできない

【GitLab】502エラーでログインできない

インフラエンジニアの勉強ができるオンライン学習サイト

Udemy (オンライン動画学習サイト)

Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。

≫Udemy 世界最大級のオンライン学習サイト

Udemyの特徴
  • ユーザー登録すれば、第1回の講座は無料で視聴できる
  • 無料のコンテンツもある
  • 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい

≫Udemy 世界最大級のオンライン学習サイト

開発の人気オンラインコース