Ubuntu下GitLab监控报警配置指南
在Ubuntu系统上,GitLab的监控报警可通过Prometheus+Grafana组合(主流开源方案)、GitLab内置工具或第三方系统工具实现,以下是具体步骤:
通过APT工具安装Prometheus(Ubuntu官方源支持):
sudo apt-get update
sudo apt-get install prometheus
编辑配置文件/etc/prometheus/prometheus.yml,添加GitLab监控目标(替换your_gitlab_server_address为实际IP或域名):
scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address:8080'] # GitLab默认暴露指标的端口
启动Prometheus服务并设置开机自启:
sudo systemctl start prometheus
sudo systemctl enable prometheus
验证连接:访问http://your_gitlab_server_address:9090/targets,确认GitLab目标状态为“UP”。
通过APT安装Grafana:
sudo apt-get install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
启动Grafana并设置开机自启:
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
访问http://your_gitlab_server_address:3000(默认账号admin/admin),登录后添加Prometheus数据源(URL填写http://localhost:9090)。
在Prometheus配置目录(/etc/prometheus/)下创建alerts.yml文件,定义告警规则(示例):
groups:
- name: gitlab_alerts
rules:
- alert: HighCPUUsage
expr: rate(node_cpu_seconds_total{job="gitlab"}[1m]) > 0.8 # CPU使用率超过80%
for: 1m # 持续1分钟触发
labels:
severity: warning
annotations:
summary: "High CPU Usage on GitLab Server"
description: "GitLab server CPU usage is above 80% for more than 1 minute."
- alert: HighMemoryUsage
expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes > 0.8 # 内存使用率超过80%
for: 1m
labels:
severity: warning
annotations:
summary: "High Memory Usage on GitLab Server"
description: "GitLab server memory usage is above 80% for more than 1 minute."
修改Prometheus配置文件/etc/prometheus/prometheus.yml,加载告警规则:
rule_files:
- "/etc/prometheus/alerts.yml"
重启Prometheus使规则生效:
sudo systemctl restart prometheus
在Grafana中创建告警:进入“Alerting”→“New Alert Rule”,选择Prometheus数据源,定义告警条件(如HighCPUUsage),并配置通知渠道(如邮件、Slack)。
GitLab自带监控功能,可通过内置指标和Web界面快速查看状态:
/etc/gitlab/gitlab.rb中以下配置开启(默认开启):prometheus_monitoring['enable'] = true
重启GitLab使配置生效:sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
gitlab-ctl status查看GitLab服务状态,gitlab-ctl tail查看实时日志。Ubuntu系统自带工具可快速查看GitLab进程及系统资源使用情况:
top按P键按CPU排序,M键按内存排序;htop需安装:sudo apt-get install htop)。vmstat 1 5每1秒刷新一次,共5次)。free -h以人类可读格式显示)。ss -tulnp | grep gitlab查看GitLab相关端口连接)。若需要更高级的功能(如分布式监控、自动化运维),可使用以下工具:
以上方案可根据需求选择:Prometheus+Grafana适合需要详细指标分析和可视化场景,GitLab内置工具适合快速查看基础状态,系统自带工具适合临时排查问题,第三方工具适合企业级复杂环境。