Linux下GitLab监控与告警实操指南
一 监控体系总览
二 快速落地步骤
三 关键配置与示例
scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_host:port'] # 例如 GitLab 内置 Prometheus 或 Sidekiq/Unicorn 指标端点
- job_name: 'node'
static_configs:
- targets: ['your_node_exporter:9100']
groups:
- name: gitlab_alerts
rules:
- alert: HighCPU
expr: 1 - avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m])) > 0.8
for: 5m
labels:
severity: warning
annotations:
summary: "High CPU on {{ $labels.instance }}"
description: "CPU usage > 80% for 5 minutes"
四 日志与排障
五 常用工具与场景对照
| 工具 | 主要用途 | 典型场景 |
|---|---|---|
| top/htop、vmstat、iostat、sar、dstat | 主机资源实时监控 | 排查CPU飙升、内存紧张、磁盘IO瓶颈、网络拥塞 |
| Node Exporter + Prometheus | 主机与GitLab指标采集 | 容量规划、性能趋势、阈值告警 |
| Grafana | 可视化与面板编排 | 统一展示实例与主机健康面板 |
| Zabbix / Nagios | 传统监控与可用性告警 | 基础设施与服务可用性监控 |
| ELK/Graylog/Splunk | 日志集中与检索分析 | 异常日志定位、审计与合规 |
| GitLab Self Monitoring | 实例自身指标与健康 | 监控GitLab内部组件运行状态 |
| Performance Bar | 请求级性能剖析 | 定位慢请求、数据库/缓存瓶颈 |
| 以上工具与场景的组合,可覆盖从“底层资源”到“应用性能”与“日志审计”的全链路监控需求。 |