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
| Option | Description | Example |
|---|---|---|
| URL | The endpoint to check | https://api.example.com/health |
| Method | HTTP method | GET, POST, PUT, DELETE |
| Timeout | Request timeout | 30s |
| Expected Status | Status code to expect | 200, 2XX (wildcard) |
| Headers | Custom request headers | Authorization: Bearer token |
| Body | Request body (for POST/PUT) | {"key": "value"} |
| Body Match | Pattern 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
| Option | Description | Example |
|---|---|---|
| Host | Target hostname | db.example.com |
| Port | Target port | 5432 |
| TLS | Enable TLS/SSL | true / false |
| Timeout | Connection timeout | 10s |
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
| Option | Description | Default |
|---|---|---|
| Host | Target hostname or IP | - |
| Count | Number of packets | 3 |
| Interval | Time between packets | 1s |
| Timeout | Total timeout | 10s |
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
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
| Option | Description | Example |
|---|---|---|
| Resolver | DNS server to query | 8.8.8.8, 1.1.1.1 |
| Domain | Domain to resolve | example.com |
| Type | Record type | A, AAAA, MX, TXT, CNAME |
| Expected | Expected values | 93.184.216.34 |
Record Types
| Type | Description |
|---|---|
A | IPv4 address |
AAAA | IPv6 address |
MX | Mail exchange |
TXT | Text record |
CNAME | Canonical name |
NS | Name server |
SOA | Start 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
| Option | Description | Example |
|---|---|---|
| Host | Target hostname | example.com |
| Port | HTTPS port | 443 |
| Warning Days | Days before expiry to warn | 30 |
| Critical Days | Days before expiry to alert | 7 |
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:
| Option | Description | Default |
|---|---|---|
name | Display name | - |
description | Description | - |
enabled | Enable/disable check | true |
period | Check interval | 60s |
timeout | Request timeout | 30s |
incident_threshold | Failures before incident | 1 |
escalation_threshold | Failures before escalation | 3 |
recovery_threshold | Successes before recovery | 1 |
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
- Use appropriate timeouts - Set timeouts based on expected response times
- Avoid excessive frequency - Sub-minute checks increase load on both SolidPing and targets
- Use meaningful names - Make check names descriptive for quick identification
- Set appropriate thresholds - Balance between noise and missing real issues
- Monitor from multiple regions - Use distributed workers for global services