-
Notifications
You must be signed in to change notification settings - Fork 4
Probes
zenscaler is not a monitoring tool: in the best case, probe data should be sourced from a monitoring server and not directly from the target to avoid duplication. Still, some interesting implementations are built-in for convenience and as implementation examples.
Probes are defined under the rules:rule-name
part and identified by a tree-like string, such as probe-type.specific-required.optional-parameter
. A probe can require other arguments: these should be set at the same level.
Built-in probes are listed below. Context for provided examples is as follow:
rules:
rule-custom-name:
[example]
[other mandatory parameters]
If a mandatory parameter is sourced by the probe, it will be listed in the example.
Prefixed by swarm
. Uses the docker API to query the socket specified by endpoint
. Use the label provided by docker-compose
.
-
swarm.cpu_average
: average CPU usage across all service containers-
target
(shared parameter) specify the name of the service as tagged in the orchestrator under thecom.docker.compose.service
label.
-
probe: "swarm.cpu_average"
target: "nginx"
Prefixed by prom
. Can source information from Prometheus-compatible clients such as node-exporter. Format details can be found in the Prometheus documentation.
-
prom.http
-
url
: target to query for metrics -
key
: string of key+modifiers
-
probe: "prom.http"
url: "http://localhost:9100/metrics"
key: 'node_cpu{cpu="cpu0",mode="idle"}'
Prefixed by hap
. Subtyped with frontend
, backend
or servers
. See complete documentation for more information.
hap.frontend
hap.backend
hap.server
probe: "hap.backend.rtime" # provide the average response time in ms over the 1024 last requests
ha-socket: "haproxy.stats" # path to the stats socket
Prefixed by cmd
. Allow the execution of any binary or script and parse the result as a float.
-
cmd.execute
: execute a binary and parse the output as a float64
probe: "cmd.execute"
cmd: "./traefik_rt.sh"