一、GitLab自带监控功能(基础必备)
GitLab内置了完善的监控体系,可通过以下步骤快速启用:
gitlab-monitoring),用于收集实例的性能指标(如CPU、内存、请求延迟等)。sudo curl --header "JOB=register" --form token=TOKEN --form url=URL --form exec=EXEC https://gitlab.com/api/v4/projects/PROJECT_ID/runners),通过sudo gitlab-runner status查看状态,Runner的监控数据会同步至自监控项目。curl --header "PRIVATE-TOKEN: YOUR_ACCESS_TOKEN" https://gitlab.com/api/v4/system/status)或项目级监控数据(curl --header "PRIVATE-TOKEN: YOUR_ACCESS_TOKEN" https://gitlab.com/api/v4/projects/PROJECT_ID/monitoring),适合集成到自定义监控流程。二、第三方监控工具(专业可视化与告警)
/etc/prometheus/prometheus.yml,添加GitLab抓取任务:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['gitlab.example.com:9090'] # 替换为GitLab实例地址
重载Prometheus(systemctl reload prometheus)后,即可开始收集指标。4352的官方仪表盘),展示CPU使用率、内存占用、请求延迟、流水线成功率等指标。通过ELK(Elasticsearch+Logstash+Kibana)收集、存储和分析GitLab日志,步骤如下:
sudo yum install elasticsearch)、Logstash(sudo yum install logstash)、Kibana(sudo yum install kibana),并启动服务。/etc/logstash/conf.d/gitlab.conf,添加GitLab日志路径(如/var/log/gitlab/gitlab-rails/*.log),解析日志格式并转发至Elasticsearch。http://localhost:5601),创建索引模式(匹配Elasticsearch中的GitLab日志索引),通过「Discover」查看实时日志,或通过「Dashboard」创建日志分析面板(如错误日志统计、请求响应时间分布)。三、系统级工具(快速排查资源问题)
CentOS自带的命令行工具可快速查看系统资源使用情况,适合日常巡检:
top(按CPU排序)、htop(更直观的进程管理)、vmstat 1(每秒刷新CPU、内存、磁盘I/O等统计信息)、free -h(内存使用情况,人类可读格式)。netstat -tuln(查看监听端口)、ss -s(统计socket连接数)、iostat -x 1(磁盘I/O详细信息)、df -h(磁盘空间使用情况)、du -sh /var/log/gitlab/*(查看GitLab日志目录大小)。四、告警配置(及时响应异常)
alerts.yml),定义CPU使用率超过80%持续1分钟的告警: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."
加载告警规则后,通过Alertmanager配置邮件、Slack等通知方式(如修改/etc/alertmanager/alertmanager.yml添加邮件SMTP配置)。