2021年12月16日木曜日

VictoriaMetrics 超入門

VictoriaMetrics 超入門

概要

VictoriaMetrics はサーバなどのメトリックデータを収集し時系列データとして可視化することができる監視ツールです

Prometheus のメトリックデータも収集することができます
今回は VictoriaMetrics を構築し簡単なメトリックの収集までやってみました

環境

  • macOS 11.6.1
  • docker 20.10.11
  • VictoriaMetrics 20211202-133618-tags-v1.70.0-0-g7f2f26b25

node_exporter の起動

テストなので mac 上で起動します

prometheus.yml の準備

VictoriaMetorics は prometheus.yml をそのまま使うことができます

先程準備した node_exporter を scrape 先として設定します

  • mkdir config
  • vim config/prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'node_exporter_on_mac'
    static_configs:
    - targets: ['192.168.1.2:9100']

VictoriaMetorics の起動

今回は docker で構築します
公式のイメージが dockerhub で公開されているのでそれを使います

  • mkdir data
  • docker run -d -v $(pwd)/data:/victoria-metrics-data -p 8428:8428 victoriametrics/victoria-metrics

これで http://localhost:8428 にアクセスすると管理画面が表示されます
ここで WebUI にアクセスしたり scrape 先の設定できます

http://localhost:8428/targets を確認するとちゃんと先程起動した node_export がターゲットに入っていることが確認できます

オプション確認

各種オプションは以下のコマンドで確認できます

  • docker run --rm victoriametrics/victoria-metrics --help

動作確認

Promethues の API 互換でもあるので API を使います

  • curl 'http://localhost:8428/api/v1/query?query=up'

これで以下の結果が取得できればちゃんとメトリックデータが VictoriaMetrics に格納されていることが確認できます

{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"up","instance":"192.168.1.2:9100","job":"node_exporter_on_mac"},"value":[1639445877,"1"]}]}}

PromQL も使えます
http://localhost:8428/vmui にアクセスすると VictoriaMetrics 専用の PromQL をコールできる UI が表示されるのでここで PromQL を発行しましょう

up{job="node_exporter_on_mac"}

と入力して実行すると以下のようにメトリックがグラフで確認できるはずです

最後に

今回はシングルノードでしたが VictoriaMetrics はクラスタ構成も組めるので大量のメトリックデータを管理保管することができます

Prometheus 互換でもあるので Prometheus の代替としても使えます
node_exporter などのエクスポータのデータも簡単に取り込めました

参考サイト

0 件のコメント:

コメントを投稿