From 5bd3518e4d08515f7476c4028b29f70c52645dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo?= <62244135+joaopaulobdac@users.noreply.github.com> Date: Fri, 5 Nov 2021 15:44:02 -0300 Subject: [PATCH] docs: fix multiple typos (#1787) Co-authored-by: Aliaksandr Valialkin --- docs/CaseStudies.md | 2 +- docs/MetricsQL.md | 2 +- docs/vmalert.md | 26 +++++++++++++------------- docs/vmbackup.md | 20 ++++++++++---------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/CaseStudies.md b/docs/CaseStudies.md index ec2386f08..294982002 100644 --- a/docs/CaseStudies.md +++ b/docs/CaseStudies.md @@ -494,7 +494,7 @@ Numbers: Numbers: -* The number of active time series per VictoriaMetrics instance is 50 millios. +* The number of active time series per VictoriaMetrics instance is 50 millions. * The total number of time series per VictoriaMetrics instance is 5000 million. * Ingestion rate per VictoriaMetrics instance is 1.1 millions data points per second. * The total number of datapoints per VictoriaMetrics instance is 8.5 trillion. diff --git a/docs/MetricsQL.md b/docs/MetricsQL.md index cfc6c9712..3ef364079 100644 --- a/docs/MetricsQL.md +++ b/docs/MetricsQL.md @@ -18,7 +18,7 @@ The following functionality is implemented differently in MetricsQL compared to * MetricsQL returns the expected non-empty responses for [rate](#rate) with `step` values smaller than scrape interval. This addresses [this issue from Grafana](https://github.com/grafana/grafana/issues/11451). See also [this blog post](https://www.percona.com/blog/2020/02/28/better-prometheus-rate-function-with-victoriametrics/). * MetricsQL treats `scalar` type the same as `instant vector` without labels, since subtle differences between these types usually confuse users. See [the corresponding Prometheus docs](https://prometheus.io/docs/prometheus/latest/querying/basics/#expression-language-data-types) for details. * MetricsQL removes all the `NaN` values from the output, so some queries like `(-1)^0.5` return empty results in VictoriaMetrics, while returning a series of `NaN` values in Prometheus. Note that Grafana doesn't draw any lines or dots for `NaN` values, so the end result looks the same for both VictoriaMetrics and Prometheus. -* MetricsQL keeps metric names after applying functions, which don't change the meaining of the original time series. For example, [min_over_time(foo)](#min_over_time) or [round(foo)](#round) leaves `foo` metric name in the result. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/674) for details. +* MetricsQL keeps metric names after applying functions, which don't change the meaning of the original time series. For example, [min_over_time(foo)](#min_over_time) or [round(foo)](#round) leaves `foo` metric name in the result. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/674) for details. Read more about the diffferences between PromQL and MetricsQL in [this article](https://medium.com/@romanhavronenko/victoriametrics-promql-compliance-d4318203f51e). diff --git a/docs/vmalert.md b/docs/vmalert.md index 281388ee8..617f93f65 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -25,8 +25,8 @@ implementation and aims to be compatible with its syntax. * `vmalert` execute queries against remote datasource which has reliability risks because of network. It is recommended to configure alerts thresholds and rules expressions with understanding that network request may fail; -* by default, rules execution is sequential within one group, but persisting of execution results to remote -storage is asynchronous. Hence, user shouldn't rely on recording rules chaining when result of previous +* by default, rules execution is sequential within one group, but persistence of execution results to remote +storage is asynchronous. Hence, user shouldn't rely on chaining of recording rules when result of previous recording rule is reused in next one; ## QuickStart @@ -59,7 +59,7 @@ Then configure `vmalert` accordingly: -external.label=replica=a # Multiple external labels may be set ``` -See the fill list of configuration flags in [configuration](#configuration) section. +See the full list of configuration flags in [configuration](#configuration) section. If you run multiple `vmalert` services for the same datastore or AlertManager - do not forget to specify different `external.label` flags in order to define which `vmalert` generated rules or alerts. @@ -117,14 +117,14 @@ expression and then act according to the Rule type. There are two types of Rules: * [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) - -Alerting rules allows to define alert conditions via `expr` field and to send notifications +Alerting rules allow to define alert conditions via `expr` field and to send notifications to [Alertmanager](https://github.com/prometheus/alertmanager) if execution result is not empty. * [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) - -Recording rules allows to define `expr` which result will be than backfilled to configured +Recording rules allow to define `expr` which result will be then backfilled to configured `-remoteWrite.url`. Recording rules are used to precompute frequently needed or computationally expensive expressions and save their result as a new set of time series. -`vmalert` forbids to define duplicates - rules with the same combination of name, expression and labels +`vmalert` forbids defining duplicates - rules with the same combination of name, expression and labels within one group. #### Alerting rules @@ -186,18 +186,18 @@ the process alerts state will be lost. To avoid this situation, `vmalert` should * `-remoteWrite.url` - URL to VictoriaMetrics (Single) or vminsert (Cluster). `vmalert` will persist alerts state into the configured address in the form of time series named `ALERTS` and `ALERTS_FOR_STATE` via remote-write protocol. These are regular time series and may be queried from VM just as any other time series. -The state stored to the configured address on every rule evaluation. +The state is stored to the configured address on every rule evaluation. * `-remoteRead.url` - URL to VictoriaMetrics (Single) or vmselect (Cluster). `vmalert` will try to restore alerts state from configured address by querying time series with name `ALERTS_FOR_STATE`. -Both flags are required for the proper state restoring. Restore process may fail if time series are missing +Both flags are required for proper state restoring. Restore process may fail if time series are missing in configured `-remoteRead.url`, weren't updated in the last `1h` (controlled by `-remoteRead.lookback`) or received state doesn't match current `vmalert` rules configuration. ### Multitenancy -There are the following approaches for alerting and recording rules across +The following are the approaches for alerting and recording rules across [multiple tenants](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multitenancy): * To run a separate `vmalert` instance per each tenant. @@ -238,7 +238,7 @@ at [release page](https://github.com/VictoriaMetrics/VictoriaMetrics/releases) a tags at [Docker Hub](https://hub.docker.com/r/victoriametrics/vmalert/tags). -### WEB +### Web `vmalert` runs a web-server (`-httpListenAddr`) for serving metrics and alerts endpoints: * `http://` - UI; @@ -261,7 +261,7 @@ to set `-datasource.appendTypePrefix` flag to `true`, so vmalert can adjust URL ## Rules backfilling vmalert supports alerting and recording rules backfilling (aka `replay`). In replay mode vmalert -can read the same rules configuration as normally, evaluate them on the given time range and backfill +can read the same rules configuration as normal, evaluate them on the given time range and backfill results via remote write to the configured storage. vmalert supports any PromQL/MetricsQL compatible data source for backfilling. @@ -307,8 +307,8 @@ max range per request: 8h20m0s In `replay` mode all groups are executed sequentially one-by-one. Rules within the group are executed sequentially as well (`concurrency` setting is ignored). Vmalert sends rule's expression to [/query_range](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) endpoint -of the configured `-datasource.url`. Returned data then processed according to the `group.type` and -backfilled to `-remoteWrite.url` via [remote write protocol](https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations). +of the configured `-datasource.url`. Returned data is then processed according to the rule type and +backfilled to `-remoteWrite.url` via [remote Write protocol](https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations). Vmalert respects `evaluationInterval` value set by flag or per-group during the replay. Vmalert automatically disables caching on VictoriaMetrics side by sending `nocache=1` param. It allows to prevent cache pollution and unwanted time range boundaries adjustment during backfilling. diff --git a/docs/vmbackup.md b/docs/vmbackup.md index e79b750c3..42c5d51d2 100644 --- a/docs/vmbackup.md +++ b/docs/vmbackup.md @@ -13,8 +13,8 @@ Supported storage systems for backups: * Any S3-compatible storage such as [MinIO](https://github.com/minio/minio), [Ceph](https://docs.ceph.com/docs/mimic/radosgw/s3/) or [Swift](https://www.swiftstack.com/docs/admin/middleware/s3_middleware.html). See [these docs](#advanced-usage) for details. * Local filesystem. Example: `fs://` -`vmbackup` supports incremental and full backups. Incremental backups created automatically if the destination path already contains data from the previous backup. -Full backups can be sped up with `-origin` pointing to already existing backup on the same remote storage. In this case `vmbackup` makes server-side copy for the shared +`vmbackup` supports incremental and full backups. Incremental backups are created automatically if the destination path already contains data from the previous backup. +Full backups can be sped up with `-origin` pointing to an already existing backup on the same remote storage. In this case `vmbackup` makes server-side copy for the shared data between the existing backup and new backup. It saves time and costs on data transfer. Backup process can be interrupted at any time. It is automatically resumed from the interruption point when restarting `vmbackup` with the same args. @@ -38,7 +38,7 @@ vmbackup -storageDataPath= -snapshotName=` - path to VictoriaMetrics data pointed by `-storageDataPath` command-line flag in single-node VictoriaMetrics or in cluster `vmstorage`. - There is no need to stop VictoriaMetrics for creating backups, since they are performed from immutable [instant snapshots](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-work-with-snapshots). + There is no need to stop VictoriaMetrics for creating backups since they are performed from immutable [instant snapshots](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-work-with-snapshots). * `` is the snapshot to back up. See [how to create instant snapshots](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-work-with-snapshots). `vmbackup` can create the snapshot on itself if `-snapshot.createURL` command-line flag is set to an url for creating snapshots. In this case `-snapshotName` flag isn't needed. * `` is an already existing name for [GCS bucket](https://cloud.google.com/storage/docs/creating-buckets). * `` is the destination path where new backup will be placed. @@ -58,7 +58,7 @@ It saves time and network bandwidth costs by performing server-side copy for the ### Incremental backups -Incremental backups performed if `-dst` points to an already existing backup. In this case only new data uploaded to remote storage. +Incremental backups are performed if `-dst` points to an already existing backup. In this case only new data is uploaded to remote storage. It saves time and network bandwidth costs when working with big backups: ``` @@ -91,7 +91,7 @@ Where `` is the snapshot for the last day ``. This apporach saves network bandwidth costs on hourly backups (since they are incremental) and allows recovering data from either the last hour (`latest` backup) or from any day (`YYYYMMDD` backups). Note that hourly backup shouldn't run when creating daily backup. -Do not forget removing old snapshots and backups when they are no longer needed for saving storage costs. +Do not forget to remove old snapshots and backups when they are no longer needed in order to save storage costs. See also [vmbackupmanager tool](https://docs.victoriametrics.com/vmbackupmanager.html) for automating smart backups. @@ -101,19 +101,19 @@ See also [vmbackupmanager tool](https://docs.victoriametrics.com/vmbackupmanager The backup algorithm is the following: 1. Collect information about files in the `-snapshotName`, in the `-dst` and in the `-origin`. -2. Determine files in `-dst`, which are missing in `-snapshotName`, and delete them. These are usually small files, which are already merged into bigger files in the snapshot. -3. Determine files from `-snapshotName`, which are missing in `-dst`. These are usually small new files and bigger merged files. -4. Determine files from step 3, which exist in the `-origin`, and perform server-side copy of these files from `-origin` to `-dst`. +2. Determine which files in `-dst` are missing in `-snapshotName`, and delete them. These are usually small files, which are already merged into bigger files in the snapshot. +3. Determine which files in `-snapshotName` are missing in `-dst`. These are usually small new files and bigger merged files. +4. Determine which files from step 3 exist in the `-origin`, and perform server-side copy of these files from `-origin` to `-dst`. These are usually the biggest and the oldest files, which are shared between backups. 5. Upload the remaining files from step 3 from `-snapshotName` to `-dst`. -The algorithm splits source files into 1 GiB chunks in the backup. Each chunk stored as a separate file in the backup. +The algorithm splits source files into 1 GiB chunks in the backup. Each chunk is stored as a separate file in the backup. Such splitting minimizes the amounts of data to re-transfer after temporary errors. `vmbackup` relies on [instant snapshot](https://medium.com/@valyala/how-victoriametrics-makes-instant-snapshots-for-multi-terabyte-time-series-data-e1f3fb0e0282) properties: - All the files in the snapshot are immutable. -- Old files periodically merged into new files. +- Old files are periodically merged into new files. - Smaller files have higher probability to be merged. - Consecutive snapshots share many identical files.