启用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版本调整,建议参考官方文档。