Ubuntu安装Prometheus

  • 2026-07-10
  • 日常记录
  • 11 条评论
  • 252 次阅读

可以直接复制命令执行,省去手动打开编辑器修改文件的繁琐步骤。

  1. 基础环境准备与下载

直接复制以下整段命令执行,完成用户创建、目录设置和文件下载解压:

创建用户和目录

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus

下载并解压 3.13.0 版本

cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v3.13.0/prometheus-3.13.0.linux-amd64.tar.gz
tar xvf prometheus-3.13.0.linux-amd64.tar.gz
cd prometheus-3.13.0.linux-amd64

拷贝文件并赋予权限

sudo cp prometheus promtool /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
sudo cp prometheus.yml /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus

  1. 一键创建 Systemd 服务并启动

使用下面的命令直接将配置写入服务文件,并开启接收 Grafana Alloy 推送的功能(--web.enable-remote-write-receiver):

sudo bash -c 'cat > /etc/systemd/system/prometheus.service <<EOF
[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.enable-remote-write-receiver

[Install]
WantedBy=multi-user.target
EOF'

重新加载系统并启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
sudo systemctl status prometheus

  1. 追加 SNMP 抓取任务 (命令行方式)

因为 YAML 文件对缩进非常严格,我们使用 cat >> 的方式(相当于多行的 echo >>),安全地将 SNMP 配置追加到 prometheus.yml 文件的末尾。

直接执行以下命令:

sudo bash -c 'cat >> /etc/prometheus/prometheus.yml << "EOF"

  • job_name: "snmp"
    static_configs:

    • targets:

      • 192.168.1.100 # 此处替换为你实际的 SNMP 设备 IP

    metrics_path: /snmp
    params:
    module: [if_mib]
    relabel_configs:

    • source_labels: [__address__]
      target_label: __param_target
    • source_labels: [__param_target]
      target_label: instance
    • target_label: address
      replacement: 127.0.0.1:9116 # snmp_exporter 服务地址

EOF'

重启服务使新追加的配置生效

sudo systemctl restart prometheus