天天看點

gitlab基本維護和使用檢查redis的日志檢查postgresql的日志檢查gitlab-workhorse的日志檢查logrotate的日志檢查nginx的日志檢查sidekiq的日志檢查unicorn的日志

基本介紹

  GitLab是一個自托管的Git項目倉庫,可以自己搭建個人代碼管理的倉庫,功能與github類似。

安裝

安裝依賴的包

sudo yum install curl-devel

sudo yum install expat-devel

sudo yum install gettext-devel

sudo yum install openssl-devel

sudo yum install zlib-devel

sudo yum install perl-devel

sudo yum install curl

sudo yum install openssh-server

sudo yum install openssh-clients

sudo yum install postfix

sudo yum install cronie

Ubuntu系統使用apt-get方式安裝依賴包。

使用gitlab官網的腳本安裝

或者使用gitlab的yum安裝gitlab

sudo yum install gitlab-ce

安裝完畢後,使用Web登入

技術分享

進入gitlab的管理頁面,進行常用的分組,工程,使用者等功能點的維護。

安裝完gitlab後的運維操作

初次配置服務

sudo gitlab-ctl reconfigure

啟動服務

sudo gitlab-ctl start

停止服務

sudo gitlab-ctl stop

重新開機服務

sudo gitlab-ctl restart

檢查服務的日志資訊

sudo gitlab-ctl tail redis

sudo gitlab-ctl tail postgresql

sudo gitlab-ctl tail gitlab-workhorse

sudo gitlab-ctl tail logrotate

sudo gitlab-ctl tail nginx

sudo gitlab-ctl tail sidekiq

sudo gitlab-ctl tail unicorn

檢查服務狀态

sudo gitlab-ctl status

一般服務狀态顯示資訊

顯示格式:

狀态 : 程序名稱:(程序ID)運作時間(秒);程序的日志服務程序和運作時間

run: gitlab-workhorse: (pid 4752) 10759s; run: log: (pid 1077) 13185s

run: logrotate: (pid 12616) 3557s; run: log: (pid 1079) 13185s

run: nginx: (pid 4764) 10758s; run: log: (pid 1076) 13185s

run: postgresql: (pid 4770) 10757s; run: log: (pid 1073) 13185s

run: redis: (pid 4778) 10757s; run: log: (pid 1072) 13185s

run: sidekiq: (pid 4782) 10756s; run: log: (pid 1075) 13185s

run: unicorn: (pid 4786) 10756s; run: log: (pid 1074) 13185s

狀态 說明

run 運作狀态

down 服務停止

常見的問題

頁面顯示500,Whoops, something went wrong on our end.

500

Whoops, something went wrong on our end.

Try refreshing the page, or going back and attempting the action again.

Please contact your GitLab administrator if this problem persists.

如何檢查和定位問題?

使用指令檢查所有服務的狀态

檢查服務狀态如下

run: gitlab-workhorse: (pid 4752) 10862s; run: log: (pid 1077) 13288s

run: logrotate: (pid 16553) 59s; run: log: (pid 1079) 13288s

run: nginx: (pid 4764) 10861s; run: log: (pid 1076) 13288s

run: postgresql: (pid 4770) 10860s; run: log: (pid 1073) 13288s

run: redis: (pid 4778) 10860s; run: log: (pid 1072) 13288s

run: sidekiq: (pid 4782) 10859s; run: log: (pid 1075) 13288s

run: unicorn: (pid 4786) 10859s; run: log: (pid 1074) 13288s

定位問題

從服務狀态資訊中顯示資料庫postgresql的狀态是down,即服務停止。

檢查資料庫postgresql的運作日志,檢查出現什麼錯誤?

$ sudo gitlab-ctl tail postgresql

==> /var/log/gitlab/postgresql/state <==

==> /var/log/gitlab/postgresql/current <==

2017-12-21_02:49:51.42192 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42194 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42194 LOG: autovacuum launcher shutting down

2017-12-21_02:49:51.42287 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42289 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42463 LOG: shutting down

2017-12-21_02:49:51.59345 LOG: database system is shut down

2017-12-21_02:50:43.38811 LOG: database system was shut down at 2017-12-21 02:49:51 GMT

2017-12-21_02:50:43.41991 LOG: database system is ready to accept connections

2017-12-21_02:50:43.42055 LOG: autovacuum launcher started

日志顯示,資料庫的通路權限應該是隻有使用者本身有讀寫執行的權限,使用者組和其他使用者不能有權限。

修改資料庫資料的權限後,檢查服務運作正常。

了解了問題的定位和解決方式,其他問題也很容易在日志中發現和解決,問題可能是磁盤空間少,使用者權限錯誤或者其他原因。

gitlab管理者密碼忘記,怎麼重置密碼

Gitlab 修改root使用者密碼

使用rails工具打開終端

sudo gitlab-rails console production

查詢使用者的email,使用者名,密碼等資訊,id:1 表示root賬号

user = User.where(id: 1).first

重新設定密碼

user.password = ‘新密碼‘

user.password_confirmation = ‘新密碼‘ 

儲存密碼

user.save!

完整的操作ruby腳本

user.password_confirmation = ‘新密碼‘

然後使用重置過的密碼重新登入。

Linux有關的可以直接yum 安裝或者apt-get 安裝

Centos: yum install git 

Ubuntu: apt-get install git

本文轉自 holy2009 51CTO部落格,原文連結:http://blog.51cto.com/holy2010/2052894