Merge pull request '清理已退役的 VictoriaMetrics Compose 配置' (#73) from chore/remove-legacy-monitoring into main
yaml / yaml (push) Successful in 11s
yaml / yaml (push) Successful in 11s
Reviewed-on: #73
This commit was merged in pull request #73.
This commit is contained in:
@@ -1,5 +0,0 @@
|
|||||||
route:
|
|
||||||
receiver: blackhole
|
|
||||||
|
|
||||||
receivers:
|
|
||||||
- name: blackhole
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
services:
|
|
||||||
# Metrics collector.
|
|
||||||
# It scrapes targets defined in --promscrape.config
|
|
||||||
# And forward them to --remoteWrite.url
|
|
||||||
vmagent:
|
|
||||||
image: victoriametrics/vmagent:v1.132.0
|
|
||||||
depends_on:
|
|
||||||
- "victoriametrics"
|
|
||||||
ports:
|
|
||||||
- 8429:8429
|
|
||||||
volumes:
|
|
||||||
- vmagentdata:/vmagentdata
|
|
||||||
- ./prometheus.yaml:/etc/prometheus/prometheus.yml
|
|
||||||
command:
|
|
||||||
- "--promscrape.config=/etc/prometheus/prometheus.yml"
|
|
||||||
- "--remoteWrite.url=http://victoriametrics:8428/api/v1/write"
|
|
||||||
restart: always
|
|
||||||
# VictoriaMetrics instance, a single process responsible for
|
|
||||||
# storing metrics and serve read requests.
|
|
||||||
victoriametrics:
|
|
||||||
image: victoriametrics/victoria-metrics:v1.132.0
|
|
||||||
ports:
|
|
||||||
- 8428:8428
|
|
||||||
- 8089:8089
|
|
||||||
- 8089:8089/udp
|
|
||||||
- 2003:2003
|
|
||||||
- 2003:2003/udp
|
|
||||||
- 4242:4242
|
|
||||||
volumes:
|
|
||||||
- vmdata:/storage
|
|
||||||
command:
|
|
||||||
- "--storageDataPath=/storage"
|
|
||||||
- "--graphiteListenAddr=:2003"
|
|
||||||
- "--opentsdbListenAddr=:4242"
|
|
||||||
- "--httpListenAddr=:8428"
|
|
||||||
- "--influxListenAddr=:8089"
|
|
||||||
- "--vmalert.proxyURL=http://vmalert:8880"
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana:12.2.0
|
|
||||||
depends_on:
|
|
||||||
- "victoriametrics"
|
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
||||||
volumes:
|
|
||||||
- grafanadata:/var/lib/grafana
|
|
||||||
- ./provisioning/datasources/prometheus-datasource/single.yml:/etc/grafana/provisioning/datasources/single.yml
|
|
||||||
- ./provisioning/dashboards:/etc/grafana/provisioning/dashboards
|
|
||||||
- ./provisioning/dashboards/victoriametrics.json:/var/lib/grafana/dashboards/vm.json
|
|
||||||
- ./provisioning/dashboards/vmagent.json:/var/lib/grafana/dashboards/vmagent.json
|
|
||||||
- ./provisioning/dashboards/vmalert.json:/var/lib/grafana/dashboards/vmalert.json
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
# vmalert executes alerting and recording rules
|
|
||||||
vmalert:
|
|
||||||
image: victoriametrics/vmalert:v1.132.0
|
|
||||||
depends_on:
|
|
||||||
- "victoriametrics"
|
|
||||||
- "alertmanager"
|
|
||||||
ports:
|
|
||||||
- 8880:8880
|
|
||||||
volumes:
|
|
||||||
- ./rules/alerts.yml:/etc/alerts/alerts.yml
|
|
||||||
- ./rules/alerts-health.yml:/etc/alerts/alerts-health.yml
|
|
||||||
- ./rules/alerts-vmagent.yml:/etc/alerts/alerts-vmagent.yml
|
|
||||||
- ./rules/alerts-vmalert.yml:/etc/alerts/alerts-vmalert.yml
|
|
||||||
command:
|
|
||||||
- "--datasource.url=http://victoriametrics:8428/"
|
|
||||||
- "--remoteRead.url=http://victoriametrics:8428/"
|
|
||||||
- "--remoteWrite.url=http://vmagent:8429/"
|
|
||||||
- "--notifier.url=http://alertmanager:9093/"
|
|
||||||
- "--rule=/etc/alerts/*.yml"
|
|
||||||
# display source of alerts in grafana
|
|
||||||
- "--external.url=http://127.0.0.1:3000" #grafana outside container
|
|
||||||
- '--external.alert.source=explore?orgId=1&left={"datasource":"VictoriaMetrics","queries":[{"expr":{{.Expr|jsonEscape|queryEscape}},"refId":"A"}],"range":{"from":"{{ .ActiveAt.UnixMilli }}","to":"now"}}'
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
# alertmanager receives alerting notifications from vmalert
|
|
||||||
# and distributes them according to --config.file.
|
|
||||||
alertmanager:
|
|
||||||
image: prom/alertmanager:v0.28.1
|
|
||||||
volumes:
|
|
||||||
- ./alertmanager.yaml:/config/alertmanager.yml
|
|
||||||
command:
|
|
||||||
- "--config.file=/config/alertmanager.yml"
|
|
||||||
ports:
|
|
||||||
- 9093:9093
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
vmagentdata: {}
|
|
||||||
vmdata: {}
|
|
||||||
grafanadata: {}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
global:
|
|
||||||
scrape_interval: 10s
|
|
||||||
|
|
||||||
scrape_configs:
|
|
||||||
- job_name: vmagent
|
|
||||||
static_configs:
|
|
||||||
- targets:
|
|
||||||
- vmagent:8429
|
|
||||||
- job_name: vmalert
|
|
||||||
static_configs:
|
|
||||||
- targets:
|
|
||||||
- vmalert:8880
|
|
||||||
- job_name: victoriametrics
|
|
||||||
static_configs:
|
|
||||||
- targets:
|
|
||||||
- victoriametrics:8428
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
providers:
|
|
||||||
- name: Prometheus
|
|
||||||
orgId: 1
|
|
||||||
folder: ''
|
|
||||||
type: file
|
|
||||||
options:
|
|
||||||
path: /var/lib/grafana/dashboards
|
|
||||||
-11
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: VictoriaMetrics
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
url: http://victoriametrics:8428
|
|
||||||
isDefault: true
|
|
||||||
jsonData:
|
|
||||||
prometheusType: Prometheus
|
|
||||||
prometheusVersion: 2.24.0
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: VictoriaMetrics
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
url: http://victoriametrics:8428
|
|
||||||
isDefault: true
|
|
||||||
jsonData:
|
|
||||||
prometheusType: Prometheus
|
|
||||||
prometheusVersion: 2.24.0
|
|
||||||
@@ -1,149 +0,0 @@
|
|||||||
# File contains default list of alerts for various VM components.
|
|
||||||
# The following alerts are recommended for use for any VM installation.
|
|
||||||
# The alerts below are just recommendations and may require some updates
|
|
||||||
# and threshold calibration according to every specific setup.
|
|
||||||
groups:
|
|
||||||
- name: vm-health
|
|
||||||
# note the `job` filter and update accordingly to your setup
|
|
||||||
rules:
|
|
||||||
- alert: TooManyRestarts
|
|
||||||
expr: changes(process_start_time_seconds{job=~".*(victoriametrics|vmselect|vminsert|vmstorage|vmagent|vmalert|vmsingle|vmalertmanager|vmauth).*"}[15m]) > 2
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "{{ $labels.job }} too many restarts (instance {{ $labels.instance }})"
|
|
||||||
description: >
|
|
||||||
Job {{ $labels.job }} (instance {{ $labels.instance }}) has restarted more than twice in the last 15 minutes.
|
|
||||||
It might be crashlooping.
|
|
||||||
|
|
||||||
- alert: ServiceDown
|
|
||||||
expr: up{job=~".*(victoriametrics|vmselect|vminsert|vmstorage|vmagent|vmalert|vmsingle|vmalertmanager|vmauth).*"} == 0
|
|
||||||
for: 2m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "Service {{ $labels.job }} is down on {{ $labels.instance }}"
|
|
||||||
description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 2 minutes."
|
|
||||||
|
|
||||||
- alert: ProcessNearFDLimits
|
|
||||||
expr: (process_max_fds - process_open_fds) < 100
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "Number of free file descriptors is less than 100 for \"{{ $labels.job }}\"(\"{{ $labels.instance }}\") for the last 5m"
|
|
||||||
description: |
|
|
||||||
Exhausting OS file descriptors limit can cause severe degradation of the process.
|
|
||||||
Consider to increase the limit as fast as possible.
|
|
||||||
|
|
||||||
- alert: TooHighMemoryUsage
|
|
||||||
expr: (min_over_time(process_resident_memory_anon_bytes[10m]) / vm_available_memory_bytes) > 0.8
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "It is more than 80% of memory used by \"{{ $labels.job }}\"(\"{{ $labels.instance }}\")"
|
|
||||||
description: |
|
|
||||||
Too high memory usage may result into multiple issues such as OOMs or degraded performance.
|
|
||||||
Consider to either increase available memory or decrease the load on the process.
|
|
||||||
|
|
||||||
- alert: TooHighCPUUsage
|
|
||||||
expr: rate(process_cpu_seconds_total[5m]) / process_cpu_cores_available > 0.9
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "More than 90% of CPU is used by \"{{ $labels.job }}\"(\"{{ $labels.instance }}\") during the last 5m"
|
|
||||||
description: >
|
|
||||||
Too high CPU usage may be a sign of insufficient resources and make process unstable.
|
|
||||||
Consider to either increase available CPU resources or decrease the load on the process.
|
|
||||||
|
|
||||||
- alert: TooHighGoroutineSchedulingLatency
|
|
||||||
expr: histogram_quantile(0.99, sum(rate(go_sched_latencies_seconds_bucket{job=~".*(victoriametrics|vmselect|vminsert|vmstorage|vmagent|vmalert|vmsingle|vmalertmanager|vmauth).*"}[5m])) by (le, job, instance)) > 0.1
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "\"{{ $labels.job }}\"(\"{{ $labels.instance }}\") has insufficient CPU resources for >15m"
|
|
||||||
description: >
|
|
||||||
Go runtime is unable to schedule goroutines execution in acceptable time. This is usually a sign of
|
|
||||||
insufficient CPU resources or CPU throttling. Verify that service has enough CPU resources. Otherwise,
|
|
||||||
the service could work unreliably with delays in processing.
|
|
||||||
|
|
||||||
- alert: TooManyLogs
|
|
||||||
expr: sum(increase(vm_log_messages_total{level="error"}[5m])) without (app_version, location) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Too many logs printed for job \"{{ $labels.job }}\" ({{ $labels.instance }})"
|
|
||||||
description: >
|
|
||||||
Logging rate for job \"{{ $labels.job }}\" ({{ $labels.instance }}) is {{ $value }} for last 15m.
|
|
||||||
Worth to check logs for specific error messages.
|
|
||||||
|
|
||||||
- alert: TooManyTSIDMisses
|
|
||||||
expr: increase(vm_missing_tsids_for_metric_id_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "Unexpected TSID misses for job \"{{ $labels.job }}\" ({{ $labels.instance }}) for the last 15 minutes"
|
|
||||||
description: |
|
|
||||||
Unexpected TSID misses for \"{{ $labels.job }}\" ({{ $labels.instance }}) for the last 15 minutes.
|
|
||||||
If this happens after unclean shutdown of VictoriaMetrics process (via \"kill -9\", OOM or power off),
|
|
||||||
then this is OK - the alert must go away in a few minutes after the restart.
|
|
||||||
Otherwise this may point to the corruption of index data.
|
|
||||||
|
|
||||||
- alert: ConcurrentInsertsHitTheLimit
|
|
||||||
expr: avg_over_time(vm_concurrent_insert_current[1m]) >= vm_concurrent_insert_capacity
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "{{ $labels.job }} on instance {{ $labels.instance }} is constantly hitting concurrent inserts limit"
|
|
||||||
description: |
|
|
||||||
The limit of concurrent inserts on instance {{ $labels.instance }} depends on the number of CPUs.
|
|
||||||
Usually, when component constantly hits the limit it is likely the component is overloaded and requires more CPU.
|
|
||||||
In some cases for components like vmagent or vminsert the alert might trigger if there are too many clients
|
|
||||||
making write attempts. If vmagent's or vminsert's CPU usage and network saturation are at normal level, then
|
|
||||||
it might be worth adjusting `-maxConcurrentInserts` cmd-line flag.
|
|
||||||
|
|
||||||
- alert: IndexDBRecordsDrop
|
|
||||||
expr: increase(vm_indexdb_items_dropped_total[5m]) > 0
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "IndexDB skipped registering items during data ingestion with reason={{ $labels.reason }}."
|
|
||||||
description: |
|
|
||||||
VictoriaMetrics could skip registering new timeseries during ingestion if they fail the validation process.
|
|
||||||
For example, `reason=too_long_item` means that time series cannot exceed 64KB. Please, reduce the number
|
|
||||||
of labels or label values for such series. Or enforce these limits via `-maxLabelsPerTimeseries` and
|
|
||||||
`-maxLabelValueLen` command-line flags.
|
|
||||||
|
|
||||||
- alert: RowsRejectedOnIngestion
|
|
||||||
expr: rate(vm_rows_ignored_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Some rows are rejected on \"{{ $labels.instance }}\" on ingestion attempt"
|
|
||||||
description: "Ingested rows on instance \"{{ $labels.instance }}\" are rejected due to the
|
|
||||||
following reason: \"{{ $labels.reason }}\""
|
|
||||||
|
|
||||||
- alert: TooHighQueryLoad
|
|
||||||
expr: increase(vm_concurrent_select_limit_timeout_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Read queries fail with timeout for {{ $labels.job }} on instance {{ $labels.instance }}"
|
|
||||||
description: |
|
|
||||||
Instance {{ $labels.instance }} ({{ $labels.job }}) is failing to serve read queries during last 15m.
|
|
||||||
Concurrency limit `-search.maxConcurrentRequests` was reached on this instance and extra queries were
|
|
||||||
put into the queue for `-search.maxQueueDuration` interval. But even after waiting in the queue these queries weren't served.
|
|
||||||
This happens if instance is overloaded with the current workload, or datasource is too slow to respond.
|
|
||||||
Possible solutions are the following:
|
|
||||||
* reduce the query load;
|
|
||||||
* increase compute resources or number of replicas;
|
|
||||||
* adjust limits `-search.maxConcurrentRequests` and `-search.maxQueueDuration`.
|
|
||||||
See more at https://docs.victoriametrics.com/victoriametrics/troubleshooting/#slow-queries
|
|
||||||
@@ -1,172 +0,0 @@
|
|||||||
# File contains default list of alerts for vmagent service.
|
|
||||||
# The alerts below are just recommendations and may require some updates
|
|
||||||
# and threshold calibration according to every specific setup.
|
|
||||||
groups:
|
|
||||||
# Alerts group for vmagent assumes that Grafana dashboard
|
|
||||||
# https://grafana.com/grafana/dashboards/12683 is installed.
|
|
||||||
# Pls update the `dashboard` annotation according to your setup.
|
|
||||||
- name: vmagent
|
|
||||||
interval: 30s
|
|
||||||
concurrency: 2
|
|
||||||
rules:
|
|
||||||
- alert: PersistentQueueIsDroppingData
|
|
||||||
expr: sum(increase(vm_persistentqueue_bytes_dropped_total[5m])) without (path) > 0
|
|
||||||
for: 10m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=49&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} is dropping data from persistent queue"
|
|
||||||
description: "Vmagent dropped {{ $value | humanize1024 }} from persistent queue
|
|
||||||
on instance {{ $labels.instance }} for the last 10m."
|
|
||||||
|
|
||||||
- alert: RejectedRemoteWriteDataBlocksAreDropped
|
|
||||||
expr: sum(increase(vmagent_remotewrite_packets_dropped_total[5m])) without (url) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=79&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Vmagent is dropping data blocks that are rejected by remote storage"
|
|
||||||
description: "Job \"{{ $labels.job }}\" on instance {{ $labels.instance }} drops the rejected by
|
|
||||||
remote-write server data blocks. Check the logs to find the reason for rejects."
|
|
||||||
|
|
||||||
- alert: TooManyScrapeErrors
|
|
||||||
expr: increase(vm_promscrape_scrapes_failed_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=31&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Vmagent fails to scrape one or more targets"
|
|
||||||
description: "Job \"{{ $labels.job }}\" on instance {{ $labels.instance }} fails to scrape targets for last 15m"
|
|
||||||
|
|
||||||
- alert: ScrapePoolHasNoTargets
|
|
||||||
expr: sum(vm_promscrape_scrape_pool_targets) without (status, instance, pod) == 0
|
|
||||||
for: 30m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Vmagent has scrape_pool with 0 configured/discovered targets"
|
|
||||||
description: "Vmagent \"{{ $labels.job }}\" has scrape_pool \"{{ $labels.scrape_job }}\"
|
|
||||||
with 0 discovered targets. It is likely a misconfiguration. Please follow https://docs.victoriametrics.com/victoriametrics/vmagent/#debugging-scrape-targets
|
|
||||||
to troubleshoot the scraping config."
|
|
||||||
|
|
||||||
- alert: TooManyWriteErrors
|
|
||||||
expr: |
|
|
||||||
(sum(increase(vm_ingestserver_request_errors_total[5m])) without (name,net,type)
|
|
||||||
+
|
|
||||||
sum(increase(vmagent_http_request_errors_total[5m])) without (path,protocol)) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=77&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Vmagent responds with too many errors on data ingestion protocols"
|
|
||||||
description: "Job \"{{ $labels.job }}\" on instance {{ $labels.instance }} responds with errors to write requests for last 15m."
|
|
||||||
|
|
||||||
- alert: TooManyRemoteWriteErrors
|
|
||||||
expr: rate(vmagent_remotewrite_retries_count_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=61&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Job \"{{ $labels.job }}\" on instance {{ $labels.instance }} fails to push to remote storage"
|
|
||||||
description: "Vmagent fails to push data via remote write protocol to destination \"{{ $labels.url }}\"\n
|
|
||||||
Ensure that destination is up and reachable."
|
|
||||||
|
|
||||||
- alert: RemoteWriteConnectionIsSaturated
|
|
||||||
expr: |
|
|
||||||
(
|
|
||||||
rate(vmagent_remotewrite_send_duration_seconds_total[5m])
|
|
||||||
/
|
|
||||||
vmagent_remotewrite_queues
|
|
||||||
) > 0.9
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=84&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Remote write connection from \"{{ $labels.job }}\" (instance {{ $labels.instance }}) to {{ $labels.url }} is saturated"
|
|
||||||
description: "The remote write connection between vmagent \"{{ $labels.job }}\" (instance {{ $labels.instance }}) and destination \"{{ $labels.url }}\"
|
|
||||||
is saturated by more than 90% and vmagent won't be able to keep up.\n
|
|
||||||
There could be the following reasons for this:\n
|
|
||||||
* vmagent can't send data fast enough through the existing network connections. Increase `-remoteWrite.queues` cmd-line flag value to establish more connections per destination.\n
|
|
||||||
* remote destination can't accept data fast enough. Check if remote destination has enough resources for processing."
|
|
||||||
|
|
||||||
- alert: PersistentQueueForWritesIsSaturated
|
|
||||||
expr: rate(vm_persistentqueue_write_duration_seconds_total[5m]) > 0.9
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=98&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Persistent queue writes for instance {{ $labels.instance }} are saturated"
|
|
||||||
description: "Persistent queue writes for vmagent \"{{ $labels.job }}\" (instance {{ $labels.instance }})
|
|
||||||
are saturated by more than 90% and vmagent won't be able to keep up with flushing data on disk.
|
|
||||||
In this case, consider to decrease load on the vmagent or improve the disk throughput."
|
|
||||||
|
|
||||||
- alert: PersistentQueueForReadsIsSaturated
|
|
||||||
expr: rate(vm_persistentqueue_read_duration_seconds_total[5m]) > 0.9
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=99&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Persistent queue reads for instance {{ $labels.instance }} are saturated"
|
|
||||||
description: "Persistent queue reads for vmagent \"{{ $labels.job }}\" (instance {{ $labels.instance }})
|
|
||||||
are saturated by more than 90% and vmagent won't be able to keep up with reading data from the disk.
|
|
||||||
In this case, consider to decrease load on the vmagent or improve the disk throughput."
|
|
||||||
|
|
||||||
- alert: SeriesLimitHourReached
|
|
||||||
expr: (vmagent_hourly_series_limit_current_series / vmagent_hourly_series_limit_max_series) > 0.9
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=88&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} reached 90% of the limit"
|
|
||||||
description: "Max series limit set via -remoteWrite.maxHourlySeries flag is close to reaching the max value.
|
|
||||||
Then samples for new time series will be dropped instead of sending them to remote storage systems."
|
|
||||||
|
|
||||||
- alert: SeriesLimitDayReached
|
|
||||||
expr: (vmagent_daily_series_limit_current_series / vmagent_daily_series_limit_max_series) > 0.9
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/G7Z9GzMGz?viewPanel=90&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} reached 90% of the limit"
|
|
||||||
description: "Max series limit set via -remoteWrite.maxDailySeries flag is close to reaching the max value.
|
|
||||||
Then samples for new time series will be dropped instead of sending them to remote storage systems."
|
|
||||||
|
|
||||||
- alert: ConfigurationReloadFailure
|
|
||||||
expr: |
|
|
||||||
vm_promscrape_config_last_reload_successful != 1
|
|
||||||
or
|
|
||||||
vmagent_relabel_config_last_reload_successful != 1
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Configuration reload failed for vmagent instance {{ $labels.instance }}"
|
|
||||||
description: "Configuration hot-reload failed for vmagent on instance {{ $labels.instance }}.
|
|
||||||
Check vmagent's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: StreamAggrFlushTimeout
|
|
||||||
expr: |
|
|
||||||
increase(vm_streamaggr_flush_timeouts_total[5m]) > 0
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Streaming aggregation at \"{{ $labels.job }}\" (instance {{ $labels.instance }}) can't be finished within the configured aggregation interval."
|
|
||||||
description: "Stream aggregation process can't keep up with the load and might produce incorrect aggregation results. Check logs for more details.
|
|
||||||
Possible solutions: increase aggregation interval; aggregate smaller number of series; reduce samples' ingestion rate to stream aggregation."
|
|
||||||
|
|
||||||
- alert: StreamAggrDedupFlushTimeout
|
|
||||||
expr: |
|
|
||||||
increase(vm_streamaggr_dedup_flush_timeouts_total[5m]) > 0
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Deduplication \"{{ $labels.job }}\" (instance {{ $labels.instance }}) can't be finished within configured deduplication interval."
|
|
||||||
description: "Deduplication process can't keep up with the load and might produce incorrect results. Check docs https://docs.victoriametrics.com/victoriametrics/stream-aggregation/#deduplication and logs for more details.
|
|
||||||
Possible solutions: increase deduplication interval; deduplicate smaller number of series; reduce samples' ingestion rate."
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
# File contains default list of alerts for vmalert service.
|
|
||||||
# The alerts below are just recommendations and may require some updates
|
|
||||||
# and threshold calibration according to every specific setup.
|
|
||||||
groups:
|
|
||||||
# Alerts group for vmalert assumes that Grafana dashboard
|
|
||||||
# https://grafana.com/grafana/dashboards/14950 is installed.
|
|
||||||
# Pls update the `dashboard` annotation according to your setup.
|
|
||||||
- name: vmalert
|
|
||||||
interval: 30s
|
|
||||||
rules:
|
|
||||||
- alert: ConfigurationReloadFailure
|
|
||||||
expr: vmalert_config_last_reload_successful != 1
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Configuration reload failed for vmalert instance {{ $labels.instance }}"
|
|
||||||
description: "Configuration hot-reload failed for vmalert on instance {{ $labels.instance }}.
|
|
||||||
Check vmalert's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: AlertingRulesError
|
|
||||||
expr: sum(increase(vmalert_alerting_rules_errors_total[5m])) without(id) > 0
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/LzldHAVnz?viewPanel=13&var-instance={{ $labels.instance }}&var-file={{ $labels.file }}&var-group={{ $labels.group }}"
|
|
||||||
summary: "Alerting rules are failing for vmalert instance {{ $labels.instance }}"
|
|
||||||
description: "Alerting rules execution is failing for \"{{ $labels.alertname }}\" from group \"{{ $labels.group }}\" in file \"{{ $labels.file }}\".
|
|
||||||
Check vmalert's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: RecordingRulesError
|
|
||||||
expr: sum(increase(vmalert_recording_rules_errors_total[5m])) without(id) > 0
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/LzldHAVnz?viewPanel=30&var-instance={{ $labels.instance }}&var-file={{ $labels.file }}&var-group={{ $labels.group }}"
|
|
||||||
summary: "Recording rules are failing for vmalert instance {{ $labels.instance }}"
|
|
||||||
description: "Recording rules execution is failing for \"{{ $labels.recording }}\" from group \"{{ $labels.group }}\" in file \"{{ $labels.file }}\".
|
|
||||||
Check vmalert's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: RecordingRulesNoData
|
|
||||||
expr: sum(vmalert_recording_rules_last_evaluation_samples) without(id) < 1
|
|
||||||
for: 30m
|
|
||||||
labels:
|
|
||||||
severity: info
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/LzldHAVnz?viewPanel=33&var-file={{ $labels.file }}&var-group={{ $labels.group }}"
|
|
||||||
summary: "Recording rule {{ $labels.recording }} ({{ $labels.group }}) produces no data"
|
|
||||||
description: "Recording rule \"{{ $labels.recording }}\" from group \"{{ $labels.group }}\ in file \"{{ $labels.file }}\"
|
|
||||||
produces 0 samples over the last 30min. It might be caused by a misconfiguration
|
|
||||||
or incorrect query expression."
|
|
||||||
|
|
||||||
- alert: TooManyMissedIterations
|
|
||||||
expr: increase(vmalert_iteration_missed_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "vmalert instance {{ $labels.instance }} is missing rules evaluations"
|
|
||||||
description: "vmalert instance {{ $labels.instance }} is missing rules evaluations for group \"{{ $labels.group }}\" in file \"{{ $labels.file }}\".
|
|
||||||
The group evaluation time takes longer than the configured evaluation interval. This may result in missed
|
|
||||||
alerting notifications or recording rules samples. Try increasing evaluation interval or concurrency of
|
|
||||||
group \"{{ $labels.group }}\". See https://docs.victoriametrics.com/victoriametrics/vmalert/#groups.
|
|
||||||
If rule expressions are taking longer than expected, please see https://docs.victoriametrics.com/victoriametrics/troubleshooting/#slow-queries."
|
|
||||||
|
|
||||||
- alert: RemoteWriteErrors
|
|
||||||
expr: increase(vmalert_remotewrite_errors_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "vmalert instance {{ $labels.instance }} is failing to push metrics to remote write URL"
|
|
||||||
description: "vmalert instance {{ $labels.instance }} is failing to push metrics generated via alerting
|
|
||||||
or recording rules to the configured remote write URL. Check vmalert's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: RemoteWriteDroppingData
|
|
||||||
expr: increase(vmalert_remotewrite_dropped_rows_total[5m]) > 0
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
summary: "vmalert instance {{ $labels.instance }} is dropping data sent to remote write URL"
|
|
||||||
description: "vmalert instance {{ $labels.instance }} is failing to send results of alerting or recording rules
|
|
||||||
to the configured remote write URL. This may result into gaps in recording rules or alerts state.
|
|
||||||
Check vmalert's logs for detailed error message."
|
|
||||||
|
|
||||||
- alert: AlertmanagerErrors
|
|
||||||
expr: increase(vmalert_alerts_send_errors_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "vmalert instance {{ $labels.instance }} is failing to send notifications to Alertmanager"
|
|
||||||
description: "vmalert instance {{ $labels.instance }} is failing to send alert notifications to \"{{ $labels.addr }}\".
|
|
||||||
Check vmalert's logs for detailed error message."
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
# File contains default list of alerts for VictoriaMetrics single server.
|
|
||||||
# The alerts below are just recommendations and may require some updates
|
|
||||||
# and threshold calibration according to every specific setup.
|
|
||||||
groups:
|
|
||||||
# Alerts group for VM single assumes that Grafana dashboard
|
|
||||||
# https://grafana.com/grafana/dashboards/10229 is installed.
|
|
||||||
# Pls update the `dashboard` annotation according to your setup.
|
|
||||||
- name: vmsingle
|
|
||||||
interval: 30s
|
|
||||||
concurrency: 2
|
|
||||||
rules:
|
|
||||||
- alert: DiskRunsOutOfSpaceIn3Days
|
|
||||||
expr: |
|
|
||||||
sum(vm_free_disk_space_bytes) without(path) /
|
|
||||||
(
|
|
||||||
(rate(vm_rows_added_to_storage_total[1d]) - sum(rate(vm_deduplicated_samples_total[1d])) without(type)) * (
|
|
||||||
sum(vm_data_size_bytes{type!~"indexdb.*"}) without(type) /
|
|
||||||
sum(vm_rows{type!~"indexdb.*"}) without(type)
|
|
||||||
)
|
|
||||||
+
|
|
||||||
rate(vm_new_timeseries_created_total[1d]) * (
|
|
||||||
sum(vm_data_size_bytes{type="indexdb/file"}) without(type)/
|
|
||||||
sum(vm_rows{type="indexdb/file"}) without(type)
|
|
||||||
)
|
|
||||||
) < 3 * 24 * 3600 > 0
|
|
||||||
for: 30m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=53&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} will run out of disk space soon"
|
|
||||||
description: "Taking into account current ingestion rate, free disk space will be enough only
|
|
||||||
for {{ $value | humanizeDuration }} on instance {{ $labels.instance }}.\n
|
|
||||||
Consider to limit the ingestion rate, decrease retention or scale the disk space if possible."
|
|
||||||
|
|
||||||
- alert: NodeBecomesReadonlyIn3Days
|
|
||||||
expr: |
|
|
||||||
sum(vm_free_disk_space_bytes - vm_free_disk_space_limit_bytes) without(path) /
|
|
||||||
(
|
|
||||||
(rate(vm_rows_added_to_storage_total[1d]) - sum(rate(vm_deduplicated_samples_total[1d])) without(type)) * (
|
|
||||||
sum(vm_data_size_bytes{type!~"indexdb.*"}) without(type) /
|
|
||||||
sum(vm_rows{type!~"indexdb.*"}) without(type)
|
|
||||||
)
|
|
||||||
+
|
|
||||||
rate(vm_new_timeseries_created_total[1d]) * (
|
|
||||||
sum(vm_data_size_bytes{type="indexdb/file"}) without(type) /
|
|
||||||
sum(vm_rows{type="indexdb/file"}) without(type)
|
|
||||||
)
|
|
||||||
) < 3 * 24 * 3600 > 0
|
|
||||||
for: 30m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/oS7Bi_0Wz?viewPanel=53&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} will become read-only in 3 days"
|
|
||||||
description: "Taking into account current ingestion rate and free disk space
|
|
||||||
instance {{ $labels.instance }} is writable for {{ $value | humanizeDuration }}.\n
|
|
||||||
Consider to limit the ingestion rate, decrease retention or scale the disk space up if possible."
|
|
||||||
|
|
||||||
- alert: DiskRunsOutOfSpace
|
|
||||||
expr: |
|
|
||||||
sum(vm_data_size_bytes) by(job, instance) /
|
|
||||||
(
|
|
||||||
sum(vm_free_disk_space_bytes) by(job, instance) +
|
|
||||||
sum(vm_data_size_bytes) by(job, instance)
|
|
||||||
) > 0.8
|
|
||||||
for: 30m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=53&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Instance {{ $labels.instance }} (job={{ $labels.job }}) will run out of disk space soon"
|
|
||||||
description: "Disk utilisation on instance {{ $labels.instance }} is more than 80%.\n
|
|
||||||
Having less than 20% of free disk space could cripple merge processes and overall performance.
|
|
||||||
Consider to limit the ingestion rate, decrease retention or scale the disk space if possible."
|
|
||||||
|
|
||||||
- alert: RequestErrorsToAPI
|
|
||||||
expr: increase(vm_http_request_errors_total[5m]) > 0
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=35&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Too many errors served for path {{ $labels.path }} (instance {{ $labels.instance }})"
|
|
||||||
description: "Requests to path {{ $labels.path }} are receiving errors.
|
|
||||||
Please verify if clients are sending correct requests."
|
|
||||||
|
|
||||||
- alert: TooHighChurnRate
|
|
||||||
expr: |
|
|
||||||
(
|
|
||||||
sum(rate(vm_new_timeseries_created_total[5m])) by(instance)
|
|
||||||
/
|
|
||||||
sum(rate(vm_rows_inserted_total[5m])) by(instance)
|
|
||||||
) > 0.1
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=66&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Churn rate is more than 10% on \"{{ $labels.instance }}\" for the last 15m"
|
|
||||||
description: "VM constantly creates new time series on \"{{ $labels.instance }}\".\n
|
|
||||||
This effect is known as Churn Rate.\n
|
|
||||||
High Churn Rate is tightly connected with database performance and may
|
|
||||||
result in unexpected OOM's or slow queries."
|
|
||||||
|
|
||||||
- alert: TooHighChurnRate24h
|
|
||||||
expr: |
|
|
||||||
sum(increase(vm_new_timeseries_created_total[24h])) by(instance)
|
|
||||||
>
|
|
||||||
(sum(vm_cache_entries{type="storage/hour_metric_ids"}) by(instance) * 3)
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=66&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Too high number of new series on \"{{ $labels.instance }}\" created over last 24h"
|
|
||||||
description: "The number of created new time series over last 24h is 3x times higher than
|
|
||||||
current number of active series on \"{{ $labels.instance }}\".\n
|
|
||||||
This effect is known as Churn Rate.\n
|
|
||||||
High Churn Rate is tightly connected with database performance and may
|
|
||||||
result in unexpected OOM's or slow queries."
|
|
||||||
|
|
||||||
- alert: TooHighSlowInsertsRate
|
|
||||||
expr: |
|
|
||||||
(
|
|
||||||
sum(rate(vm_slow_row_inserts_total[5m])) by(instance)
|
|
||||||
/
|
|
||||||
sum(rate(vm_rows_inserted_total[5m])) by(instance)
|
|
||||||
) > 0.05
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
dashboard: "http://localhost:3000/d/wNf0q_kZk?viewPanel=68&var-instance={{ $labels.instance }}"
|
|
||||||
summary: "Percentage of slow inserts is more than 5% on \"{{ $labels.instance }}\" for the last 15m"
|
|
||||||
description: "High rate of slow inserts on \"{{ $labels.instance }}\" may be a sign of resource exhaustion
|
|
||||||
for the current load. It is likely more RAM is needed for optimal handling of the current number of active time series.
|
|
||||||
See also https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3976#issuecomment-1476883183"
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
Metrics, logs, and traces for the cluster — one VictoriaMetrics-ecosystem stack,
|
Metrics, logs, and traces for the cluster — one VictoriaMetrics-ecosystem stack,
|
||||||
operator-driven, running in the `monitoring` namespace. Replaces the standalone
|
operator-driven, running in the `monitoring` namespace. Replaces the standalone
|
||||||
Docker Compose stack in `../../apps/victoriametrics/`.
|
Docker Compose monitoring stack. The retired stack and its three Docker data volumes
|
||||||
|
were removed on 2026-09-16 with the maintainer's explicit approval.
|
||||||
|
|
||||||
## Grafana 当前入口(2026-09-16)
|
## Grafana 当前入口(2026-09-16)
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ observability/
|
|||||||
operator/ victoria-metrics-operator (Helm)
|
operator/ victoria-metrics-operator (Helm)
|
||||||
metrics/
|
metrics/
|
||||||
vmsingle|vmagent|vmalert|vmalertmanager.yaml core CRs
|
vmsingle|vmagent|vmalert|vmalertmanager.yaml core CRs
|
||||||
rules/ VMRules ported from ../../apps/victoriametrics/rules
|
rules/ VMRules migrated from the retired Compose stack (source in Git history)
|
||||||
exporters/ node-exporter (+VMNodeScrape), kube-state-metrics (Helm)
|
exporters/ node-exporter (+VMNodeScrape), kube-state-metrics (Helm)
|
||||||
scrapes/ kubelet + cAdvisor VMNodeScrapes
|
scrapes/ kubelet + cAdvisor VMNodeScrapes
|
||||||
logs/ VLSingle CR + victoria-logs-collector (Helm)
|
logs/ VLSingle CR + victoria-logs-collector (Helm)
|
||||||
@@ -105,8 +106,8 @@ observability/
|
|||||||
|
|
||||||
## Docker hosts
|
## Docker hosts
|
||||||
|
|
||||||
The Compose services on Docker hosts (`../../apps/vlmcsd`, `../../apps/ps3netsrv`, `../../apps/netboot`, ...
|
The Compose services on Docker hosts (`../../apps/vlmcsd`, `../../apps/ps3netsrv`, `../../apps/netboot`, ...)
|
||||||
and the legacy `../../apps/victoriametrics` stack) are monitored too:
|
are monitored too:
|
||||||
|
|
||||||
- **Metrics — pull, nothing exposed.** Each host runs `docker-hosts/compose.yaml`
|
- **Metrics — pull, nothing exposed.** Each host runs `docker-hosts/compose.yaml`
|
||||||
(cAdvisor `:8080` + node-exporter `:9100`). The cluster's vmagent scrapes their LAN
|
(cAdvisor `:8080` + node-exporter `:9100`). The cluster's vmagent scrapes their LAN
|
||||||
@@ -177,7 +178,9 @@ cd grafana && ./helm.sh && cd ..
|
|||||||
vmalert (14950), node-exporter (1860), cAdvisor now that those exporters exist.
|
vmalert (14950), node-exporter (1860), cAdvisor now that those exporters exist.
|
||||||
- Wire real Alertmanager receivers in `metrics/vmalertmanager.yaml` (email via
|
- Wire real Alertmanager receivers in `metrics/vmalertmanager.yaml` (email via
|
||||||
`../../apps/smtp-relay/`), replacing the ported `blackhole`.
|
`../../apps/smtp-relay/`), replacing the ported `blackhole`.
|
||||||
- Once parity is confirmed, decommission the Compose stack: `../../apps/victoriametrics/`
|
- 旧 Compose 监控栈已于 2026-09-16 按维护者要求清理:原先已无容器,本次移除
|
||||||
(`docker compose down`), and retire that folder.
|
旧配置及 `victoriametrics_vmdata`、`victoriametrics_vmagentdata`、
|
||||||
|
`victoriametrics_grafanadata` 三个无引用 Docker 卷。没有创建备份或迁移旧数据,
|
||||||
|
Kubernetes 监控资源未修改。旧配置仍可从 Git 历史查阅,旧卷中的数据已删除。
|
||||||
- Add app instrumentation: point `OTEL_EXPORTER_OTLP_ENDPOINT` at
|
- Add app instrumentation: point `OTEL_EXPORTER_OTLP_ENDPOINT` at
|
||||||
`otel-collector.monitoring.svc:4317`.
|
`otel-collector.monitoring.svc:4317`.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Ported from ../../../../apps/victoriametrics/rules/alerts-health.yml
|
# 告警规则从已退役的 Compose 栈迁入,原始版本保留在 Git 历史。
|
||||||
apiVersion: operator.victoriametrics.com/v1beta1
|
apiVersion: operator.victoriametrics.com/v1beta1
|
||||||
kind: VMRule
|
kind: VMRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Ported from ../../../../apps/victoriametrics/rules/alerts-vmagent.yml
|
# 告警规则从已退役的 Compose 栈迁入,原始版本保留在 Git 历史。
|
||||||
apiVersion: operator.victoriametrics.com/v1beta1
|
apiVersion: operator.victoriametrics.com/v1beta1
|
||||||
kind: VMRule
|
kind: VMRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Ported from ../../../../apps/victoriametrics/rules/alerts-vmalert.yml
|
# 告警规则从已退役的 Compose 栈迁入,原始版本保留在 Git 历史。
|
||||||
apiVersion: operator.victoriametrics.com/v1beta1
|
apiVersion: operator.victoriametrics.com/v1beta1
|
||||||
kind: VMRule
|
kind: VMRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Ported from ../../../../apps/victoriametrics/rules/alerts.yml
|
# 告警规则从已退役的 Compose 栈迁入,原始版本保留在 Git 历史。
|
||||||
apiVersion: operator.victoriametrics.com/v1beta1
|
apiVersion: operator.victoriametrics.com/v1beta1
|
||||||
kind: VMRule
|
kind: VMRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Alert router/notifier. Ported 1:1 from ../../../apps/victoriametrics/alertmanager.yaml,
|
# Alert router/notifier. Migrated from the retired Compose stack (see Git history),
|
||||||
# which currently blackholes everything. Wire real receivers here (email via the
|
# which currently blackholes everything. Wire real receivers here (email via the
|
||||||
# in-cluster smtp-relay, or a webhook) when you want notifications.
|
# in-cluster smtp-relay, or a webhook) when you want notifications.
|
||||||
apiVersion: operator.victoriametrics.com/v1beta1
|
apiVersion: operator.victoriametrics.com/v1beta1
|
||||||
|
|||||||
Reference in New Issue
Block a user