VictoriaMetrics 中文教程(02)安装

快猫运营团队 2024-10-18 15:08:59

VictoriaMetrics

在国内 IT 监控领域,上规模的公司极大概率会选型 VictoriaMetrics 作为时序存储,但是 VictoriaMetrics 中文教程较少,我们希望通过这个系列文章,帮助大家更好的了解 VictoriaMetrics,希望对大家有所帮助。本文是 VictoriaMetrics 中文教程第 02 篇,讲解如何安装 VictoriaMetrics。历史文章:

VictoriaMetrics 安装部署

VictoriaMetrics 支持多种不同的安装方式,可以采用二进制安装,或者 Docker 镜像安装,社区还提供了 Kubernetes operator、Helm chart、Ansible playbook 等方式,极为方便。初学者可以选择单机版本的二进制安装,简单到令人发指。

VictoriaMetrics 的发布包可以到它的 Github releases 页面查找:

https://github.com/VictoriaMetrics/VictoriaMetrics/releases

写这个文章的时候,最新的版本是 v1.104.0,我们就以这个版本为例来做介绍。releases 页面下除了 VictoriaMetrics,还有 victorialogs,咱们要下载的是 VictoriaMetrics,注意别搞错了。

VictoriaMetrics assets

总共有 94 个发布包,注意选择适合自己的平台的发布包,我是 Macbook M1 芯片,所以选择 darwin-arm64 的,下载普通版就行,不用下载 enterprise 版本。一键启动,如下:

ulric@ulric-flashcat tgz % ls -al victoria-metrics-darwin-arm64-v1.104.0.tar.gz
-rw-r--r--@ 1 ulric  staff  10854063 10 18 13:08 victoria-metrics-darwin-arm64-v1.104.0.tar.gz
ulric@ulric-flashcat tgz % mkdir victoria-metrics-darwin-arm64-v1.104.0
ulric@ulric-flashcat tgz % tar zxvf victoria-metrics-darwin-arm64-v1.104.0.tar.gz -C victoria-metrics-darwin-arm64-v1.104.0
x victoria-metrics-prod
ulric@ulric-flashcat tgz % cd victoria-metrics-darwin-arm64-v1.104.0
ulric@ulric-flashcat victoria-metrics-darwin-arm64-v1.104.0 % ls -al
total 41288
drwxr-xr-x    3 ulric  staff        96 10 18 13:09 .
drwxr-xr-x@ 101 ulric  staff      3232 10 18 13:09 ..
-rwxr-xr-x    1 ulric  staff  21137410 10  2 19:31 victoria-metrics-prod
ulric@ulric-flashcat victoria-metrics-darwin-arm64-v1.104.0 % ./victoria-metrics-prod
2024-10-18T05:10:14.101Z	info	VictoriaMetrics/lib/logger/flag.go:12	build version: victoria-metrics-20241002-113036-tags-v1.104.0-0-g0d4f4b8f7d
2024-10-18T05:10:14.101Z	info	VictoriaMetrics/lib/logger/flag.go:13	command-line flags
...
2024-10-18T05:10:14.220Z	info	VictoriaMetrics/lib/httpserver/httpserver.go:121	starting server at http://127.0.0.1:8428/
2024-10-18T05:10:14.220Z	info	VictoriaMetrics/lib/httpserver/httpserver.go:122	pprof handlers are exposed at http://127.0.0.1:8428/debug/pprof/

VictoriaMetrics 会在 8428 端口启动一个 HTTP 服务,可以通过浏览器访问 http://IP:8424 来查看 VictoriaMetrics 的 Web 界面。

vmui

我上面是在前台启动的,当然,我们可以把 VictoriaMetrics 作为一个后台服务来启动,这样更加稳定,可以使用 nohup 或者 systemd 来启动。这是 Linux 基础知识,这里就不展开了。

另外,命令行启动 VictoriaMetrics 时,可以传入一些参数,如下参数极为关键:

  • -storageDataPath - VictoriaMetrics 将所有数据存储在此目录中。默认路径是当前工作目录中的 victoria-metrics-data
  • -retentionPeriod - 存储数据的保留。较旧的数据将被自动删除。默认保留期为 1 个月(31 天)。最短保留期限为24小时或1天。很多人说,我的数据为啥没有一直保存,历史数据怎么被删了,就是因为默认 VictoriaMetrics 只存储 1 个月的数据,如果你想保存更长时间的数据,可以通过这个参数来设置。

更多参数,可以通过 ./victoria-metrics-prod -help 来查看。

VictoriaMetrics 使用环境变量

VictoriaMetrics 的各种配置基本都是通过命令行参数的方式,命令行参数支持引用环境变量,另外 VictoriaMetrics 指定的一些配置文件里,也支持引用环境变量。引用环境变量的写法是:%{ENV_VAR},比如 -metricsAuthKey=%{METRICS_AUTH_KEY}。如果 VictoriaMetrics 启动时存在 METRICS_AUTH_KEY=top-secret 环境变量,则自动扩展为 -metricsAuthKey=top-secret。此扩展由 VictoriaMetrics 本身执行。

VictoriaMetrics 在启动时递归扩展环境变量中的 %{ENV_VAR} 引用。例如,如果 BAR=a%{BAZ}BAZ=bc ,则 FOO=%{BAR} 环境变量将扩展为 FOO=abc。此外,所有 VictoriaMetrics 组件都允许根据以下规则通过环境变量设置参数:

  • 必须设置 -envflag.enable 标志
  • 命令行 flag 中的 . 要被替换为 _(例如 -insert.maxQueueDuration <duration> 将翻译为 insert_maxQueueDuration=<duration>
  • 对于重复的 flag,可以使用逗号分隔的值列表(例如 -storageNode <nodeA> -storageNode <nodeB> 将转换为 storageNode=<nodeA>,<nodeB>
  • 环境变量前缀可以通过 -envflag.prefix 标志设置。例如,如果 -envflag.prefix=VM_ ,则环境变量必须以VM_开头。

作为 Windows 服务运行

为了将 VictoriaMetrics 作为 Windows 服务运行,需要为 WinSW 创建服务配置,然后根据以下指南将其安装为服务:

  1. 创建服务配置:
<service>
  <id>VictoriaMetrics</id>
  <name>VictoriaMetrics</name>
  <description>VictoriaMetrics</description>
  <executable>%BASE%\victoria-metrics-windows-amd64-prod.exe</executable>

  <onfailure action="restart" delay="10 sec"/>
  <onfailure action="restart" delay="20 sec"/>

  <resetfailure>1 hour</resetfailure>

  <arguments>-envflag.enable</arguments>

  <priority>Normal</priority>

  <stoptimeout>15 sec</stoptimeout>

  <stopparentprocessfirst>true</stopparentprocessfirst>
    <startmode>Automatic</startmode>
    <waithint>15 sec</waithint>
    <sleeptime>1 sec</sleeptime>

  <logpath>%BASE%\logs</logpath>
  <log mode="roll">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>

  <env name="loggerFormat" value="json" />
  <env name="loggerOutput" value="stderr" />
  <env name="promscrape_config" value="C:\Program Files\victoria-metrics\promscrape.yml" />

</service>
  1. 按照本文档安装 WinSW。

  2. 在 PowerShell 中运行以下命令以安装服务:

winsw install VictoriaMetrics.xml
Get-Service VictoriaMetrics | Start-Service

请参阅此 issue 了解更多详细信息。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat