Ubuntu系统下GitLab监控与日志查看方法
GitLab内置监控功能,可通过创建“Monitoring”项目查看实例健康状况。在该项目中,能获取CPU、内存使用率等基本资源指标的图表,帮助快速识别资源瓶颈。
gitlab-ctl status命令检查GitLab各服务(如nginx、postgresql、sidekiq)的运行状态,若服务异常会提示具体错误。sudo -u gitlab -H bundle exec rake gitlab:app:status RAILS_ENV=productionsudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=productionsudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production。/etc/prometheus/prometheus.yml,添加GitLab监控目标:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address']
重启Prometheus使配置生效。alerts.yml文件,定义告警规则(如CPU使用率超过80%持续1分钟触发告警),并在Grafana中配置告警通知(如邮件、Slack),及时响应异常。使用Ubuntu自带工具监控系统整体性能:
GitLab提供的gitlab-ctl工具可便捷查看服务日志:
sudo gitlab-ctl tail(实时输出所有GitLab服务的日志);sudo gitlab-ctl tail nginx/gitlab_access.log、Rails错误日志sudo gitlab-ctl tail gitlab-rails/production.log。GitLab日志默认存储在/var/log/gitlab目录下,可根据需求查看具体文件:
/var/log/gitlab/gitlab-rails/production.log(记录应用层请求、错误信息);/var/log/gitlab/sidekiq/current(记录后台任务执行情况,如CI流水线、定时任务);/var/log/gitlab/nginx/gitlab_access.log(HTTP请求记录)、/var/log/gitlab/nginx/gitlab_error.log(Nginx错误信息);/var/log/postgresql/postgresql-<version>-main.log(数据库查询、连接信息)。通过journalctl查看GitLab服务的系统日志:
sudo journalctl -u gitlab-runsvdir(显示gitlab-runsvdir服务的所有日志);sudo journalctl -u gitlab-runsvdir -b(显示自上次系统启动以来的GitLab日志)。若需调整日志详细程度,可修改GitLab配置文件/etc/gitlab/gitlab.rb,例如将Rails日志级别设为debug(更详细的调试信息):
gitlab_rails['log_level'] = :debug
修改后运行sudo gitlab-ctl reconfigure使配置生效。