Sobes.tech
Middle+

Como trabalhar com VictoriaMetrics?

sobes.tech IA

Resposta da IA

VictoriaMetrics é uma base de dados escalável e resistente a falhas para séries temporais. Os passos principais de trabalho:

  1. Instalação e execução: Pode usar ficheiros binários, imagens Docker ou Helm charts para Kubernetes.
# Exemplo de execução com Docker
docker run -d --name victoria --pull always -p 8428:8428 victoriadataservices/victoria-metrics:latest
  1. Ingestão de dados:
  • Pull (scraping Prometheus): VictoriaMetrics é compatível com o protocolo Prometheus. Configurado num ficheiro de configuração, indicando os targets para recolha.
# victoria.yaml - exemplo de configuração para recolha com node_exporter
scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']
storage:
  path: /victoria/data

Ao iniciar com esta configuração:

docker run -d --name victoria --pull always -p 8428:8428 -v $(pwd)/victoria.yaml:/etc/victoria-metrics-cluster/victoria.yaml victoriadataservices/victoria-metrics:latest --config /etc/victoria-metrics-cluster/victoria.yaml
  • Push: Suporta múltiplos protocolos, incluindo InfluxDB line protocol, Graphite, OpenTSDB, Prometheus remote write.
# Exemplo de envio de dados via remote write
curl -X POST -H "Content-Type: application/x-protobuf" --data-binary @metrics.proto http://localhost:8428/api/v1/write
  1. Consultas de dados: Usa PromQL (linguagem de consulta Prometheus). As consultas são feitas via API HTTP ou interface web.
  • Web UI (VMUI): Abrindo http://localhost:8428 no navegador, pode executar consultas PromQL.
  • API HTTP:
# Exemplo de consulta à API
curl 'http://localhost:8428/api/v1/query?query=up'
  1. Visualização: Integra-se com Grafana, suportando a fonte de dados Prometheus.
  2. Alta disponibilidade e escalabilidade: VictoriaMetrics oferece uma versão em cluster para alta disponibilidade e escalabilidade horizontal, separando os componentes vmstorage, vminsert, vmselect.
  3. Administração: Monitoramento do estado com métricas integradas, gestão de políticas de retenção, backups e recuperação.

O processo inclui configurar fontes de métricas, recolha de dados em VictoriaMetrics, criar dashboards no Grafana e usar PromQL para análise de dados. É importante planear corretamente a retenção e considerar os requisitos de recursos.