最稳方式是直接使用官方预编译二进制包,严禁源码编译(易报__atomic_fetch_add_8错误)或误用企业版单文件(启动报license not found);必须配置systemd的limitnofile=65536、专用用户vmuser及本地ssd存储路径,并开放firewalld端口8428、启用setsebool绕过selinux拦截。

直接用官方预编译二进制启动最稳,别碰源码编译、别用 Docker(除非你明确需要容器隔离),CentOS 7.9 或 Ubuntu 22.04 等主流发行版上,victoria-metrics-prod 单文件扔进 /usr/local/bin 就能跑。
下载与验证二进制包
去 GitHub Releases 页面找 victoria-metrics-*.tar.gz(例如 victoria-metrics-v1.125.1-linux-amd64.tar.gz),不是 -src.zip,也不是单独的 victoria-metrics-prod 企业版链接——后者不开源、不免费,启动会报 license not found。
- 解压后只保留一个可执行文件:
victoria-metrics-prod - 运行
file victoria-metrics-prod应显示statically linked - 运行
./victoria-metrics-prod -version能正常输出版本号,说明无 libc 或 Go 环境依赖
systemd 服务必须配置的三项
裸跑 nohup ./victoria-metrics-prod & 只适合临时验证;生产环境必须用 systemd 托管,否则高写入下易崩溃。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
-
LimitNOFILE=65536:systemd 默认限制是 1024,不够会导致accept: too many open files -
User=vmuser和Group=vmuser:创建专用用户useradd -r -s /bin/false vmuser -
ExecStart中指定的-storageDataPath目录必须由vmuser拥有,且不能是 NFS、autofs、/tmp等路径(SELinux 会拦截 mmap)
存储路径与硬件要求
VictoriaMetrics 对底层存储非常敏感,配错会无声丢数据或严重卡顿。
-
-storageDataPath必须指向本地 SSD,HDD 在-retentionPeriod=12场景下 compaction 延迟飙升 - 目录权限需严格匹配:
chown vmuser:vmuser /data/victoriametrics - 避免使用
/var/tmp或/tmp:SELinux 策略默认阻止 mmap 写入
防火墙与 SELinux 绕过
CentOS 7.9 默认开启 firewalld 和 enforcing 模式的 SELinux,两者都会拦截 :8428 端口。
- 开放端口:
sudo firewall-cmd --permanent --add-port=8428/tcp && sudo firewall-cmd --reload - 允许网络绑定:
sudo setsebool -P httpd_can_network_bind 1 - 漏掉
setsebool,日志里会出现avc: denied { name_bind } for port=8428,进程看似正常但外部无法访问










