首页
关于
login
Search
1
腾讯收购Manus背后:AI Agent私有化部署需要什么样的服务器?
7 阅读
2
VPS上创建网站的完整教程:从零开始搭建你的网站
6 阅读
3
长鑫科技IPO估值4万亿:国产存储要起飞,云服务器价格会暴跌吗?
6 阅读
4
test
6 阅读
5
你的VPS真的安全吗?我从被"黑"到全面加固的血泪史
4 阅读
服务器
VPS教程
服务器教程
云服务器
AI技术
评测
服务器导购
VPS资讯
云服务器知识
AI服务器
服务器推荐
游戏服务器
科技
AI编程
服务器安全
AI算力
VPS
VPS导购
行业分析
存储技术
云服务器推荐
服务器选购
AI
登录
Search
标签搜索
云服务器
VPS
VPS选购
VPS推荐
AI算力
GPU云服务器
服务器推荐
服务器选购
数据中心
云服务器推荐
建站教程
阿里云
AI服务器
腾讯云
服务器安全
DeepSeek
AI推理
国产芯片
AI Agent
AI数据中心
Typecho
累计撰写
169
篇文章
累计收到
0
条评论
首页
栏目
服务器
VPS教程
服务器教程
云服务器
AI技术
评测
服务器导购
VPS资讯
云服务器知识
AI服务器
服务器推荐
游戏服务器
科技
AI编程
服务器安全
AI算力
VPS
VPS导购
行业分析
存储技术
云服务器推荐
服务器选购
AI
页面
关于
login
搜索到
1
篇与
的结果
2026-07-03
VPS服务器自动化运维实战:用Prometheus+Grafana搭出你的服务器监控体系
这两天后台有朋友问我:"买回来的VPS,总不能天天ssh上去挨个看资源吧?"老实说,这个问题戳中了太多新手运维的痛处。我自己做服务器导购这些年,见过太多用户——买了一台配置不错的VPS,跑了两三个月突然挂了,一顿排查发现:磁盘早在两周前就满了,内存天天打满swap,CPU被某个异常进程占得死死的。没有人会在凌晨三点盯着终端看监控。 但你可以在凌晨三点收到告警短信,然后安稳地翻个身——前提是你搭了一套靠谱的监控体系。今天这篇文章,我就把从零搭建VPS监控体系的完整方案摊开来讲。核心三剑客:Prometheus + Grafana + Alertmanager,全部开源免费,一台1核2G的VPS就能跑起来。目录 为什么要上监控? 监控体系架构——一张图看懂 Prometheus部署——监控数据的"大脑" Node Exporter——让操作系统开口说话 Grafana——把数据变成看得见的仪表盘 Alertmanager——关键指标告警到手机 生产环境建议——别踩这些坑 总结 一、为什么要上监控?先抛一个问题:你100%确定你的VPS现在"健康"吗?你可能会说——"我刚才看了,uptime 200多天,一切正常。"但你答不上来的是: 昨天凌晨2点的平均负载是多少? 磁盘IO等待是不是悄悄飙到30%以上了? 可用磁盘空间还能撑几天? 有没有异常进程在偷偷跑挖矿脚本? 你看,没有监控,你在裸奔。而有一句老话说得好——"你不关心监控,监控就会在某天凌晨3点把你叫醒。"Prometheus(普罗米修斯) 是目前业界最主流的开源监控方案。你信不信,Kubernetes、Docker生态里的监控,十有八九都是它。我个人的经验是:一套监控体系投进去的时间成本大约2-3小时,但它能在接下来的一年里帮你省下无数个排查故障的夜晚。二、监控体系架构——一张图看懂整个架构非常清晰,就三个组件:+----------------+ +------------------+ +----------------+ | 被监控服务器 | | Prometheus | | Grafana | | (Node Exporter) | ----> | (数据采集+存储) | ----> | (可视化仪表盘) | +----------------+ +------------------+ +----------------+ | v +------------------+ | Alertmanager | --> 邮件/钉钉/企业微信 | (告警通知) | +------------------+ Node Exporter:部署在被监控的服务器上,采集CPU、内存、磁盘、网络等系统指标 Prometheus Server:拉取并存储所有指标数据,提供查询语言 PromQL Grafana:从Prometheus读取数据,生成直观的可视化图表 Alertmanager:根据规则触发告警,推送到你的手机(邮件、钉钉、企业微信等) 整个体系对系统资源的要求极低。 我用一台1核2G、20GB SSD的轻量云服务器做演示,Prometheus + Grafana + 监控3台机器,内存占用不到1GB。三、Prometheus部署——监控数据的"大脑"Prometheus 的部署方式,我建议用 Docker——干净、快速、好维护。3.1 创建数据目录mkdir -p /opt/prometheus/{data,config} cd /opt/prometheus 3.2 编写配置文件创建 /opt/prometheus/config/prometheus.yml:global: scrape_interval: 15s # 每15秒采集一次数据 evaluation_interval: 15s # 每15秒评估一次告警规则 alerting: alertmanagers: - static_configs: - targets: - "localhost:9093" # Alertmanager地址 rule_files: - "rules/*.yml" # 告警规则文件 scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "node_exporter" static_configs: - targets: - "192.168.1.10:9100" # 替换为你的VPS IP 注意:这里 scrape_interval 设15秒,对个人VPS完全够用。如果监控上百台机器,可以适当放宽到30-60秒。3.3 用Docker启动Prometheusdocker run -d \ --name prometheus \ --restart=always \ -p 9090:9090 \ -v /opt/prometheus/config:/etc/prometheus \ -v /opt/prometheus/data:/prometheus \ prom/prometheus:v2.53.0 启动后访问 http://你的VPS-IP:9090,看到 Prometheus 的 Web 界面,说明部署成功。 Prometheus自带的查询界面,支持PromQL实时检索指标数据四、Node Exporter——让操作系统开口说话Node Exporter 是 Prometheus 官方出品的系统指标采集器,部署在被监控的VPS上。4.1 部署Node Exporterdocker run -d \ --name node-exporter \ --restart=always \ --network="host" \ --pid="host" \ -v "/:/host:ro,rslave" \ quay.io/prometheus/node-exporter:v1.8.2 \ --path.rootfs=/host 4.2 验证采集是否正常curl http://localhost:9100/metrics | head -20 如果看到类似 node_cpu_seconds_total、node_memory_MemTotal_bytes 这样的指标,说明采集成功。Node Exporter 会暴露上千个指标——CPU、内存、磁盘、网络、文件系统、系统负载……只要你能想到的系统指标,它都有。一个小技巧:在 Prometheus 配置里加入多台 Node Exporter,可以统一监控所有VPS。一台监控机,随时掌握所有服务器的健康状况。五、Grafana——把数据变成看得见的仪表盘有数据了,但全是数字和代码,看起来不够直观。这个时候 Grafana 就登场了。5.1 部署Grafanadocker run -d \ --name grafana \ --restart=always \ -p 3000:3000 \ -v /opt/grafana/data:/var/lib/grafana \ grafana/grafana:11.1.0 启动后访问 http://你的VPS-IP:3000,默认账号密码都是 admin。5.2 连接Prometheus数据源 进入Grafana → Configuration → Data Sources → Add data source 选择 Prometheus URL填入 http://你的VPS-IP:9090(如果Grafana和Prometheus在同一台机器上,可以直接用 http://localhost:9090) 点击 Save & Test,看到绿色提示就OK了 5.3 导入现成的仪表盘Grafana 社区有大量现成的仪表盘模板。我推荐使用 Node Exporter Full(ID: 1860):# 直接在Grafana中导入 # 或通过API导入,这里给出curl示例 curl -X POST \ -H "Content-Type: application/json" \ -d '{"id":1860,"type":"grafana","orgId":1}' \ http://admin:admin@localhost:3000/api/dashboards/import 导入后,你会看到类似这样的仪表盘: Grafana仪表盘直观展示CPU、内存、磁盘、网络等核心指标这个仪表盘会把所有指标分成几个大区: 区域 关键指标 告警建议阈值 CPU 使用率、负载、IO等待 CPU使用率 > 80% 持续10分钟 内存 总内存、已用、可用、Swap 可用内存 < 20% 磁盘 使用率、IO读写速率、IO等待 磁盘使用率 > 85% 网络 带宽使用、连接数、错误包 入站带宽 > 80% 上限 系统 Uptime、进程数、文件描述符 — 老实说,这个仪表盘一上,你的VPS状态一目了然。 之前那种"ssh上去看一眼free -h"的原始操作,可以直接扔掉了。六、Alertmanager——关键指标告警到手机仪表盘可以看,但不能时刻盯着。告警才是监控的核心价值。6.1 部署Alertmanagerdocker run -d \ --name alertmanager \ --restart=always \ -p 9093:9093 \ -v /opt/alertmanager/config:/etc/alertmanager \ prom/alertmanager:v0.27.0 6.2 配置告警规则创建 /opt/prometheus/config/rules/vps_alerts.yml:groups: - name: vps_alerts rules: - alert: 磁盘即将写满 expr: (1 - (node_filesystem_avail_bytes{fstype!="",mountpoint="/"} / node_filesystem_size_bytes{fstype!="",mountpoint="/"})) * 100 > 85 for: 5m labels: severity: warning annotations: summary: "服务器 {{ $labels.instance }} 磁盘使用率超过85%" - alert: 内存不足 expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 20 for: 5m labels: severity: warning summary: "服务器 {{ $labels.instance }} 可用内存低于20%" - alert: CPU负载过高 expr: node_load15 / count(node_cpu_seconds_total{mode="idle"}) by (instance) > 0.8 for: 10m labels: severity: critical summary: "服务器 {{ $labels.instance }} CPU负载异常" 6.3 配置告警通知到钉钉/企业微信创建 /opt/alertmanager/config/alertmanager.yml:global: resolve_timeout: 5m route: group_by: ["alertname", "instance"] group_wait: 30s group_interval: 5m repeat_interval: 4h receiver: "webhook" receivers: - name: "webhook" webhook_configs: - url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的WebHook密钥" send_resolved: true 供你参考:企业微信的WebHook是免费的,配置起来也最简单。钉钉、飞书也支持类似的WebHook。如果是个人使用,用 Server酱 或者 邮件告警 也可以。我自己用的是企业微信WebHook。设置好之后,半夜磁盘使用率超过85%,手机"叮"一声就来了——安心睡觉,不再焦虑。6.4 重启服务使配置生效docker restart prometheus docker restart alertmanager 七、生产环境建议——别踩这些坑这些年帮人搭过几十套监控体系,踩过的坑写出来,供你参考:7.1 不要把所有鸡蛋放在同一个篮子里监控机和生产机要分开。 如果你只有一台VPS,那就用这台VPS监控它自己——虽然不太完美,但总比没有好。如果有两台以上的VPS,用配置最低的那台做监控机,其他做业务机。7.2 告警阈值要"温柔"很多新手一上来就把阈值设得太紧,结果一天收到200条告警,最后直接无视了。我建议: - 磁盘使用率:85% 告警,95% 紧急 - CPU负载:持续10分钟超过核心数的80%才告警 - 内存:低于20% 告警,低于10% 紧急告警的目的是让你关注,而不是让你烦躁。7.3 数据保留策略Prometheus 默认将所有数据保留在本地磁盘。对于个人VPS,建议保留15天:# prometheus.yml 中增加 storage: tsdb: retention.time: 15d retention.size: 5GB 7.4 别忘了安全 Prometheus、Grafana 暴露的端口不要直接开放到公网。用 Nginx 反代 + 密码认证,或者直接通过 WireGuard/Tailscale 组网访问 Grafana 默认账号密码 admin/admin,部署后第一时间修改 7.5 升级到进阶方案当你的服务器超过3台以后,可以考虑引入: cAdvisor:监控Docker容器指标 Blackbox Exporter:监控网站和API的可用性 Loki:日志聚合,配合Grafana查看日志 Nginx Exporter:监控Nginx连接数和请求量 你信不信,这些全部开源免费。 一台低配的VPS就能撑起一套完整的运维体系。八、总结(全文完)写这篇文章的时候,我想起刚入行那会儿,自己买了一台VPS跑了半年,连监控是什么都不知道。直到有一天网站打不开了,ssh上去一看——磁盘100%,日志文件把整个根分区撑爆了。那次之后我就明白了:监控不是锦上添花,是雪中送炭。今天这套方案,用到的全是开源工具: Prometheus:数据采集和存储的心脏 Node Exporter:让每一台VPS开口说话 Grafana:把冰冷的数据变成赏心悦目的仪表盘 Alertmanager:在问题变成灾难之前通知你 全部免费,全部开源,全部经过大规模生产环境验证。如果你还在手动登录每台VPS看资源使用情况,真的,花2-3小时把监控搭起来,你会感谢自己的。
2026年07月03日
0 阅读
0 评论
0 点赞