在 Linux 环境下对 GitLab 进行监控,通常分为 GitLab 自带监控、系统级监控、第三方/企业级监控方案 三大类。下面给你一个实用、可落地的总结。
GitLab 自带 Prometheus + Grafana 支持(社区版 / 企业版都支持):
编辑 /etc/gitlab/gitlab.rb:
prometheus_monitoring['enable'] = true
然后执行:
gitlab-ctl reconfigure
http://<gitlab-ip>:9090
http://<gitlab-ip>:9090/metrics
✅ 可监控内容:
GitLab 企业版支持内置 Grafana:
grafana['enable'] = true
访问:
http://<gitlab-ip>/-/grafana
内置仪表盘:
| 监控项 | 工具 |
|---|---|
| CPU | top / htop / mpstat |
| 内存 | free / vmstat |
| 磁盘 | df / iostat |
| 网络 | iftop / nethogs |
| 进程 | ps / systemctl |
用于采集 Linux 服务器指标:
apt install prometheus-node-exporter
systemctl enable --now prometheus-node-exporter
Port:9100
Prometheus 配置:
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["localhost:9100"]
✅ 可监控:
架构:
GitLab → Prometheus → Grafana
Linux → node_exporter
常用 Dashboard:
✅ 优点:
Zabbix 支持:
示例:
pgrep -f gitlab
✅ 适合:
Docker:
docker stats
K8s:
gitlab_usage_ping
sidekiq_jobs_total
gitaly_requests_total
http_requests_total
process_resident_memory_bytes
cpu_seconds_total
- alert: GitLabDown
expr: up{job="gitlab"} == 0
for: 1m
✅ GitLab 服务不可用
✅ Sidekiq 队列积压
✅ 磁盘使用率 > 85%
✅ 内存使用率 > 90%
✅ Gitaly 延迟过高
| 场景 | 推荐方案 |
|---|---|
| 单机 GitLab | GitLab Prometheus + node_exporter + Grafana |
| 企业级 | Prometheus + Grafana + Alertmanager |
| 传统运维 | Zabbix |
| K8s | Prometheus Operator |
你可以直接告诉我:
我可以给你 完整的配置文件 + Grafana Dashboard 推荐。