在Ubuntu 22.04上安装和配置Prometheus来监控GitLab服务的详细步骤如下:

1. 安装Prometheus

1.1 添加Prometheus用户

为了安全性,创建一个专门用于运行Prometheus的用户:

sudo useradd --no-create-home --shell /bin/false prometheus
1.2 创建目录

创建Prometheus的相关目录:

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
1.3 下载Prometheus

下载最新的Prometheus二进制文件并解压:

cd /tmp
curl -LO https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz
tar -xvf prometheus-2.35.0.linux-amd64.tar.gz
cd prometheus-2.35.0.linux-amd64

将Prometheus的二进制文件移动到/usr/local/bin目录:

sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/
1.4 配置文件和权限

将配置文件和控制脚本移动到适当的位置:

sudo mv prometheus.yml /etc/prometheus/
sudo mv consoles /etc/prometheus/
sudo mv console_libraries /etc/prometheus/

设置文件和目录的权限:

sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
1.5 创建Systemd服务文件

创建Prometheus的Systemd服务文件:

sudo nano /etc/systemd/system/prometheus.service

添加以下内容:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
  --config.file /etc/prometheus/prometheus.yml \
  --storage.tsdb.path /var/lib/prometheus/ \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

保存并退出编辑器,然后重新加载Systemd:

sudo systemctl daemon-reload

启动并启用Prometheus服务:

sudo systemctl start prometheus
sudo systemctl enable prometheus

2. 安装并配置GitLab Exporter

2.1 下载并安装GitLab Exporter

下载GitLab Exporter并安装:

cd /tmp
curl -LO https://github.com/prometheus/client_golang/releases/download/v1.11.0/prometheus-1.11.0.linux-amd64.tar.gz
tar -xvf prometheus-1.11.0.linux-amd64.tar.gz
cd prometheus-1.11.0.linux-amd64
sudo mv gitlab_exporter /usr/local/bin/

创建配置目录:

sudo mkdir /etc/gitlab_exporter
2.2 配置GitLab Exporter

创建配置文件:

sudo nano /etc/gitlab_exporter/config.yml

添加以下内容,替换为你自己的GitLab地址和访问令牌:

---
gitlab:
  url: "https://gitlab.example.com"
  token: "your_access_token"

设置权限:

sudo chown -R prometheus:prometheus /etc/gitlab_exporter
2.3 创建Systemd服务文件

创建GitLab Exporter的Systemd服务文件:

sudo nano /etc/systemd/system/gitlab_exporter.service

添加以下内容:

[Unit]
Description=GitLab Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/gitlab_exporter \
  --config.file /etc/gitlab_exporter/config.yml

[Install]
WantedBy=multi-user.target

保存并退出编辑器,然后重新加载Systemd:

sudo systemctl daemon-reload

启动并启用GitLab Exporter服务:

sudo systemctl start gitlab_exporter
sudo systemctl enable gitlab_exporter

3. 配置Prometheus

3.1 编辑Prometheus配置文件

编辑Prometheus的配置文件以添加GitLab Exporter作为数据源:

sudo nano /etc/prometheus/prometheus.yml

scrape_configs部分添加以下内容:

scrape_configs:
  - job_name: 'gitlab'
    static_configs:
      - targets: ['localhost:8080']

保存并退出编辑器,然后重新加载Prometheus配置:

sudo systemctl restart prometheus

4. 安装Grafana并配置监控面板

4.1 安装Grafana

首先,添加Grafana的APT存储库:

sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install -y grafana

启动并启用Grafana服务:

sudo systemctl start grafana-server
sudo systemctl enable grafana-server
4.2 配置Grafana数据源
  1. 打开浏览器并访问Grafana(默认端口为3000):http://your_server_ip:3000
  2. 登录(默认用户名和密码均为admin,首次登录后会提示更改密码)。
  3. 添加Prometheus数据源:
  • 在Grafana主页,点击左侧菜单的“Configuration” (齿轮图标) -> “Data Sources” -> “Add data source”。
  • 选择“Prometheus”。
  • 在“URL”字段中输入Prometheus服务器地址,如http://localhost:9090
  • 点击“Save & Test”以确认数据源配置。
4.3 导入GitLab监控仪表盘
  1. 在Grafana主页,点击左侧菜单的“Create” -> “Import”。
  2. 在“Import via grafana.com”中,输入仪表盘ID(可以使用GitLab Exporter的官方仪表盘)。
  3. 点击“Load”,选择刚才配置的Prometheus数据源,点击“Import”。

通过这些步骤,你可以在Ubuntu 22.04上成功安装和配置Prometheus来监控GitLab服务,并使用Grafana进行可视化监控。