啟用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版本調整,建議參考官方文檔。