forked from VictoriaMetrics/prometheus-benchmark
-
Notifications
You must be signed in to change notification settings - Fork 1
/
values.yaml
108 lines (96 loc) · 5.76 KB
/
values.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# vmtag is a docker image tag for VictoriaMetrics components,
# which run inside the prometheus-benchmark - e.g. vmagent, vmalert, vmsingle.
vmtag: "v1.82.1"
# nodeSelector is an optional node selector for placing benchmark pods.
nodeSelector: {}
# targetsCount defines the number of nodeexporter instances to scrape by every benchmark pod.
# This option allows to configure the number of active time series to push to remoteStorages.
# Every nodeexporter exposes around 1230 unique metrics, so when targetsCount
# is set to 1000, then the benchmark generates around 1230*1000=1.23M active time series.
# See also writeReplicas and writeURLReplicas options.
targetsCount: 1000
# scrapeInterval defines how frequently to scrape nodeexporter targets.
# This option allows to configure data ingestion rate per every remoteStorages.
# For example, if the benchmark generates 1.23M active time series and scrapeInterval
# is set to 10s, then the data ingestion rate equals to 1.23M/10s = 123K samples/sec.
# See also writeReplicas and writeURLReplicas options.
scrapeInterval: 10s
# queryInterval is how often to send queries from files/alerts.yaml to remoteStorages.readURL
# This option can be used for tuning read load at remoteStorages.
# It is a good rule of thumb to keep it in sync with scrapeInterval.
queryInterval: 10s
# scrapeConfigUpdatePercent is the percent of nodeexporter targets
# which are updated with unique label on every scrape config update
# (see scrapeConfigUpdateInterval).
# This option allows tuning time series churn rate.
# For example, if scrapeConfigUpdatePercent is set to 1 for targetsCount=1000,
# then around 10 targets gets updated labels on every scrape config update.
# This generates around 1230*10=12300 new time series every scrapeConfigUpdateInterval.
scrapeConfigUpdatePercent: 1
# scrapeConfigUpdateInterval specifies how frequently to update labels
# across scrapeConfigUpdatePercent nodeexporter targets.
# This option allows tuning time series churn rate.
# For example, if scrapeConfigUpdateInterval is set to 10m for targetsCount=1000
# and scrapeConfigUpdatePercent=1, then around 10 targets gets updated labels every 10 minutes.
# This generates around 1230*10=12300 new time series every 10 minutes.
scrapeConfigUpdateInterval: 10m
# writeConcurrency is an optional number of concurrent tcp connections
# for sending the scraped metrics to remoteStorage.writeURL.
# Increase this value if there is a high network latency between prometheus-benchmark
# components and remoteStorage.wirteURL.
# If this value isn't set, then the number of concurrent connections
# for sending the scraped metrics is determined automatically.
writeConcurrency: 0
# writeReplicas is an optional number of pod writers to run.
# Each replica scrapes targetsCount targets and has
# its own extra `replica` label attached to time series stored to remote storage.
# This option is useful for scaling the writers horizontally.
# See also writeURLReplicas option.
writeReplicas: 1
# writeReplicaMem is the memory limit per each pod writer.
# See writeReplicas option.
writeReplicaMem: "4Gi"
# writeReplicaCPU is the CPU limit per each pod writer.
# See writeReplicas option.
writeReplicaCPU: 2
# remoteStorages contains a named list of Prometheus-compatible systems to test.
# These systems must support data ingestion via Prometheus remote_write protocol.
# These systems must also support Prometheus querying API if query performance
# needs to be measured additionally to data ingestion performance.
remoteStorages:
# the name of the remote storage to test.
# The name is added to remote_storage_name label at collected metrics
vm:
# writeURL should contain the url, which accepts Prometheus remote_write
# protocol at the tested remote storage.
# For example, the following urls may be used for testing VictoriaMetrics:
# - http://<victoriametrics-addr>:8428/api/v1/write for single-node VictoriaMetrics
# - http://<vminsert-addr>:8480/insert/0/prometheus/api/v1/write for cluster VictoriaMetrics
writeURL: "http://victoria-metrics-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/0/prometheus/api/v1/write"
# writeURLReplicas is an optional number of writeURL replicas to send data to.
# A unique `url_replica` label is added to every writeURL replica via `extra_label` query arg
# in order to generate unique time series.
# This option can be used for increasing the number of active time series
# to send to writeURL. Please note, `extra_label` feature is supported only by VictoriaMetrics servers.
# See also writeReplicas option.
writeURLReplicas: 1
# readURL is an optional url when query performance needs to be tested.
# The query performance is tested by sending alerting queries from files/alerts.yaml
# to readURL.
# For example, the following urls may be used for testing query performance:
# - http://<victoriametrics-addr>:8428/ for single-node VictoriaMetrics
# - http://<vmselect-addr>:8481/select/0/prometheus/ for cluster VictoriaMetrics
readURL: ""
# writeBearerToken is an optional bearer token to use when writing data to writeURL.
writeBearerToken: ""
# readBearerToken is an optional bearer token to use when querying data from readURL.
readBearerToken: ""
# writeHeaders is an optional list of headers in form `header:value`, attached to every write request.
# multiple headers must be delimited by '^^': 'header1:value1^^header2:value2'
writeHeaders: ""
# readHeaders is an optional list of headers in form `header:value`, attached to every read request.
# multiple headers must be delimited by '^^': 'header1:value1^^header2:value2'
readHeaders: ""
# vmagentExtraFlags allows to pass additional flags to vmagent.
vmagentExtraFlags: []
# - "--remoteWrite.useVMProto=true"