启用GitLab指标
编辑配置文件 /etc/gitlab/gitlab.rb,开启指标端口:
gitlab_rails['gitlab_metrics_enabled'] = true
gitlab_rails['gitlab_metrics_port'] = 9090  # 默认端口,可自定义
sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart
集成Prometheus
prometheus.yml 添加GitLab抓取规则:scrape_configs:
  - job_name: 'gitlab'
    static_configs:
      - targets: ['gitlab.example.com:9090']  # 替换为实际地址
Prometheus告警规则
创建 alert.yml 文件,定义规则(如内存使用率>80%时报警):
groups:
  - name: gitlab_alerts
    rules:
      - alert: HighMemoryUsage
        expr: node_memory_MemTotal_bytes{job="gitlab"} * 100 / node_memory_MemAvailable_bytes{job="gitlab"} > 80
        for: 1m
        labels:
          severity: warning
        annotations:
          summary: "High Memory Usage on GitLab"
          description: "Memory usage exceeds 80% for 1 minute"
在Prometheus中加载规则并启用告警通知。
集成Alertmanager
alertmanager.yml 设置通知方式(如邮件):receivers:
  - name: 'email'
    email_configs:
      - to: 'admin@example.com'
alerting:
  alertmanagers:
    - static_configs:
        - targets: ['localhost:9093']  # Alertmanager地址
邮件通知配置
在GitLab的 gitlab.rb 中配置SMTP参数(需提前安装邮件服务):
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "your_password"
说明:部分步骤需根据GitLab版本调整,建议参考官方文档。