腾讯云折扣充值 如何在腾讯云服务器搭建Prometheus与Grafana监控系统
如何在腾讯云服务器搭建Prometheus与Grafana监控系统:决策要点与实操
搜这个问题的用户,通常不是在犹豫“用不用监控”,而是在卡以下几步:账号怎么开、实名认证怎么过、哪个地域更省心、怎样付费更划算、风控会不会拦、服务器怎么配才不踩坑、上线后怎么控成本。下面把流程、风控、成本和搭建步骤放在一个闭环里,按“先决策,后动手”的顺序展开。
账号与实名认证:国内站 vs 国际站的选择逻辑
- 国内站(cloud.tencent.com)
- 实名认证:个人/企业均需实名认证;个人一般支持身份证+人脸校验;企业需营业执照、法定代表人信息。
- 支付方式:微信/支付宝/银联为主,预付费体验更顺畅。
- 地域与合规:在中国内地地域(北京、上海、广州等)对外提供网站,需完成域名备案;仅内部监控或非公网访问场景,不要求备案。
- 国际站(intl.cloud.tencent.com)
- KYC(Know Your Customer):绑定信用卡后通常可创建基础资源;提高额度、绑定多卡、企业采购等场景会触发额外KYC(护照/驾照、公司注册文件、受益人信息)。审核一般1-3个工作日。
- 支付方式:Visa/Mastercard/AE、PayPal;币种以USD为主,部分地区支持本地币。
- 地域:香港、新加坡、东京、硅谷等。无需备案,面向全球访问相对简便。
选择建议:内地业务且需要公网访问→国内站+内地地域且完成备案;跨境/出海业务→国际站香港/新加坡优先;仅做内网监控→就近地域即可,优先和被监控目标在同一VPC/地域,降低网络时延和出网成本。
购买与地域选择:避免“便宜但不好用”的组合
- 地域延迟与带宽:
- Prometheus抓取频繁,跨地域会放大丢包/抖动;Grafana面向运维可通过公网或专线访问。
- 被监控实例在多地域混布:优先在各地域就近部署轻量Prometheus,再以联邦模式汇总;统一部署在一个地域会产生不必要的跨域出口费。
- 实例规格推荐(经验值):
- ≤30台节点(仅Node Exporter,15s抓取,7天保留):2核4G,系统盘40-60GB,数据盘50-100GB。
- 30-150台节点(含服务/应用指标,15s抓取,15天保留):4核8G起,数据盘200-500GB。
- >150台节点:分层部署+远程存储(如VictoriaMetrics/Thanos)或联邦聚合,避免单点放大。
- 带宽计费:
- 监控场景出网流量主要来自Grafana面板访问与告警回调;Prometheus抓取通常走内网/VPC。
- 按带宽计费适合持续对外访问;按流量计费适合偶发访问。小流量场景优先按流量。
支付方式、充值与续费:不同站点的差异与踩坑
- 腾讯云折扣充值 国内站:
- 预付费(包年包月):价格打折较多,适合稳定使用;到期未续费,会进入保留期,CVM一般在到期当天起进入关机/释放流程,保留期结束后释放。
- 按量计费:费率透明,适合PoC;余额不足会欠费停机,通常数小时内触发停服,建议设置余额告警和自动充值。
- 腾讯云折扣充值 支付方式:微信/支付宝/银联;企业可申请增票。
- 国际站:
- 信用卡/PayPal:首次绑卡可能有$1预授权;新号常见月度消费限额,随历史良好消费逐步提升。
- 预付与后付皆有:注意关闭无用资源避免低额长尾费用(弹性公网IP、磁盘、快照)。
- 自动续费失败:3DS校验、发卡行风控、卡片地域不匹配都可能导致扣款失败,建议绑定两张卡或开余额自动充值。
风控审核与账号安全:容易被拦的场景
- 高风险触发器:
- 同一张信用卡绑定多账号、频繁创建销毁高风险地域实例、跨洲登录波动大、短时间内连续失败支付。
- 服务器被利用进行端口扫描、DDoS、爆破、挖矿,会快速冻结。
- 应对:
- 企业账号尽早完成企业认证,提交真实联系人与可回拨电话。
- 固定运维出口IP,或在账号层启用MFA,降低“异常登录”判定。
- Prometheus对公网目标抓取前先取得授权,避免被对方投诉。
使用限制与合规:提前规避
- 备案:内地地域对外提供网站需备案;监控面板仅内网访问可不备案。香港/新加坡等地域无需备案。
- 端口与防火墙:默认安全组不开放9090/3000;需要按来源IP白名单放行。内地机房对部分高危端口有限制策略,避免对外开放9100给全网。
- 跨境数据:将内地业务运行数据同步至海外地域,需评估公司内部合规策略和合同条款。
最短可用搭建流程(CVM Ubuntu 22.04,原生安装)
- 腾讯云折扣充值 购买CVM
- 地域:与主要被监控资源同地域或同大区;出海业务常用香港/新加坡。
- 腾讯云折扣充值 规格:2核4G起;系统盘40GB,数据盘100GB(用于Prometheus数据)。
- 带宽:按流量计费,先设1-3Mbps峰值或0带宽仅内网。
- 镜像:Ubuntu 22.04 LTS。
- 配置安全组
- 腾讯云折扣充值 入站允许(源限运维IP或公司出口):22/tcp、9090/tcp(Prometheus,视情况开放)、3000/tcp(Grafana)。
- 入站允许(VPC内网):9100/tcp(Node Exporter)。
- 腾讯云折扣充值 若要HTTPS:80/443对外;其余一律拒绝。
- 系统初始化(登录后执行)
sudo apt update && sudo apt -y upgrade
sudo timedatectl set-timezone Asia/Shanghai
sudo apt -y install wget tar ufw jq chrony
sudo systemctl enable --now chrony
sudo ufw allow OpenSSH
sudo ufw enable
# 放行本机临时调试(后续改为源IP白名单)
sudo ufw allow 9090/tcp
sudo ufw allow 3000/tcp
安装 Prometheus
# 创建用户与目录
sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus
sudo mkdir -p /etc/prometheus /var/lib/prometheus
# 下载最新稳定版(示例版本号请按官网调整)
VER=2.53.0
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v${VER}/prometheus-${VER}.linux-amd64.tar.gz
tar xzf prometheus-${VER}.linux-amd64.tar.gz
cd prometheus-${VER}.linux-amd64
sudo cp prometheus promtool /usr/local/bin/
sudo cp -r consoles console_libraries /etc/prometheus/
# 基础配置(示例含本机与两台Node Exporter)
sudo tee /etc/prometheus/prometheus.yml >/dev/null <<'EOF'
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['127.0.0.1:9090']
- job_name: 'nodes'
static_configs:
- targets:
- '10.0.1.10:9100'
- '10.0.2.11:9100'
relabel_configs:
- source_labels: [__address__]
regex: '(.*):9100'
target_label: instance
replacement: '$1'
EOF
# systemd
sudo tee /etc/systemd/system/prometheus.service >/dev/null <<'EOF'
[Unit]
Description=Prometheus
After=network-online.target
Wants=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=7d \
--web.enable-admin-api \
--web.listen-address=:9090
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
在被监控实例安装 Node Exporter(示例)
# 被监控服务器执行
VER=1.8.1
cd /tmp && wget https://github.com/prometheus/node_exporter/releases/download/v${VER}/node_exporter-${VER}.linux-amd64.tar.gz
tar xzf node_exporter-${VER}.linux-amd64.tar.gz
sudo cp node_exporter-${VER}.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /usr/sbin/nologin nodeusr
sudo tee /etc/systemd/system/node_exporter.service >/dev/null <<'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nodeusr
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
# 确保安全组/防火墙允许来自Prometheus所在内网IP访问9100
安装 Grafana
sudo apt -y install software-properties-common
sudo apt-get install -y apt-transport-https
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt -y install grafana
sudo systemctl enable --now grafana-server
首次登录:http://服务器IP:3000,默认 admin/admin,强制修改密码。添加数据源:Prometheus,URL填 http://127.0.0.1:9090。仪表盘可导入社区ID:1860(Node Exporter Full)。
开启HTTPS与访问控制(可选但强烈建议)
sudo apt -y install nginx certbot python3-certbot-nginx apache2-utils
# 反代Grafana
sudo tee /etc/nginx/sites-available/grafana.conf >/dev/null <<'EOF'
server {
listen 80;
server_name grafana.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
# 申请证书
sudo certbot --nginx -d grafana.example.com --email [email protected] --agree-tos --redirect
# 可选:基础认证限制访问
sudo htpasswd -c /etc/nginx/.grafana_admin ops
# 在server块加入:
# auth_basic "Restricted";
# auth_basic_user_file /etc/nginx/.grafana_admin;
sudo nginx -t && sudo systemctl reload nginx
安全组仅放行80/443来源为办公出口IP段;3000、9090仅内网或跳板访问。
生产加固与容量规划:避免后期返工
- 数据保留与磁盘:
- 估算示例:20台节点、每台~1000条时序、抓取间隔15s,约20k时序。日样本量≈20,000×(86400/15)=115M;压缩后0.5~1.5GB/天;7天≈3.5~10GB。预留2-3倍空间做增长与WAL。
- 把/var/lib/prometheus放在独立高性能云硬盘,便于扩容与快照备份。
- 告警:
- Alertmanager与Grafana Alert二选一或组合使用;短信/邮件/企业微信/Slack接入前先做频率限制与去重。
- 防“告警风暴”:分级+抑制规则,夜间策略降噪。
- 高可用:
- 双实例同抓取,使用HA pair,Grafana通过负载均衡/反代轮询读取。
- 跨可用区部署,磁盘每日快照;升级前创建快照回滚点。
- 访问控制:
- Grafana使用组织/团队/文件夹权限隔离;启用OAuth(企业微信、GitHub、OIDC)。
- Prometheus开启basic_auth或仅内网访问,或通过Nginx暴露并加ACL。
成本测算与优化:用数据说话
| 场景 | 建议配置 | 地域 | 计费建议 | 月度成本区间(USD,参考) | 优化点 |
|---|---|---|---|---|---|
| 20台节点,7天保留 | 2核4G,系统盘40G+数据盘100G,按流量带宽1-3Mbps | 同业务地域或香港 | 包年或按量 | 实例12-25;磁盘8-15;流量0-5 → 合计20-45 | Grafana走VPN内网访问,几乎无出网费 |
| 100台节点,15天保留 | 4核8G,系统40G+数据盘300G,带宽3-5Mbps | 分区联邦或集中新加坡 | 包年 | 实例30-60;磁盘30-60;流量3-15 → 合计63-135 | 调大scrape_interval,启用远程存储压缩 |
| 全球多地域 | 各地域2核4G边缘+中心4核8G聚合 | 各地域就近 | 混合 | 边缘20-40/地域;中心50-100 | 边缘内网抓取,中心只聚合少量规则 |
说明:价格浮动随活动和地域变化较大,表中为常见区间。磁盘采用高性能云硬盘一般在0.08-0.2 USD/GB/月区间;公网出流量多在0.05-0.12 USD/GB区间(地域差异明显)。
- 腾讯云折扣充值 优化清单:
- 尽量走内网抓取,Grafana面板通过VPN或堡垒访问。
- 节点标签治理,避免高基数指标;调大抓取间隔到15-30s。
- 分环境(prod/stg/dev)分集群,避免统一实例暴涨。
- 包年包月叠加活动券;磁盘按需扩容,超过阈值再加盘。
常见失败原因与快速排查
- 端口不通:
- 安全组未开9090/3000/9100或源IP未加入白名单。
- 腾讯云折扣充值 系统UFW/iptables拦截;云上放通但OS未放通。
- 无数据/间断:
- 时间不同步:检查chrony;NTP飘移会导致时序断层。
- prometheus.yml实例地址写公网但安全组仅内网放通;标签重写错误。
- 磁盘爆满:
- retention设太久;规则产生高基数时序;WAL积压。
- 处理:临时调短retention,清理旧块,扩容数据盘。
- Grafana无法登录/401:
- 反向代理未透传Host/Authorization;基础认证与Grafana登录叠加冲突。
- 处理:校验proxy_set_header,或改用Grafana内置反代。
- 风控冻结实例:
- 来源于对外扫描或被入侵;立刻下线对外端口、提交工单说明用途、附上配置截图与访问白名单。
实际案例:两种典型落地方式
案例A:华南业务,内外混合监控
- 背景:广州与上海各20台CVM;同时需从办公室查看面板。
- 腾讯云折扣充值 决策:国内站购买两台2核4G,分别在广州/上海;Prometheus各自抓取,Grafana部署在广州,通过企业VPN访问;无公网暴露。
- 成本:实例约2×(人民币百元级/月);无出网费;磁盘各100GB。
- 坑点与解法:最初开放3000到公网触发安全巡检,改为VPN+ACL后通过。
案例B:东南亚出海业务,全球多节点
- 背景:新加坡为主、香港/东京边缘;团队在国内和新马远程办公。
- 决策:国际站在香港/东京各上2核4G边缘Prometheus,新加坡4核8G做汇总;Grafana在新加坡并做Cloudflare Access访问控制;仅80/443对外。
- 支付:Visa信用卡后付,设置每日消费告警50 USD。
- 风控:固定办公出口IP,启用账号MFA,未触发审核。
FAQ:账号、支付、续费与迁移
- Q:没有实名认证能不能买CVM?
- 国内站:基本要求实名认证后才能购买核心资源;国际站:绑卡后可用,但提升配额与开通部分产品需KYC。
- Q:包年到期忘了续费会怎样?
- 会进入关机/保留期,之后资源释放。建议开启自动续费与到期短信/邮箱告警,重要数据磁盘做独立快照备份。
- 腾讯云折扣充值 Q:信用卡扣款失败怎么办?
- 检查3DS、额度与风控;尝试更换卡或改为余额预充值;提交账单地址与证件补充通过人工审核。
- Q:内地地域必须备案吗?
- 对公网提供服务是的;仅内网监控不需要。香港/新加坡不要求备案。
- Q:能不能用Docker一键起?
- 可以,Compose同时拉起Prometheus/Grafana/Alertmanager;但磁盘与持久化目录要明确挂载,升级前做好备份。
- Q:怎么把现有Prometheus迁到新CVM?
- 停旧实例服务→快照/拷贝/var/lib/prometheus至新盘→保持版本一致→启动验证;或直接重建仅保留规则与看板。
- Q:监控公网第三方接口会被判滥用吗?
- 频繁抓取公共API有风险,设置合理速率与User-Agent,确保有授权或遵守对方Rate Limit。
企业认证与团队协作建议
- 企业认证材料:
- 国内站:营业执照、法定代表人/经办人身份证、对公信息。
- 国际站:公司注册证明、税号、受益人信息、经办人护照/驾照,必要时提供银行对账单地址证明。
- 协作与权限:
- 为运维开子账号,最小权限访问CVM与监控盘;Grafana用SSO对接企业身份,避免共享密码。
- 账单中心为监控项目设置独立标签/预算,月度巡检浪费资源(闲置EIP、未挂载磁盘)。
风险清单与预案
- 资源欠费停机:开启余额与账单告警,设置自动充值;关键盘做每日快照。
- 风控冻结:准备用途说明、组织联系人、系统截图;避免对公网开放9100和无鉴权面板。
- 数据丢失:WAL损坏可通过删除损坏段启动;生产必须有快照+异地备份。
- 高基数爆炸:限制动态label(如container_id、pod_uid),在exporter端做drop/keep;评估Remote Write到压缩良好的TSDB。
腾讯云折扣充值 最后的决策速记(可直接采纳)
- 账号:内地业务走国内站且完成备案;出海走国际站香港/新加坡;尽快完成企业认证与MFA。
- 资源:≤30节点用2核4G+100GB;≥100节点分区联邦或远程存储;数据盘独立、每日快照。
- 网络:Prometheus抓取走内网;Grafana仅80/443对外并有WAF/Access或VPN;安全组只放白名单。
- 支付:小规模先按量,稳定后包年;国际站绑两张卡,设50-100 USD月度告警;防止自动续费失败。
- 运维:时钟同步、告警去重、标签治理;升级前做快照;监控系统本身纳入监控与告警。
