Skip to content

Commit

Permalink
docs: move keyconcepts to separate dir (VictoriaMetrics#6855)
Browse files Browse the repository at this point in the history
Moving key-concepts-related docs to a separate dir should make it easier
to navigate in `docs/` folder and helps to avoid adding prefixes to
image assets.

-----------

The change shouldn't have any visual changes or changes to the links.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
  • Loading branch information
hagen1778 authored Aug 21, 2024
1 parent 9dc8d1d commit 22975d2
Show file tree
Hide file tree
Showing 18 changed files with 14 additions and 14 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
28 changes: 14 additions & 14 deletions docs/keyConcepts.md → docs/keyConcepts/keyConcepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ So, the `counter` metric shows the number of observed events since the service s

In programming, `counter` is a variable that you **increment** each time something happens.

![counter](keyConcepts_counter.webp)
![counter](counter.webp)

`vm_http_requests_total` is a typical example of a counter. The interpretation of a graph
above is that time series `vm_http_requests_total{instance="localhost:8428", job="victoriametrics", path="api/v1/query_range"}`
Expand All @@ -161,7 +161,7 @@ by humans from other metric types.

Gauge is used for measuring a value that can go up and down:

![gauge](keyConcepts_gauge.webp)
![gauge](gauge.webp)

The metric `process_resident_memory_anon_bytes` on the graph shows the memory usage of the application at every given time.
It is changing frequently, going up and down showing how the process allocates and frees the memory.
Expand Down Expand Up @@ -259,7 +259,7 @@ Such a combination of `counter` metrics allows
plotting [Heatmaps in Grafana](https://grafana.com/docs/grafana/latest/visualizations/heatmap/)
and calculating [quantiles](https://prometheus.io/docs/practices/histograms/#quantiles):

![histogram](keyConcepts_histogram.webp)
![histogram](histogram.webp)

Grafana doesn't understand buckets with `vmrange` labels, so the [prometheus_buckets](https://docs.victoriametrics.com/metricsql/#prometheus_buckets)
function must be used for converting buckets with `vmrange` labels to buckets with `le` labels before building heatmaps in Grafana.
Expand Down Expand Up @@ -301,7 +301,7 @@ go_gc_duration_seconds_count 83

The visualization of summaries is pretty straightforward:

![summary](keyConcepts_summary.webp)
![summary](summary.webp)

Such an approach makes summaries easier to use but also puts significant limitations compared to [histograms](#histogram):

Expand Down Expand Up @@ -372,7 +372,7 @@ VictoriaMetrics supports both models used in modern monitoring applications: [pu

Client regularly sends the collected metrics to the server in the push model:

![push model](keyConcepts_push_model.webp)
![push model](push_model.webp)

The client (application) decides when and where to send its metrics. VictoriaMetrics supports many protocols
for data ingestion (aka `push protocols`) - see [the full list here](https://docs.victoriametrics.com/#how-to-import-time-series-data).
Expand Down Expand Up @@ -417,7 +417,7 @@ The cons of push protocol:
Pull model is an approach popularized by [Prometheus](https://prometheus.io/), where the monitoring system decides when
and where to pull metrics from:

![pull model](keyConcepts_pull_model.webp)
![pull model](pull_model.webp)

In pull model, the monitoring system needs to be aware of all the applications it needs to monitor. The metrics are
scraped (pulled) from the known applications (aka `scrape targets`) via HTTP protocol on a regular basis (aka `scrape_interval`).
Expand Down Expand Up @@ -448,7 +448,7 @@ models for data collection. Many installations use exclusively one of these mode

The most common approach for data collection is using both models:

![data collection](keyConcepts_data_collection.webp)
![data collection](data_collection.webp)

In this approach the additional component is used - [vmagent](https://docs.victoriametrics.com/vmagent/). Vmagent is
a lightweight agent whose main purpose is to collect, filter, relabel and deliver metrics to VictoriaMetrics.
Expand All @@ -463,7 +463,7 @@ installation for querying collected data.

VictoriaMetrics components allow building more advanced topologies. For example, vmagents can push metrics from separate datacenters to the central VictoriaMetrics:

![two dcs](keyConcepts_two_dcs.webp)
![two dcs](two_dcs.webp)

VictoriaMetrics in this example may be either [single-node VictoriaMetrics](https://docs.victoriametrics.com/single-server-victoriametrics/)
or [VictoriaMetrics Cluster](https://docs.victoriametrics.com/cluster-victoriametrics/). Vmagent also allows
Expand Down Expand Up @@ -527,7 +527,7 @@ foo_bar 4.00 1652170560000 # 2022-05-10 10:16:00
The data above contains a list of samples for the `foo_bar` time series with time intervals between samples
ranging from 1m to 3m. If we plot this data sample on the graph, it will have the following form:

![data samples](keyConcepts_data_samples.webp)
![data samples](data_samples.webp)
{width="500"}

To get the value of the `foo_bar` series at some specific moment of time, for example `2022-05-10 10:03:00`, in
Expand Down Expand Up @@ -562,7 +562,7 @@ In response, VictoriaMetrics returns a single sample-timestamp pair with a value
we'll see that there is no raw sample at `2022-05-10 10:03`. When there is no raw sample at the
requested timestamp, VictoriaMetrics will try to locate the closest sample before the requested timestamp:

![instant query](keyConcepts_instant_query.webp)
![instant query](instant_query.webp)
{width="500"}

The time range in which VictoriaMetrics will try to locate a replacement for a missing data sample is equal to `5m`
Expand Down Expand Up @@ -703,7 +703,7 @@ see that it contains only 13 raw samples. What happens here is that the range qu
an [instant query](#instant-query) executed `1 + (start-end)/step` times on the time range from `start` to `end`. If we plot
this request in VictoriaMetrics the graph will be shown as the following:

![range query](keyConcepts_range_query.webp)
![range query](range_query.webp)
{width="500"}

The blue dotted lines in the figure are the moments when the instant query was executed. Since the instant query retains the
Expand Down Expand Up @@ -745,13 +745,13 @@ This flag prevents from non-consistent results due to the fact that only part of

Here is an illustration of a potential problem when `-search.latencyOffset` is set to zero:

![without latency offset](keyConcepts_without_latencyOffset.webp)
![without latency offset](without_latencyOffset.webp)
{width="1000"}

When this flag is set, the VM will return the last metric value collected before the `-search.latencyOffset`
duration throughout the `-search.latencyOffset` duration:

![with latency offset](keyConcepts_with_latencyOffset.webp)
![with latency offset](with_latencyOffset.webp)
{width="1000"}

It can be overridden on per-query basis via `latency_offset` query arg.
Expand Down Expand Up @@ -950,7 +950,7 @@ VictoriaMetrics has a built-in graphical User Interface for querying and visuali
[VMUI](https://docs.victoriametrics.com/single-server-victoriametrics/#vmui).
Open `http://victoriametrics:8428/vmui` page, type the query and see the results:

![vmui](keyConcepts_vmui.webp)
![vmui](vmui.webp)

VictoriaMetrics supports [Prometheus HTTP API](https://docs.victoriametrics.com/single-server-victoriametrics/#prometheus-querying-api-usage)
which makes it possible to [query it with Grafana](https://docs.victoriametrics.com/single-server-victoriametrics/#grafana-setup)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 22975d2

Please sign in to comment.