温馨提示×

GitLab在CentOS上的监控与日志管理

小樊
49
2025-11-29 18:11:58
栏目: 智能运维

监控与日志管理总览CentOS 上,建议采用“内置监控 + 系统工具 + 外部平台”的多层方案:使用 GitLab 内置监控快速查看实例健康,配合 Prometheus + Grafana 做长期指标与可视化,再用 ELK 或系统 logrotate 做日志的集中与轮转管理。

监控方案

  • 内置监控与健康页
    • 在管理员区域访问 /admin/monitoring,查看 CPU、内存、磁盘、网络 等关键指标与实例状态,用于日常巡检与容量评估。
  • 系统级资源监控
    • 使用 top、vmstat、free、iostat、df/du、ss 等命令,快速定位 CPU、内存、磁盘 I/O、网络与文件系统 的异常,适合临时排查与应急。
  • Prometheus + Grafana
    • 部署 Prometheus 抓取 GitLab 与节点指标,配置 Grafana 数据源并导入面板,实现指标可视化与告警;可结合 Alertmanager 进行邮件、Slack 等通知。
  • 第三方监控
    • 使用 Zabbix、Nagios 等平台对主机与应用层指标进行统一监控与告警,适合已有监控体系的企业环境。

日志管理

  • 日志位置与实时查看
    • 日志默认位于 /var/log/gitlab/。常用文件:
      • gitlab-rails/production.log(Rails 应用日志)
      • nginx/gitlab_access.log / gitlab_error.log(Nginx 访问与错误)
      • sidekiq/sidekiq.log(后台任务)
    • 快速查看:
      • 实时跟踪:sudo gitlab-ctl tail
      • 指定服务:sudo gitlab-ctl tail nginx/gitlab_error.log
      • 直接查看文件:sudo less /var/log/gitlab/gitlab-rails/production.log
  • 日志轮转与保留
    • logrotate(Omnibus 内置):在 /etc/gitlab/gitlab.rb 中配置
      • 示例:
        • logging[‘logrotate_frequency’] = “daily”
        • logging[‘logrotate_rotate’] = 30
        • logging[‘logrotate_compress’] = “compress”
      • 生效:sudo gitlab-ctl reconfigure
    • Runit 日志(服务内日志轮转与压缩)
      • 示例(/etc/gitlab/gitlab.rb):
        • logging[‘svlogd_size’] = 200 * 1024 * 1024(单文件约 200MB
        • logging[‘svlogd_num’] = 30(保留 30 个)
        • logging[‘svlogd_timeout’] = 24 * 60 * 60(按天切割)
        • logging[‘svlogd_filter’] = “gzip”
      • 生效:sudo gitlab-ctl reconfigure
  • 集中式日志
    • 使用 ELK(Elasticsearch + Logstash + Kibana) 收集与索引 /var/log/gitlab/ 日志,在 Kibana 中构建仪表盘实现检索、分析与可视化。

告警与可视化配置示例

  • Prometheus 抓取 GitLab 指标
    • 编辑 /etc/prometheus/prometheus.yml
      • scrape_configs:
        • job_name: ‘gitlab’ static_configs:
          • targets: [‘your_gitlab_server_address:9090’]
  • 简单告警规则(示例)
    • 在 Prometheus 规则文件(如 alerts.yml)中添加:
      • 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: “CPU usage on GitLab server is above 80%”
  • Grafana 可视化
    • 添加 Prometheus 数据源,导入或创建面板,展示 CPU、内存、磁盘、网络 与 GitLab 关键业务指标。

日常巡检命令清单

  • 资源与连接
    • 资源:top / vmstat / free / iostat
    • 磁盘:df -h / du -sh /var/log/gitlab
    • 网络与端口:ss -tulpen | grep :80|:443
  • GitLab 服务与日志
    • 服务状态:sudo gitlab-ctl status
    • 实时日志:sudo gitlab-ctl tail
    • 错误定位:sudo less /var/log/gitlab/gitlab-rails/production.log
    • 配置生效:sudo gitlab-ctl reconfigure

0