HTTP backend pool with retries
87-http-multi-backend-retry.yaml
HTTP(S)
What this example does
Multi-node infrastructure verification: HTTP backend pool with retries. This can reveal differences between individual service backends.
Checks and behavior
- Sends an GET request to https://api.example.com/health.
- Checks allowed/denied HTTP status codes.
- Looks for expected response content and/or rejects known error markers.
- TLS settings cover certificate trust, certificate expiry.
- Runs against explicitly configured backends.
- Retries failures to reduce transient false alarms.
- Formats results for icinga2 output.
Adapt example domains, addresses, credentials and thresholds to your environment before use.
YAML configuration
# Copyright (c) 2026 mati peterson. Maintainer: mati peterson <ipsonic@mailbox.org>. Project: https://ipsonic.com/probe/. Disclaimer: Provided AS IS, without warranty of any kind. Use at your own risk; validate checks and configurations before production use.
# Example template: replace example.com and documentation IPs before use.
name: HTTP backend pool with retries
url: https://api.example.com/health
request:
method: GET
tls:
verify: true
min_valid_days: 14
execution:
retries: 2
retry_delay: 1
success_required: 2
backends:
- name: node-1
resolve:
api.example.com: 192.0.2.10
- name: node-2
resolve:
api.example.com: 192.0.2.11
tests:
status:
allow:
- 200
body:
contains:
- healthy
monitoring:
output: icinga2
assertions:
- id: http.body
severity: warning
- id: http.status
severity: critical