docs/vmagent.md: sync with app/vmagent/README.md

This commit is contained in:
Aliaksandr Valialkin 2020-07-13 21:25:11 +03:00
parent 666c795b98
commit 619b0a25c9
2 changed files with 35 additions and 32 deletions

View File

@ -219,39 +219,28 @@ either via `vmagent` itself or via Prometheus, so the exported metrics could be
The directory can grow large when remote storage is unavailable for extended periods of time and if `-remoteWrite.maxDiskUsagePerURL` isn't set.
If you don't want to send all the data from the directory to remote storage, simply stop `vmagent` and delete the directory.
* If you see `skipping duplicate scrape target with identical labels` errors when scraping Kubernetes pods, then it is likely these pods listen multiple ports or they use init container.
To determinate duplicated targets during service discovery you can use followin pattern:
* If you see `skipping duplicate scrape target with identical labels` errors when scraping Kubernetes pods, then it is likely these pods listen multiple ports
or they use init container.
The following `relabel_configs` section may help determining `__meta_*` labels resulting in duplicate targets:
```yml
...
- job_name: my-app
metrics_path: /metrics
scheme: http
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- kube-system
relabel_configs:
- action: keep
regex: my-app
source_labels: [__meta_kubernetes_pod_label_app]
- action: labelmap
regex: __meta_(.*)
- action: labelmap
regex: __meta_(.*)
```
To filter out targets with init container add the following relabeling rule to `relabel_configs` section:
```yml
- action: keep
regex: false
source_labels: [__meta_kubernetes_pod_container_init]
```
To filter out targets with unneeded ports add the following relabeling rule to `relabel_configs` section:
The following relabeling rule may be added to `relabel_configs` section in order to filter out pods with unneeded ports:
```yml
- action: keep_if_equal
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
```
The following relabeling rule may be added to `relabel_configs` section in order to filter out init container pods:
```yml
- action: keep
source_labels: [__meta_kubernetes_pod_container_init]
regex: false
```
### How to build from sources

View File

@ -219,13 +219,27 @@ either via `vmagent` itself or via Prometheus, so the exported metrics could be
The directory can grow large when remote storage is unavailable for extended periods of time and if `-remoteWrite.maxDiskUsagePerURL` isn't set.
If you don't want to send all the data from the directory to remote storage, simply stop `vmagent` and delete the directory.
* If you see `skipping duplicate scrape target with identical labels` errors when scraping Kubernetes pods, then it is likely these pods listen multiple ports.
Just add the following relabeling rule to `relabel_configs` section in order to filter out targets with unneeded ports:
* If you see `skipping duplicate scrape target with identical labels` errors when scraping Kubernetes pods, then it is likely these pods listen multiple ports
or they use init container.
```yml
- action: keep_if_equal
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
```
The following `relabel_configs` section may help determining `__meta_*` labels resulting in duplicate targets:
```yml
- action: labelmap
regex: __meta_(.*)
```
The following relabeling rule may be added to `relabel_configs` section in order to filter out pods with unneeded ports:
```yml
- action: keep_if_equal
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
```
The following relabeling rule may be added to `relabel_configs` section in order to filter out init container pods:
```yml
- action: keep
source_labels: [__meta_kubernetes_pod_container_init]
regex: false
```
### How to build from sources