跳到主要内容
版本:3.1.0(预览)

部署和操作监控

Ambari 管理的 VictoriaMetrics 单节点与集群拓扑

拓扑组件作用
deployment_mode=single一个 VICTORIAMETRICS_SERVER 和至少一个 VMAGENT一个存储进程处理写入和查询
deployment_mode=clusterVMSTORAGEVMINSERTVMSELECTVMAGENT分离存储、写入和读取角色
可选 VMAUTH位于选定写入/读取拓扑之前提供稳定网关,可选择启用配置的身份验证

不要将两种存储模式都分配为独立的必需 master。服务脚本会在启动组件前验证拓扑。请根据实际工作负载规划存储、复制、抓取频率和队列容量;默认值不是容量建议。

通过 Ambari 安装

  1. 打开 Add Service,或在集群安装期间选择 VictoriaMetrics。
  2. 为选定拓扑分配组件。对于小型初始部署,选择包含 VictoriaMetrics Server 和 VMAGENT 的单节点模式;需要网关时添加 VMAUTH。
  3. 检查 victoriametricsvictoriametrics-scrapevictoriametrics-authvictoriametrics-env 配置类型。
  4. 除非需要明确管理的替代身份,否则保留 managed_discovery_identity=true。Ambari 会在首次启动 VMAGENT 前配置集群范围身份和发现配置。不要在抓取模板中替换为管理员密码。
  5. 配置发现协议、端口和 CA,使其匹配已部署的 Ambari API。对于已验证的 TLS,保留 ambari_sd_tls_insecure_skip_verify=false
  6. 通过服务工作流启动存储组件、可选网关和 VMAGENT。等待后台请求完成,并在重试前检查各任务的失败情况。
  7. 分别确认组件状态、已发现目标、近期样本和数据源查询。

关键默认值

配置默认值含义
Agent [prometheus] enabledtrue(Linux 上)启动内置收集器
Agent bind_address / port0.0.0.0 / 9101使用接口/防火墙策略限制可达性
Server prometheus.agent.metrics.port必须匹配 Agent 端口HTTP 发现公布的端口
scrape_interval / scrape_timeout30s / 10sVMAGENT 抓取时序
http_sd_refresh_interval30s发现刷新间隔
retention_period12VictoriaMetrics 将其解释为月;也支持 30d 等显式值
remote_write_max_disk_usage10GB每个远程写入 URL 的队列限制
vmagent_replication_factor1, 最大 2抓取冗余,与存储复制分离
require_authenticationfalse需要时启用并配置 VMAUTH 身份验证

Agent 端口更改必须与 Server 发现配置协调。更改抓取端点不同于更改 Stack 组件自身的 Web UI 端口。

网络路径

连接默认目标端口
VMAGENT 到 Ambari 发现Ambari API 端口,默认为 8080;启用 HTTPS 时使用已配置的 HTTPS 端点
VMAGENT 到 Agent9101
单节点摄取/查询8428
VMINSERT / VMSELECT HTTP8480 / 8481
VMSTORAGE HTTP / insert / select8482 / 8400 / 8401
VMAGENT HTTP / VMAUTH8429 / 8427

Agent 收集器没有应用层身份验证。VMAUTH 凭据保护其网关,而不是 Agent 端口。请分别限制两条路径。

验证各层

在 Agent 主机上验证收集器健康状态和主机指标:

curl --fail http://127.0.0.1:9101/-/healthy
curl --fail http://127.0.0.1:9101/metrics

从有权管理的环境验证发现。为安装设置 URL 和集群;curl 会提示输入用户密码,而不是将密码放入命令中:

export AMBARI_URL=https://ambari.example.com:8443
export AMBARI_USER=metrics-reader
export CLUSTER_NAME=cluster1
curl --fail --user "$AMBARI_USER" "$AMBARI_URL/api/v1/clusters/$CLUSTER_NAME/prometheus_targets"

收集器健康并不意味着每个组件抓取都正常。在explorer的 Monitoring > Targets 中使用 up{cluster="cluster1",ambari_target="host"}。只有从发现结果获得实际路由 ID 后,才打开已发现的组件路由。

故障和恢复

症状检查
收集器无响应Agent 日志、收集器启用状态/绑定/端口、防火墙以及主机是否为 Linux
发现返回 401/403身份凭据、集群指标查看授权、API 协议/端口和 CA
主机目标正常但组件目标失败有效组件配置、上游端点、配置匹配、keytab/主体和 TLS
目标正常但图表为空数据源 URL、集群选择器、时间范围、远程写入路径、存储健康状态和摄取延迟
队列增长远程写入可达性、存储容量、网关身份验证和队列磁盘空间
分配更新被拒绝描述符/配置验证和 Agent 日志;最后有效分配仍保持活动状态

除非有意覆盖,否则保留默认的托管 URL 派生方式。错误的 remote_write_url 可能绕过预期网关或选择错误租户。拓扑或配置更改后,再次验证发现、写入和读取。

实现参考

请参阅固定版本的服务脚本和模板遥测架构