VictoriaMetrics Observability Blog

Filter: Monitoring

Full-Stack Observability with VictoriaMetrics in the OTel Demo

The OpenTelemetry Astronomy Shop demo has long served as a reference environment for exploring observability in distributed systems, but until now it shipped with only a Prometheus datasource. VictoriaMetrics forked the demo and extended it with VictoriaMetrics, VictoriaLogs, and VictoriaTraces, providing insights into VictoriaMetrics’ observability stack where metrics, logs, and traces flow into a unified backend.

Alerting Best Practices

Proper alerting is an art. It is all about foreseeing bad scenarios before they happen, so you can prepare for them. In this article, we go through practical recommendations of approaching the alerting to reduce alerting fatigue and avoid false positives.

vmagent: Key Features Explained in Under 15 Minutes

vmagent is a lightweight agent for collecting and forwarding metrics to remote storage. It supports relabeling, sharding, replication, aggregation, deduplication, and disk buffering to ensure reliable and efficient metric delivery.

VictoriaMetrics Components: Getting Started

VictoriaMetrics is a fast, scalable monitoring system made of modular components like vminsert, vmstorage, and vmselect. It supports both single-node and clustered setups, along with tools for backup, restore, alerting, access control, and data migration. Data can be ingested, stored, queried, backed up, and restored with high performance and minimal resource use.

Prometheus Monitoring: Functions, Subqueries, Operators, and Modifiers

Prometheus querying involves multiple moving parts: functions, operators, modifiers, and subqueries. Small differences in how vectors are handled or rollups are applied can lead to completely different outcomes or errors. MetricsQL extends PromQL by handling these edge cases more gracefully with features like default rollups.

Don’t default to microservices: You’ll thank us later!

We believe microservices shouldn’t be the default and that companies should start with monoliths until reality actually demands they scale and shift from one node to a cluster of nodes. As a result, we offer clustering on an open source basis because we want to support realistic growth. Read on for details!

Container CPU Requests & Limits Explained with GOMAXPROCS Tuning

When running Go apps in Kubernetes, default CPU thread scheduling can conflict with cgroup CPU limits. The runtime sees all host CPUs, but the container may only be allowed a fraction of one. This often leads to early throttling. Properly configuring GOMAXPROCS avoids this waste and improves stability.

Prometheus Alerting 101: Rules, Recording Rules, and Alertmanager

Recording rules can transform complex PromQL queries into pre-computed metrics, eliminating repeated calculation overhead. When organized in groups, these alerting and recording rules can be precisely scheduled to run at specific times like 01:30, 02:30, and even execute in parallel for maximum efficiency.

Inside vmselect: The Query Processing Engine of VictoriaMetrics

The article explains vmselect’s core functionalities: concurrent request processing, query parsing and validation, data fetching and merging from vmstorage nodes, and memory-efficient result caching.

Practical Protobuf - From Basic to Best Practices

Different Protobuf types dramatically impact your binary size—sint32 encoding needs just 1 byte for negative numbers while int32 wastes 10 bytes, repeated fields can balloon with large tag numbers, and poor type choices can triple your network traffic. Learn the exact patterns to optimize your Protobuf messages for production.