Capability

Health Check Scenarios

Take DNS responses beyond static records — let data-centre, application and service health drive every decision.

TR7 Health Check Scenarios do not leave GTM decisions at the level of "is the data centre up or down?" HTTP, HTTPS, Oracle and other health check results are combined with per-data-centre automatic checks and boolean scenarios to reflect real service health in every DNS response. For each data centre, automatic checks for WAN access, LAN access, general access, internet status and maintenance mode are available. User-defined HTTP/HTTPS content checks, JSONata validations, Oracle connectivity scenarios and ADC-side health results can all be added to the same decision structure. The scenario engine supports AND/OR combinations and negative conditions. For example, a record can be included in the DNS response only when the data centre is reachable, the application is healthy, the database is responding and maintenance mode is off. When a state changes, only the affected records need to be regenerated. The result: in TR7, a health check is not just monitoring data — it is the live decision layer that determines which IP the DNS returns.

5
Automatic health checks per data centre (WAN, LAN, access, internet, maintenance mode)
11
Health check types — TCP, UDP, HTTP, HTTPS, PING, DNS, FTP, FTPS, LDAP, LDAPS, Oracle
3
Default consecutive success/failure threshold — flap protection

A data centre may appear healthy while the application, database or access path is not.

The most common GTM mistake is managing data-centre health with a single up/down flag. In reality a data centre can be reachable while the application is down; the application can respond while the database is not working; the WAN link can be open while LAN-side access has failed. A single-flag health model cannot capture these distinctions.

In many organisations the link between health checks and DNS responses is manual or fragmented. A monitoring system raises an alert, an operations team runs a script, a DNS record is updated by hand or a separate automation takes over. This chain reacts slowly and is vulnerable to human error at critical moments.

Complex scenarios are even harder. Conditions such as "activate DC1 if it has internet access and is not in maintenance; otherwise return a backup record if DC2 application health or DC3 access is positive" are usually managed through YAML files, scripts and manual dependencies. This turns a GTM decision into an operational labyrinth that is difficult to understand or audit.

Flapping is a real risk. When a health check fails momentarily and DNS changes immediately, user traffic is moved to another region unnecessarily. Likewise, a brief success can pull traffic back before the problem is fully resolved. Consecutive success and failure thresholds plus state-preservation logic are therefore essential.

TR7 health check scenarios combine data-centre, application, database, maintenance mode and custom checks into a single boolean decision layer, binding DNS responses directly to real service health.

Our approach

TR7 evaluates GTM health decisions by combining automatic data-centre checks, manual health checks and scenario logic in a unified model.

Automatic and manual health checks unite in the same scenario

Per-data-centre automatic checks, user-defined HTTP/HTTPS/Oracle checks and ADC health results can all be used within the same decision structure. This binds infrastructure and application health into a single GTM decision.

Boolean conditions simplify complex decisions

Scenarios are built with AND and OR groups. Appending `!` to a health-check identifier negates the condition, so states such as maintenance mode can be used as negative conditions in the same decision.

Only affected records are re-evaluated when health state changes

Health check, scenario and DNS record relationships are tracked through graph-style maps. When a health state changes, only the impacted scenarios and records are re-evaluated.

Content validation checks the application layer — not just port availability

HTTP and HTTPS health checks can verify status codes and response content, not only whether a port is open. JSONata expressions or simple content checks confirm that the application is genuinely returning a healthy response.

Capabilities

TR7 Health Check Scenarios cover a range of GTM needs — from simple access checks to multi-layer application and data-centre decisions.

HTTP and HTTPS health checks validate status codes and response content

TR7 supports parameters such as method, URI, body, headers, expected status codes, certificate verification and timeout for HTTP and HTTPS checks. The check therefore does not just measure whether a connection can be established — it also verifies that the application is returning the correct response from the correct endpoint, bringing the GTM decision closer to real application behaviour.

JSONata content checks validate API responses in a meaningful way

For health endpoints that return JSON, specific fields can be evaluated using a JSONata expression. An expression such as `status = "ok"` confirms not only that the application responds but that it returns the expected health state. The response body is parsed into the appropriate structure and the expression is evaluated against it. This gives more reliable health measurement for modern JSON API-based applications.

Simple content checks provide fast string matching

For more straightforward scenarios, the response body can be checked for the presence of a specific string. This approach is sufficient for simple application health checks that do not require a full JSONata expression. Operations teams can bind the DNS decision to the confirmation that a known word or fixed state appears in the application response, making checks quick and easy to understand.

Oracle health checks add a database tier to the scenario

Oracle checks are configured through a scenario that includes steps for establishing a connection, waiting and executing a command. Results are evaluated based on an expected row count or expected text. This allows DNS responses to be tied not only to the application tier but also to database reachability, reducing the blind spot of "application is up but the database is not working" in critical business applications.

Five automatic health checks are available for every data centre

TR7 can use `wanAccess`, `lanAccess`, `access`, `internet` and `maintenanceMode` checks on a per-data-centre basis. These checks represent different access and operational states of each data centre independently. States such as maintenance mode can be treated as negative conditions in a scenario rather than as positive health signals, giving DNS decisions a closer match to operational reality.

Boolean scenarios support AND, OR and negative conditions

Scenarios are built with condition group structures; conditions within a group follow AND logic while inter-group relationships can be OR or AND. Appending `!` to a health-check identifier inverts the condition, enabling constructs such as `dcAccess AND NOT maintenanceMode`. Complex GTM decisions can be designed without writing scripts.

Consecutive success and failure thresholds reduce flapping risk

`requiredSuccess` and `requiredFailure` values can be configured for health checks. The default approach counts consecutive successes or failures before a state transition is accepted. This prevents momentary packet loss, brief latency spikes or transient service fluctuations from immediately changing the DNS response, making GTM behaviour more stable.

Local health state persistence provides continuity after restarts

Health check states can be persisted to a local file and restored when the system restarts. This means that all health states do not need to be re-learned from scratch after every restart. This continuity is especially important in larger GTM environments with many scenarios and records, giving operations teams more predictable behaviour after a restart.

Eleven health check types are available for GTM and ADC coordination

TCP, UDP, HTTP, HTTPS, PING, DNS, FTP, FTPS, LDAP, LDAPS and Oracle health checks are available in the TR7 ecosystem. Coordinating GTM and ADC health results lets DNS decisions reflect the true state of the service layer. This broad type support makes it possible to build a health model not only for web applications but for multi-protocol enterprise services. Script-like TCP send-receive scenarios are also available for custom check requirements.

Operational depth

For health check scenarios to work reliably, identifier format, state persistence, trigger sequence, master-node control and change propagation must all be clearly managed.

01

Health check types

The scenario engine can evaluate health check types including static, dcCheck, http, https and oracle. Combined with the broader GTM and ADC health check family, multi-protocol service states can be brought into the decision structure — important for service architectures that are not limited to a single HTTP check type.

02

Automatic identifier format

Per-data-centre automatic health checks are identified using the format `auto||`. For example, the internet status of a data centre is represented by a separate automatic check identifier. This standard format makes scenario and record relationships easier to track in an orderly way.

03

Manual health check identifiers

User-defined health checks are created with unique identifiers. These identifiers can be referenced directly in scenario conditions, meaning the same HTTP, HTTPS or Oracle check can be evaluated across multiple GTM scenarios.

04

Trigger flow

When a health state changes, the relevant health check state is updated first. Linked scenarios are then re-evaluated and, if necessary, the dynamic configuration is regenerated. This flow ensures that changes propagate to DNS responses in a controlled manner.

05

Default scenario states

Built-in scenarios such as `ALWAYS` and `NEVER` are available for producing fixed decisions. With `ALWAYS`, a record is always considered eligible; with `NEVER`, disabled behaviour is achieved. This is useful for testing, temporary takedowns or unconditional routing.

06

Master-node control

Trigger actions are executed only on the GTM master node. This prevents the same action from being run repeatedly by multiple nodes in a cluster. For actions such as DR triggering, webhooks or notifications, this control provides operational safety.

When to use it

DNS decision based on WAN and LAN access

Multi-site organisations may not want a data centre to be considered up based on a single access path. TR7 combines different access routes into the same DNS decision using scenarios such as `wanAccess OR lanAccess`.

Respond only when application and database are both healthy

For critical business applications, data-centre reachability alone is not enough. TR7 uses scenarios such as `dcAccess AND appHC AND dbHC` to include the relevant IP in the DNS response only when both the application and the Oracle database are healthy.

Keep traffic out when maintenance mode is active

An operations team may not want a data centre to receive traffic during maintenance even if it is technically reachable. TR7 can remove a maintenance location from the DNS response using a scenario such as `dcAccess AND NOT maintenanceMode`.

GTM routing based on JSON API health

Modern applications can publish their health state through a JSON endpoint. TR7 binds DNS responses to real application health by combining an HTTPS health check with a JSONata expression such as `status = "ok"`.

Frequently asked questions

What is the difference between a health check scenario and a simple up/down check?
A simple up/down check only reports whether a data centre is technically reachable. A health check scenario combines HTTP/HTTPS content validation, JSONata expressions, Oracle connectivity checks and per-data-centre automatic checks using AND/OR logic. The DNS response is therefore based on real service health rather than just infrastructure reachability.
How do I reflect maintenance mode in a DNS decision?
TR7 includes a `maintenanceMode` automatic check for every data centre. By adding this check to a scenario condition as a negative (using the `!` suffix), a data centre in maintenance can be excluded from DNS responses without changing its technical reachability.
What can be done to prevent flapping?
TR7 supports `requiredSuccess` and `requiredFailure` parameters for health checks. The default threshold is 3 consecutive successes or failures. This prevents momentary packet loss or transient service fluctuations from immediately changing the DNS response, making GTM behaviour more stable.
How do I tie Oracle database health to a GTM decision?
An Oracle health check is configured through a scenario sequence that includes steps for establishing a connection, waiting and executing a SQL command. Results are evaluated based on an expected row count or expected text. This check can be included in a GTM scenario so that the DNS response is also conditioned on database reachability.
Can the same health check be used for multiple DNS records?
Yes. User-defined health checks are created with unique identifiers and can be referenced in multiple GTM scenarios. Because scenario and record relationships are tracked through graph-style maps, when a health state changes only the affected scenarios and records are re-evaluated — other records are not unnecessarily regenerated.
Are health check states reset when GTM restarts?
No. Health check states are persisted to a local file and restored when the system restarts. This means all states do not need to be relearned from scratch after every restart. In larger GTM environments with many scenarios and records, this continuity improves operational predictability.

Bind your DNS decisions to real service health

Combine HTTP, HTTPS, Oracle and data-centre checks into boolean scenarios. Let us walk through a live setup in your own environment.