在 Debian 上监控 GitLab 的性能指标
一 监控方案总览
二 快速上手 内置监控与系统巡检
sudo systemctl status gitlab(必要时 sudo systemctl start/enable gitlab)。top -p $(pgrep -f gitlab) 或 htop -p $(pgrep -f gitlab) 实时查看 CPU/内存/线程。sudo apt-get install -y nmon,执行 nmon -c 10 -f /var/log/nmon/gitlab_$(date +%Y%m%d).nmon 采样 10 秒/次 的系统性能数据用于后续分析。journalctl -u gitlab,或按时间筛选 journalctl --since "2025-11-01" --until "2025-11-05"。gitlab-rails/production.log、sidekiq/current;实时查看可用 sudo tail -f /var/log/gitlab/gitlab-rails/production.log,错误关键字检索可用 sudo grep "error" /var/log/gitlab/gitlab-rails/production.log。三 专业监控 Prometheus Grafana 与告警
sudo apt-get update && sudo apt-get install -y prometheus;默认监听 9090。sudo apt-get install -y apt-transport-https software-properties-common wget && wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - && sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" && sudo apt-get update && sudo apt-get install -y grafana && sudo systemctl start grafana-server && sudo systemctl enable grafana-server;默认监听 3000。scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address:9090']
保存后执行 sudo systemctl reload prometheus 使配置生效。groups:
- name: gitlab_alerts
rules:
- alert: GitLabHighCPU
expr: node_cpu_seconds_total{job="gitlab"} > 0.8
for: 1m
labels:
severity: warning
annotations:
summary: "High CPU Usage on GitLab Server"
description: "CPU usage on GitLab server is above 80% for 1 minute."
在 prometheus.yml 中加载规则文件,并配置 Alertmanager 的 SMTP/Slack 等通知方式。四 日志监控与可视化
sudo apt-get install elasticsearch logstash kibana;启动服务(默认端口 9200/5601)。input {
file {
path => "/var/log/gitlab/gitlab-rails/production.log"
start_position => "beginning"
}
}
filter {
grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}" } }
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "gitlab-logs-%{+YYYY.MM.dd}"
}
}
保存后 sudo systemctl restart logstash。五 关键指标与排障要点
df -h、iostat -x 1),用于识别资源瓶颈。sudo systemctl status gitlab;日志实时查看:sudo gitlab-ctl tail。top/htop、vmstat 1、iostat -x 1、df -h、du -sh /var/log/gitlab/*。