Skip to main content

Check Types

SolidPing supports 32 check types across multiple categories for monitoring your services. Each check type has specific configuration options and validation capabilities.

Network Checks

HTTP/HTTPS

Monitor web services, APIs, and websites.

URL Format:

http://example.com/path
https://api.example.com/health
OptionDescriptionExample
URLThe endpoint to checkhttps://api.example.com/health
MethodHTTP methodGET, POST, PUT, DELETE
TimeoutRequest timeout30s
Expected StatusStatus code to expect200, 2XX (wildcard)
HeadersCustom request headersAuthorization: Bearer token
BodyRequest body (for POST/PUT){"key": "value"}
Body MatchPattern to match in response"status": "ok"
Basic AuthUsername and passworduser:password
Custom User-AgentOverride the default user-agentSolidPing/1.0

Status Code Matching:

  • Exact match: 200, 201, 404
  • Wildcard: 2XX (any 2xx status), 5XX (any 5xx status)

Examples:

# Basic health check
url: https://api.example.com/health
method: GET
expected_status: 200
timeout: 10s

# API with authentication
url: https://api.example.com/v1/users
method: GET
headers:
Authorization: Bearer your-token
Accept: application/json
expected_status: 200
body_match: '"users":'

# POST request
url: https://api.example.com/webhook
method: POST
headers:
Content-Type: application/json
body: '{"test": true}'
expected_status: 200

TCP

Monitor TCP services like databases, message queues, and custom services.

URL Format:

tcp://hostname:port
tcps://hostname:port # With TLS
OptionDescriptionExample
HostTarget hostnamedb.example.com
PortTarget port5432
TLSEnable TLS/SSLtrue / false
TimeoutConnection timeout10s

UDP

Check UDP port reachability.

URL Format:

udp://hostname:port
OptionDescriptionExample
HostTarget hostnamedns.example.com
PortTarget port53
TimeoutConnection timeout10s

ICMP (Ping)

Check host availability using ICMP echo requests.

URL Format:

ping://hostname
icmp://hostname
OptionDescriptionDefault
HostTarget hostname or IP-
CountNumber of packets3
IntervalTime between packets1s
TimeoutTotal timeout10s
Permissions

ICMP checks may require elevated permissions on some systems. Docker containers typically need NET_RAW capability.

DNS

Verify DNS resolution and record values.

URL Format:

dns://resolver/domain?type=A
dns://8.8.8.8/example.com?type=MX
OptionDescriptionExample
ResolverDNS server to query8.8.8.8, 1.1.1.1
DomainDomain to resolveexample.com
TypeRecord typeA, AAAA, MX, TXT, CNAME, NS, SOA
ExpectedExpected values93.184.216.34

WebSocket

Monitor WebSocket endpoint availability.

URL Format:

ws://hostname/path
wss://hostname/path # With TLS
OptionDescriptionExample
URLWebSocket endpointwss://api.example.com/ws
TimeoutConnection timeout10s

Security & Certificates

SSL/TLS Certificate

Monitor SSL/TLS certificate expiration and validity.

OptionDescriptionExample
HostTarget hostnameexample.com
PortHTTPS port443
Warning DaysDays before expiry to warn30
Critical DaysDays before expiry to alert7

What gets checked:

  • Certificate validity
  • Expiration date
  • Chain validation
  • Hostname verification

Domain Expiration

Monitor domain name registration expiration via WHOIS lookup.

OptionDescriptionExample
DomainDomain name to checkexample.com
Warning DaysDays before expiry to warn30
Critical DaysDays before expiry to alert7

Database Checks

PostgreSQL

Monitor PostgreSQL database connectivity and query execution.

URL Format:

postgres://user:password@hostname:5432/database
OptionDescriptionExample
URLConnection stringpostgres://user:pass@db:5432/mydb
QueryOptional test querySELECT 1
TimeoutConnection timeout10s

MySQL / MariaDB

Monitor MySQL or MariaDB database connectivity and query execution.

URL Format:

mysql://user:password@hostname:3306/database
OptionDescriptionExample
URLConnection stringmysql://user:pass@db:3306/mydb
QueryOptional test querySELECT 1
TimeoutConnection timeout10s

MongoDB

Monitor MongoDB connectivity using the ping command.

URL Format:

mongodb://user:password@hostname:27017/database
OptionDescriptionExample
URLConnection stringmongodb://user:pass@db:27017/mydb
TimeoutConnection timeout10s

Redis

Monitor Redis server availability using the PING command.

URL Format:

redis://hostname:6379
redis://:password@hostname:6379
OptionDescriptionExample
URLConnection stringredis://redis:6379
TimeoutConnection timeout10s

Microsoft SQL Server

Monitor MSSQL database connectivity and query execution.

URL Format:

sqlserver://user:password@hostname:1433?database=mydb
OptionDescriptionExample
URLConnection stringsqlserver://sa:pass@db:1433?database=mydb
QueryOptional test querySELECT 1
TimeoutConnection timeout10s

Oracle Database

Monitor Oracle database connectivity and query execution.

URL Format:

oracle://user:password@hostname:1521/service
OptionDescriptionExample
URLConnection stringoracle://user:pass@db:1521/orcl
QueryOptional test querySELECT 1 FROM DUAL
TimeoutConnection timeout10s

Email Services

SMTP

Monitor SMTP server availability with optional authentication.

URL Format:

smtp://hostname:25
smtp://hostname:587
smtps://hostname:465 # With SSL
OptionDescriptionExample
HostSMTP serversmtp.example.com
PortSMTP port25, 587, 465
STARTTLSEnable STARTTLStrue / false
AuthTest authenticationuser:password
TimeoutConnection timeout10s

IMAP

Monitor IMAP server availability and authentication.

URL Format:

imap://hostname:143
imaps://hostname:993 # With SSL
OptionDescriptionExample
HostIMAP serverimap.example.com
PortIMAP port143, 993
TimeoutConnection timeout10s

POP3

Monitor POP3 server availability and authentication.

URL Format:

pop3://hostname:110
pop3s://hostname:995 # With SSL
OptionDescriptionExample
HostPOP3 serverpop3.example.com
PortPOP3 port110, 995
TimeoutConnection timeout10s

Remote Access

SSH

Monitor SSH server availability.

URL Format:

ssh://hostname:22
OptionDescriptionExample
HostSSH serverserver.example.com
PortSSH port22
TimeoutConnection timeout10s

FTP

Monitor FTP server availability.

URL Format:

ftp://hostname:21
OptionDescriptionExample
HostFTP serverftp.example.com
PortFTP port21
TimeoutConnection timeout10s

SFTP

Monitor SFTP server availability.

URL Format:

sftp://hostname:22
OptionDescriptionExample
HostSFTP serversftp.example.com
PortSFTP port22
TimeoutConnection timeout10s

Messaging & Streaming

gRPC

Monitor gRPC services using the standard health check protocol (grpc.health.v1).

URL Format:

grpc://hostname:50051
OptionDescriptionExample
HostgRPC serverapi.example.com
PortgRPC port50051
ServiceService name to checkmy.service.v1
TLSEnable TLStrue / false
TimeoutConnection timeout10s

Kafka

Monitor Apache Kafka broker connectivity.

URL Format:

kafka://hostname:9092
OptionDescriptionExample
BrokerKafka broker addresskafka:9092
TimeoutConnection timeout10s

RabbitMQ

Monitor RabbitMQ message queue connectivity.

URL Format:

amqp://user:password@hostname:5672
OptionDescriptionExample
URLAMQP connection stringamqp://guest:guest@rabbitmq:5672
TimeoutConnection timeout10s

MQTT

Monitor MQTT broker connectivity via subscription.

URL Format:

mqtt://hostname:1883
mqtts://hostname:8883 # With TLS
OptionDescriptionExample
HostMQTT brokermqtt.example.com
PortMQTT port1883
TimeoutConnection timeout10s

Infrastructure

SNMP

Monitor devices via SNMP protocol.

OptionDescriptionExample
HostTarget deviceswitch.example.com
CommunitySNMP community stringpublic
OIDObject identifier1.3.6.1.2.1.1.1.0
VersionSNMP version2c
TimeoutConnection timeout10s

Docker

Monitor remote Docker daemon connectivity.

URL Format:

docker://hostname:2375
OptionDescriptionExample
HostDocker daemondocker.example.com
PortDocker API port2375, 2376 (TLS)
TLSEnable TLStrue / false
TimeoutConnection timeout10s

Game Server

Query game server status using the Steam protocol.

OptionDescriptionExample
HostGame server addressgame.example.com
PortQuery port27015
TimeoutConnection timeout10s

Special Check Types

Heartbeat

Passive monitoring that expects incoming pings at regular intervals. Instead of SolidPing checking a service, the service pings SolidPing to report it's alive.

OptionDescriptionDefault
PeriodExpected ping interval60s
GraceGrace period before incident30s

Use cases:

  • Cron job monitoring
  • Backup completion verification
  • Batch process health checks
  • IoT device connectivity

JavaScript

Custom monitoring scripts with arbitrary logic. Write JavaScript code that runs on each check cycle.

Use cases:

  • Complex multi-step API workflows
  • Custom business logic validation
  • Conditional checks based on time or state
  • Aggregating multiple checks into one

Browser

Headless browser-based monitoring using a real browser engine.

Use cases:

  • Single-page application monitoring
  • Login flow verification
  • Visual regression detection
  • JavaScript-rendered content checks

Common Options

All check types support these common options:

OptionDescriptionDefault
nameDisplay name-
descriptionDescription-
enabledEnable/disable checktrue
periodCheck interval60s
timeoutRequest timeout30s
regionsWorker regions to run fromall
incident_thresholdFailures before incident1
escalation_thresholdFailures before escalation3
recovery_thresholdSuccesses before recovery1

Check Intervals

Supported interval formats:

  • Seconds: 5s, 30s, 60s
  • Minutes: 1m, 5m, 15m
  • Hours: 1h, 6h, 24h

Minimum interval: 5s Recommended minimum: 30s for production

Best Practices

  1. Use appropriate timeouts - Set timeouts based on expected response times
  2. Avoid excessive frequency - Sub-minute checks increase load on both SolidPing and targets
  3. Use meaningful names - Make check names descriptive for quick identification
  4. Set appropriate thresholds - Balance between noise and missing real issues
  5. Monitor from multiple regions - Use distributed workers for global services
  6. Use database checks for actual connectivity - Prefer native database checks (PostgreSQL, MySQL, Redis) over generic TCP checks for database monitoring
  7. Leverage heartbeat checks - Use heartbeat mode for monitoring cron jobs and batch processes