Linux系统下GitLab监控方法
GitLab内置了完善的监控体系,可通过以下步骤快速启用:
/etc/gitlab/gitlab.rb,开启核心监控开关:gitlab_rails['gitlab_metrics_enabled'] = true
gitlab_runner['metrics_enabled'] = true
global['monitoring_enabled'] = true
执行sudo gitlab-ctl reconfigure使配置生效。sudo gitlab-ctl status)和日志文件(/var/log/gitlab目录下,如gitlab-rails/production.log、nginx/error.log),快速定位异常。Prometheus(时序数据库)+Grafana(可视化工具)是GitLab监控的主流方案,可实现全面的指标采集与可视化:
prometheus.yml文件,添加GitLab监控任务:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address:8080'] # GitLab Prometheus默认端口为8080
重启Prometheus服务,验证是否能成功拉取GitLab指标。11861的“GitLab Overview”仪表盘),可直观查看CPU使用率、内存占用、作业执行时间、数据库性能等指标。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: "GitLab server CPU usage is above 80%"
加载告警规则并配置通知渠道(如邮件、Slack),实现异常及时通知。通过.gitlab-ci.yml文件集成监控任务,将监控指标推送至Prometheus,适用于CI/CD流水线的性能监控:
monitoring:
script:
- apt-get update && apt-get install -y prometheus-node-exporter
- echo "gitlab_metrics{project=\"$CI_PROJECT_PATH\", ref=\"$CI_COMMIT_REF_NAME\"} 1" > /etc/prometheus/exporters/gitlab_metrics.prom
artifacts:
paths:
- /etc/prometheus/exporters/gitlab_metrics.prom
expire_in: 1 week
.gitlab-ci.yml中添加alerting部分,定义告警条件(如内存使用率超过80%持续5分钟):alerting:
rules:
- alert: HighMemoryUsage
expr: sum(memory_usage) / sum(memory_total) > 0.8 for: 5m
labels:
severity: warning
annotations:
summary: "High Memory Usage in CI Project"
description: "Memory usage in $CI_PROJECT_NAME is above 80%"
notify:
- name: email
when: alerting
email:
to: admin@example.com
重启GitLab服务使配置生效。除上述方案外,还可借助通用系统工具快速查看GitLab服务器的资源使用情况:
top默认按CPU排序,htop需安装,支持颜色高亮)。sudo iostat -x 1,每秒刷新一次,查看%util(磁盘利用率)、await(平均等待时间)等指标)。sudo ss -tuln查看监听端口,sudo ss -antp查看TCP连接详情)。vmstat 1查看系统整体性能(CPU、内存、IO),free -h查看内存使用情况,df -h查看磁盘空间占用。