Skip to main content

Check Types

SolidPing supports multiple protocols for monitoring your services. Each check type has specific configuration options and validation capabilities.

HTTP/HTTPS

Monitor web services, APIs, and websites.

URL Format

http://example.com/path
https://api.example.com/health

Configuration Options

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"

Status Code Matching

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

Example Configurations

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

Configuration Options

OptionDescriptionExample
HostTarget hostnamedb.example.com
PortTarget port5432
TLSEnable TLS/SSLtrue / false
TimeoutConnection timeout10s

Example Configurations

PostgreSQL

url: tcp://db.example.com:5432
timeout: 5s

Redis

url: tcp://redis.example.com:6379
timeout: 5s

MySQL with TLS

url: tcps://mysql.example.com:3306
timeout: 10s

ICMP (Ping)

Check host availability using ICMP echo requests.

URL Format

ping://hostname
icmp://hostname

Configuration Options

OptionDescriptionDefault
HostTarget hostname or IP-
CountNumber of packets3
IntervalTime between packets1s
TimeoutTotal timeout10s

Example Configurations

Basic Ping

url: ping://server.example.com
timeout: 10s

Multiple Packets

url: ping://192.168.1.1
count: 5
interval: 500ms
timeout: 15s
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

Configuration Options

OptionDescriptionExample
ResolverDNS server to query8.8.8.8, 1.1.1.1
DomainDomain to resolveexample.com
TypeRecord typeA, AAAA, MX, TXT, CNAME
ExpectedExpected values93.184.216.34

Record Types

TypeDescription
AIPv4 address
AAAAIPv6 address
MXMail exchange
TXTText record
CNAMECanonical name
NSName server
SOAStart of authority

Example Configurations

A Record Check

url: dns://8.8.8.8/example.com?type=A
expected: 93.184.216.34
timeout: 5s

MX Record Check

url: dns://1.1.1.1/example.com?type=MX
timeout: 5s

Custom Resolver

url: dns://ns1.example.com/internal.example.com?type=A
expected: 10.0.0.1
timeout: 5s

SSL Certificate

Monitor SSL/TLS certificate expiration and validity.

Configuration Options

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

Example Configurations

Certificate Expiry Check

url: https://example.com
ssl_check: true
ssl_warning_days: 30
ssl_critical_days: 7

What Gets Checked

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

Common Options

All check types support these common options:

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

Check Intervals

Supported interval formats:

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

Minimum interval: 1s (use sparingly) 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