76 lines
2.8 KiB
YAML
76 lines
2.8 KiB
YAML
# Copy this file to config.yaml and adjust it to your setup.
|
|
#
|
|
# This file is bind-mounted into the container (see docker-compose.yml),
|
|
# NOT baked into the image. You can edit it freely at any time — just
|
|
# restart the container afterwards (`docker compose restart`) to pick up
|
|
# the changes. No rebuild is ever needed for changes in this file.
|
|
|
|
influx:
|
|
# Base URL of your InfluxDB 2.x instance. Reachable directly (host/IP +
|
|
# port), no shared docker network required.
|
|
url: "https://influxdb.example.local:8086"
|
|
|
|
# InfluxDB 2.x API token with write access to the bucket below.
|
|
token: "REPLACE_WITH_YOUR_INFLUX_API_TOKEN"
|
|
|
|
# InfluxDB organization name (or ID) that owns the bucket.
|
|
org: "REPLACE_WITH_YOUR_ORG"
|
|
|
|
bucket: "uptime"
|
|
|
|
# InfluxDB uses a self-signed certificate -> skip certificate
|
|
# verification for it specifically. This does NOT affect certificate
|
|
# verification of the monitored endpoints below (see verify_tls there).
|
|
verify_ssl: false
|
|
|
|
check:
|
|
# Each endpoint is checked once every interval_seconds, but checks are
|
|
# spread evenly across that window rather than all fired at once — with
|
|
# N endpoints configured, one endpoint is checked every
|
|
# (interval_seconds / N) seconds, rotating through all of them.
|
|
# Example: 6 endpoints + interval_seconds: 3600 (1 hour) -> one endpoint
|
|
# checked every 10 minutes.
|
|
interval_seconds: 600
|
|
|
|
# Default per-request timeout (DNS lookup + HTTP request), in seconds.
|
|
# Can be overridden per endpoint.
|
|
timeout_seconds: 10
|
|
|
|
# If any single endpoint check fails, ALL endpoints are checked once,
|
|
# immediately, after this short delay (in seconds) — instead of waiting
|
|
# for their normal rotation slot. The rotation is then re-spread evenly
|
|
# from that point and resumes normally.
|
|
immediate_recheck_delay_seconds: 5
|
|
|
|
endpoints:
|
|
- name: "example-https"
|
|
host: "example.com"
|
|
scheme: "https"
|
|
port: 443
|
|
# DNS server used to resolve `host` for THIS endpoint. The
|
|
# system/router-provided DNS resolver is never used — every lookup
|
|
# goes explicitly to this server only.
|
|
# Required unless `host` is already a literal IP address (see the
|
|
# entry below), in which case it's optional and ignored.
|
|
dns_server: "1.1.1.1"
|
|
expected_status: 200
|
|
# path: "/" # optional, defaults to "/"
|
|
# timeout_seconds: 5 # optional, overrides check.timeout_seconds
|
|
# verify_tls: true # optional, set false for self-signed endpoint certs
|
|
|
|
- name: "example-internal-http"
|
|
host: "internal.example.local"
|
|
scheme: "http"
|
|
port: 8080
|
|
dns_server: "9.9.9.9"
|
|
expected_status: 200
|
|
|
|
- name: "example-raw-ip"
|
|
host: "192.168.0.2" # literal IP -> DNS resolution is skipped entirely
|
|
scheme: "http"
|
|
port: 8080
|
|
# dns_server not needed here
|
|
expected_status: 200
|
|
|
|
# Add as many endpoints as you like below.
|