资讯动态

DigitalOcean One-Click Droplet 部署 VictoriaMetrics Single:从创建实例到多协议监控接入的实战指南

发布时间:2026/9/15 4:41:46 来源:尧图企业网站定制
DigitalOcean One-Click Droplet 部署 VictoriaMetrics Single从创建实例到多协议监控接入的实战指南【免费下载链接】VictoriaMetricsVictoriaMetrics: fast, cost-effective monitoring solution and time series database项目地址: https://gitcode.com/GitHub_Trending/vi/VictoriaMetricsVictoriaMetrics 是一款快速、可扩展的开源时间序列数据库TSDB与监控解决方案面向实时指标的采集、存储与处理。本文围绕 VictoriaMetrics 官方在 DigitalOcean Marketplace 上发布的 One-Click Droplet 镜像展开完整梳理该镜像预置的架构布局、启动参数、抓取与推送协议端口、vmui 查询界面以及安全加固方式帮助你在一台云主机上快速获得一个可长期运行的单机监控平台并具备将数据接入 Prometheus、Graphite、InfluxDB、OpenTSDB 等生态的完整能力。一、镜像概览这是一个开箱即用的监控单机方案VictoriaMetrics 是免费开源的时间序列数据库TSDB和监控解决方案用于采集、存储和处理实时指标。它同时支持 Prometheus 的 Pull 拉取模型以及 Graphite、InfluxDB、OpenTSDB 等多种 Push 推送协议的数据写入在存储层面针对高延迟 IO、低 IOPS 和高指标流失率high churn rate场景做了专门优化。查询与告警评估方面支持 PromQL、MetricsQL 和 Graphite 查询语言。该 One-Click 镜像部署的是VictoriaMetrics Single单机版一个完全自治、可作为时间序列长期存储的独立进程。它适合中小规模环境单实例即可承担完整监控职责这也是本镜像“开箱即用”的定位所在。镜像内部的安装与初始化脚本全部保存在仓库的 deployment/marketplace/digitialocean/one-click-droplet 目录中主要包括scripts/01-setup.sh创建victoriametrics系统用户与数据目录/var/lib/victoria-metrics-data并执行系统更新scripts/02-firewall.sh配置 UFW 防火墙并放行各协议端口scripts/04-install-victoriametrics.sh下载官方 release 二进制victoria-metrics-prod并注册 systemd 服务。二、镜像预置配置启动参数、数据目录与服务管理创建 Droplet 后VictoriaMetrics 以 systemd 服务形式运行。服务单元文件为 files/etc/systemd/system/vmsingle.service其关键设计如下以victoriametrics专用系统用户运行工作目录为/var/lib/victoria-metrics-data通过EnvironmentFile/etc/victoriametrics/single/victoriametrics.conf加载启动参数ExecReload/bin/kill -HUP $MAINPID向进程发送 SIGHUP 即可热重载配置无需重启服务设置了LimitNOFILE1048576、LimitNPROC1048576等较高资源上限并为存储卷启用ProtectSystemfull只读保护。镜像实际传给 VictoriaMetrics 的启动参数定义在 files/etc/victoriametrics/single/victoriametrics.confARGS-promscrape.config/etc/victoriametrics/single/scrape.yml -storageDataPath/var/lib/victoria-metrics-data -retentionPeriod12 -httpListenAddr:8428 -graphiteListenAddr:2003 -opentsdbListenAddr:4242 -influxListenAddr:8089 -enableTCP6各参数含义与对应源码位置如下参数含义源码参考-promscrape.configPrometheus 兼容的抓取配置路径由 app/victoria-metrics/main.go 中的-dryRun检查与lib/promscrape共同处理-storageDataPath数据存储目录默认即/var/lib/victoria-metrics-datavmstorage数据路径-retentionPeriod12数据保留期为 12 个月到期数据自动删除vmstorage保留期参数-httpListenAddr:8428主 HTTP 端口查询、抓取、vmui、/metrics等app/victoria-metrics/main.go 中-httpListenAddr默认值为:8428-graphiteListenAddr:2003Graphite含 statsd写入端口同时监听 TCP/UDPvminsertGraphite 协议处理-opentsdbListenAddr:4242OpenTSDB 写入端口vminsertOpenTSDB 协议处理-influxListenAddr:8089InfluxDB 行协议telegraf写入端口TCP/UDPvminsertInflux 协议处理-enableTCP6启用 IPv6 TCP 监听网络监听参数VictoriaMetrics 单机版将所有写入与查询能力聚合在同一个二进制与 HTTP 端口中从 app/victoria-metrics/main.go 的requestHandler可以看到/根路径会列出 vmui、targets、service-discovery、config、metrics、flags 等内置端点随后依次交给vminsert写入、vmselect查询、vmstorage存储处理这正是单机版“一个进程全搞定”的架构基础。三、首次访问SSH 连接与基础验证Droplet 创建完成后既可以使用 DigitalOcean 的 Web 控制台启动会话也可以直接以 root 身份 SSH 登录ssh rootyour_droplet_public_ipv4登录后可用以下命令确认服务状态与版本systemctl status vmsingle /usr/bin/victoria-metrics-prod --versionVictoriaMetrics 的主 HTTP 端点含/metrics自监控指标位于http://your_droplet_public_ipv4:8428。-httpListenAddr的默认值:8428同样在 app/victoria-metrics/main.go 中定义listenAddrs []string{:8428}说明即使不使用镜像参数8428 也是单机版的标准入口。四、配置抓取像 Prometheus 一样拉取目标指标VictoriaMetrics 支持与 Prometheus 完全一致的指标抓取scraping方式。镜像默认的抓取配置位于/etc/victoriametrics/single/scrape.yml对应仓库中的 files/etc/victoriametrics/single/scrape.yml# Scrape config example # scrape_configs: - job_name: self_scrape scrape_interval: 10s static_configs: - targets: [127.0.0.1:8428]镜像默认只抓取 VictoriaMetrics 自身的/metrics端点self_scrape每 10 秒一次用于自监控。如需接入更多被监控目标可按 Prometheus 的scrape_configs语法追加job_name、static_configs、scrape_interval等配置例如添加 Node Exporter 或业务应用暴露的指标端点。编辑完成后执行热重载使其生效systemctl reload vmsingle热重载依赖服务单元中的ExecReload/bin/kill -HUP $MAINPID指令。另外VictoriaMetrics 支持-dryRun启动参数预检-promscrape.config的合法性见 app/victoria-metrics/main.go 中的-dryRun逻辑在改动抓取配置后可以用该模式先行校验避免错误配置导致抓取任务全部失败。五、写入指标四种协议、四个端口除了主动抓取镜像还预置了多个写入协议的监听端口可接收不同生态的指标推送。各协议对应端口如下协议端口传输方式说明Datadog、Influxtelegraf、JSON 行格式、CSV、Prometheus exposition 格式:8428TCP与主 HTTP 端口共用具体写入路径不同Graphite含 statsd:2003TCP / UDP由-graphiteListenAddr开启OpenTSDB:4242TCP由-opentsdbListenAddr开启Influxtelegraf:8089TCP / UDP由-influxListenAddr开启其中 8428 端口承载的写入能力最丰富包括Prometheus exposition 格式POST http://your_droplet_public_ipv4:8428/api/v1/write兼容 remote writeJSON 行格式导入POST /api/v1/import每行一个 JSON 指标对象CSV 导入POST /api/v1/import/csv按列格式写入Datadog 协议POST /api/v1/datadog/系列端点InfluxDB 兼容写入POST /write。上述协议的解析与路由在vminsert组件中实现仓库对应实现位于 app/vminsert 目录含datadogv1、datadogv2、influx、graphite、opentsdb、opentsdbhttp、prometheusimport、csvimport等子包可据此了解各协议的路径与数据格式约定。六、查询验证vmui 界面与 curl 快速测试VictoriaMetrics 内置 Web UIvmui用于查询排障与数据探索地址为http://your_droplet_public_ipv4:8428/vmuivmui 支持以图表graph和表格table两种方式呈现查询结果。镜像 README 给出的首个验证查询是自监控指标vm_app_uptime_seconds在浏览器打开上述地址后将该指标名输入 Query Field 并执行即可看到 VictoriaMetrics 运行时长的时间序列曲线从而确认抓取、存储、查询整条链路工作正常。在不使用浏览器的情况下也可以用curl直接调用 HTTP API 验证README 中的示例curl -sg http://your_droplet_public_ipv4:8428/api/v1/query_range?queryvm_app_uptime_seconds | jq该命令通过query_range接口对vm_app_uptime_seconds执行范围查询并使用jq格式化返回的 JSON。vm_app_uptime_seconds系列来自 VictoriaMetrics 自身的/metrics自监控指标由self_scrape抓取任务产生因此即使尚未接入任何外部数据源也能通过它验证端到端可用性。除 vmui 外8428 端口还暴露了/-/reload重载配置、/flags当前运行参数、/config当前抓取配置等运维端点。七、安全加固按需裁剪端口与防火墙策略镜像默认开放了 8428、2003、4242、8089 四个端口以接收不同协议的指标但这同时也意味着更大的攻击面。官方建议关闭不需要的协议端口。Droplet 上的防火墙为 Ubuntu 的 UFWUncomplicated Firewall初始化规则由 scripts/02-firewall.sh 写入允许 SSH、HTTP、HTTPS 以及 VictoriaMetrics 相关端口。若要禁止某个协议的外部访问可直接删除对应规则例如禁止 OpenTSDB 端口 4242ufw delete allow 4242 ufw status注意事项若只使用 8428 端口完成抓取与写入建议同时关闭 2003、4242、8089 的入站规则减少不必要的暴露删除防火墙规则只是阻止外部访问VictoriaMetrics 进程本身仍会监听这些端口参数在victoriametrics.conf中如需彻底停用某协议应从ARGS中移除对应的-graphiteListenAddr/-opentsdbListenAddr/-influxListenAddr参数然后systemctl restart vmsingle抓取自身指标的self_scrape目标为127.0.0.1:8428属于本地回环地址不受 UFW 入站规则影响。八、日常运维要点基于镜像提供的 systemd 服务常用运维操作如下systemctl status vmsingle # 查看运行状态与最近日志 systemctl reload vmsingle # 热重载抓取配置SIGHUP systemctl restart vmsingle # 重启如修改了启动参数 journalctl -u vmsingle -f # 实时查看服务日志VictoriaMetrics 数据存储在/var/lib/victoria-metrics-data默认保留期 12 个月-retentionPeriod12可结合 Droplet 磁盘容量评估是否需要调整。若将单机版用作长期存储并计划备份可参考仓库中vmbackup与vmrestore相关组件见 app/vmbackup 与 app/vmrestore设计备份策略不过本镜像默认未安装额外备份组件仅内置 VictoriaMetrics Single 本体。九、镜像文件与构建说明如果你希望复现该镜像的构建过程DigitalOcean Marketplace 部分提供了完整的构建工具链template.pkr.hclHashiCorp Packer 模板定义镜像的构建来源与 provisioning 阶段Makefile 与 RELEASE_GUIDE.md镜像构建与发布的流程指引scripts/89-cleanup-logs.sh 与 scripts/90-cleanup.sh构建完成后清理日志、敏感文件并安全擦除磁盘剩余空间保证发布镜像干净合规scripts/99-img-check.shDigitalOcean 官方镜像校验工具在发布前检查防火墙、安全更新、SSH 密钥残留等合规项。上述脚本共同保证了镜像的可复现性与 Marketplace 发布合规性也是理解“One-Click 镜像到底做了什么”的第一手资料。总结通过 DigitalOcean One-Click Droplet你可以在数分钟内获得一套完整可用的 VictoriaMetrics Single 监控平台systemd 托管进程、12 个月数据保留、Prometheus 风格抓取、四种写入协议端口、vmui 查询界面一应俱全。日常使用只需掌握三个动作编辑/etc/victoriametrics/single/scrape.yml添加抓取目标、按需裁剪 UFW 端口、通过systemctl管理服务生命周期。对于中小规模监控场景这套镜像足以作为长期运行的时序数据基础设施直接投入使用。【免费下载链接】VictoriaMetricsVictoriaMetrics: fast, cost-effective monitoring solution and time series database项目地址: https://gitcode.com/GitHub_Trending/vi/VictoriaMetrics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价