・GitLabで「502エラー」でログインできない。
・対処方法を教えてほしい。
こういった疑問に答えます。
本記事の内容
- GitLabで「502エラー」でログインできないときの対象方法
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
GitLabで「502エラー」でログインできないときの対象方法
事象
GitLabにログインしようとすると、以下の画面が表示されて、ログインができません。
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にログインできるようになりました。
インフラエンジニアの勉強ができるオンライン学習サイト
Udemy (オンライン動画学習サイト)
Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。
Udemyの特徴
- ユーザー登録すれば、第1回の講座は無料で視聴できる
- 無料のコンテンツもある
- 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい