GitLab内置了基础的监控能力,可通过Web界面快速查看实例状态:
利用Debian系统的原生工具,可快速监控GitLab进程的资源占用情况:
top -p $(pgrep -f gitlab)或htop -p $(pgrep -f gitlab)命令,实时查看GitLab相关进程的CPU、内存、线程等资源使用情况。nmon(sudo apt-get install nmon),运行nmon -c 10 -f /var/log/nmon/gitlab_$(date +%Y%m%d).nmon,每10秒收集一次系统性能数据(包括CPU、内存、磁盘I/O等),并保存到指定文件便于后续分析。sudo systemctl status gitlab命令,查看GitLab整体服务状态(如是否运行、启动时间、日志摘要等);也可查看特定子服务(如gitlab-rails、sidekiq)的状态。通过专业监控工具实现更全面的性能监控与告警:
prometheus.yml,添加GitLab抓取任务(scrape_configs中配置GitLab的metrics端点,如targets: ['gitlab.example.com:9090']),收集GitLab的时序指标(如请求次数、响应时间、队列长度等)。netdata(sudo apt-get install netdata),启动后通过http://your-server-ip:19999访问实时监控界面,直观查看GitLab进程的资源使用情况(如CPU、内存、网络流量等),支持自定义告警。通过日志收集与分析,可快速定位GitLab运行中的问题:
/var/log/gitlab/目录下,可使用以下命令查看:
sudo tail -f /var/log/gitlab/gitlab-rails/production.log:实时查看Rails应用日志(如用户操作、API请求等)。sudo tail -f /var/log/gitlab/sidekiq/current:查看Sidekiq后台任务日志(如任务执行状态、失败原因等)。sudo journalctl -u gitlab:通过systemd查看所有GitLab服务的合并日志。sudo gitlab-ctl tail实时查看所有GitLab服务的日志;或指定特定服务(如sudo gitlab-ctl tail gitlab-rails)或日志文件(如sudo gitlab-ctl tail nginx/gitlab_error.log)查看详细日志。