Prometheus与Node-exporter负载监控搭建:自己动手给独立站做套负载监控

Prometheus与Node-exporter负载监控搭建:自己动手给独立站做套负载监控

服务器运维wl5net2026-11-11 13:11:21A+A-
约 4045 字 · 预计阅读 9 分钟

做外贸独立站这几年,我见过太多平时不看监控、一到“黑五”广告狂推流量暴涨直接把服务器打崩的惨案。很多新手总觉得这事离自己很远,或者嫌装监控费事,宁可天天手动在终端里敲 top,也不愿意老老实实把Prometheus与Node-exporter负载监控搭建这件事给落地。等哪天PHP-FPM卡死、MySQL被系统OOM直接干掉,导致白白亏掉几百上千美刀的Google投流预算时,才拍大腿后悔。

Prometheus与Node-exporter负载监控搭建:自己动手给独立站做套负载监控

市面上现成的商业APM(比如Datadog、New Relic)确实省心,但对个人站长和小团队来说太贵了;宝塔面板自带的监控又太重,数据量一多自己先卡死。今天这篇干货,我就抛开那些花里胡哨的理论,直接手把手带大家用开源方案跑通监控体系,以后机器哪块资源吃紧,你心里能有本明明白白的账。


搞清原理:为什么是 Prometheus + Node-exporter?

简单打个比方,你手头有三四台VPS跑WordPress、Shopify转独立站的站群或者API后端:

  1. Node-exporter(探针):它就是一个极其轻量的小程序,必须扔在你要监控的业务机上。它只干一件事——实时读取操作系统的CPU占用、内存剩余、磁盘I/O、网络流量等底层硬件指标,然后开一个端口(默认是9100)把数据以纯文本形式露出来。
  2. Prometheus(数据中枢):它相当于监控调度中心。你不用把它和业务混在一台机器上,随便买台便宜的轻量云(哪怕是1核1G的便宜机房)都能跑。它会按照你设定的间隔(比如15秒),主动找Node-exporter拉取指标,存进自己的时序数据库里。

第一步:在业务机上跑 Node-exporter

老站长提醒:千万别在生产机上编译安装,直接去GitHub找编译好的二进制包,安全、干净、无依赖。

以 Ubuntu 22.04 LTS 为例,执行以下命令:

# 下载最新版(自己去GitHub确认最新tag,这里以1.7.0为例)
cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

# 解压并扔到系统可执行目录下
tar -xvf node_exporter-1.7.0.linux-amd64.tar.gz
cd node_exporter-1.7.0.linux-amd64
sudo mv node_exporter /usr/local/bin/

# 建一个低权限系统账号专门跑它,安全第一
sudo useradd -rs /bin/false node_exporter

接下来做个 systemd 服务,方便开机自启和故障拉起:

sudo tee /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
EOF

启动服务:

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter

验证一下是否活着:终端输入 curl http://localhost:9100/metrics,如果刷出来一大堆带 # HELP 和指标值的英文,说明数据抓取正常。


第二步:搭建 Prometheus 监控中心

现在换到你的监控专用机。同样使用二进制包部署:

cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.48.1/prometheus-2.48.1.linux-amd64.tar.gz
tar -xvf prometheus-2.48.1.linux-amd64.tar.gz
cd prometheus-2.48.1.linux-amd64

# 创建配置文件与数据目录
sudo mkdir -p /etc/prometheus
sudo mkdir -p /var/lib/prometheus
sudo mv prometheus promtool /usr/local/bin/
sudo mv consoles console_libraries /etc/prometheus/

配置 prometheus.yml。这里需要把刚才装了 Node-exporter 的那台外贸站服务器IP加进去:

global:
  scrape_interval: 15s     # 15秒拉一次,对VPS压力极小
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'us-west-woocommerce' # 给你的业务机起个易懂的名字
    static_configs:
      - targets: ['192.168.1.50:9100'] # 换成你独立站的真实公网/内网IP

同样丢给 systemd 托管:

sudo useradd -rs /bin/false prometheus
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

sudo tee /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/ \
    --storage.tsdb.retention.time=30d # 强烈建议加上:数据保留30天,省磁盘

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

几个一线实操踩坑点(别怪我没提醒)

很多人照着网上的教程抄,跑通之后就不管了,过几个月准出问题。以下三点全是我交过学费换来的教训:

1. 端口裸奔被全网扫描

Node-exporter 的 9100 端口默认是不带鉴权的!你把它大喇喇暴露在公网,全世界黑客都能随时读出你系统的负载和磁盘大小,甚至借此推测你的业务高峰期打DDoS。

  • 解决办法:在云厂商的防火墙(Security Groups)里设置白名单,只允许 Prometheus 机器的公网 IP 访问 9100 端口。其他来源一律 DROP。

2. 磁盘爆满惨案

Prometheus 默认会一直把监控数据往磁盘塞。如果你的监控节点多,又没加 --storage.tsdb.retention.time=30d,不出半年监控服务器自身磁盘就会被占满,数据库直接崩坏死锁。对于独立站来说,保留15天到30天的历史数据足够排查问题了。

3. 不要把两者放同一台小鸡

如果你手头就一台 1核2G 的机器跑外贸网站,千万别把 Prometheus 也硬挤在上面。当网站遭受大流量冲击时,业务容器本身就在疯狂争抢内存,Prometheus 再去拉数据、做计算,会直接加速整台机器的宕机崩溃。


后续玩法建议

搭建完这一套,直接在浏览器打开监控机的 http://IP:9090,在 Targets 页面看到目标都是绿色的 UP 状态,基础体系就算稳了。

不过 Prometheus 原生的面板奇丑无比,看数据很费眼。下一步,你可以顺手在这台机器上装个 Grafana,直接导入官方提供的 Node Exporter Full 仪表盘模版(ID:1860)。不到两分钟,整套专业到像大厂运维室的酷炫监控大屏就出来了,配合设置个 Telegram 机器人或者企业微信告警,你的独立站抗风险能力立马跨上一个台阶。

点击这里复制本文地址 以上内容由未来技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

网站地图 robots.txt 网站死链 关于本站 工信部备案号浙ICP备2026012592号-2 浙公网安备33102402000669号