Skip to content
Nominal

Monitors / Redis

Redis

Log in with a connection URL, then PING / INFO / DBSIZE or a command you supply.

How it works

Target is a Redis URL. The probe authenticates (AUTH password, or username + password), SELECTs the DB if the path is set, then either runs your command or the defaults: PING, INFO server, and DBSIZE. The JSON body includes pong, selected info keys, and dbsize — or result for a custom command.

rediss:// uses TLS (default port 6380; redis:// is 6379). Redis can use the same HTTP/SOCKS proxy as HTTP checks.

Target

Schemes: redis, rediss. Path is the logical database index. Password-only URLs use redis://:pass@host.

redis://:pass@cache.example.com:6379/0

Type fields

FieldWhat it does
request_bodyOptional Redis command (PING, INFO, DBSIZE, …). Tokenized and sent as RESP.
verify_tlsWhen the URL is rediss://. Defaults to on.
proxy_urlHTTP or SOCKS proxy for the outbound dial.

Placeholders

Available on this type. See conditions for operators and pat() / has() / len() / any().

[CONNECTED] [RESPONSE_TIME] [IP] [BODY] [DOMAIN_EXPIRATION]

Defaults

New monitors of this type start with:

[CONNECTED] == true[RESPONSE_TIME] < 50

Example conditions

[CONNECTED] == true[BODY].pong == true[BODY].role == master

GraphQL

type is Redis. Same fields as the admin, camelCase in the input (intervalSeconds, requestBody, probeIds).

mutation {
  createMonitor(input: {
    name: "Cache"
    type: Redis
    target: "redis://:secret@cache.example.com:6379/0"
    conditions: ["[CONNECTED] == true", "[BODY].pong == true"]
  }) { id }
}

Terraform

Resource is nominal_monitor from returnearly/nominal. type is Redis. Shared arguments match the shared fields in snake_case (name, target, interval_seconds, probe_ids, channel_ids). Omitted conditions use the type defaults.

Type arguments: request_body, verify_tls, proxy_url. proxy_url is sensitive.

resource "nominal_monitor" "cache" {
  name       = "Cache"
  type       = "Redis"
  target     = "redis://:secret@cache.example.com:6379/0"
  conditions = ["[CONNECTED] == true", "[BODY].pong == true"]
}