Monitor Issues

Monitor Shows as Down (False Positive)

Problem: Monitor reports downtime but your site is actually accessible. Common Causes:
  • Aggressive firewall blocking probe IP addresses
  • Rate limiting triggered by monitoring requests
  • Geographic access restrictions
  • CDN/WAF (Web Application Firewall) false positive detection
Solutions:
1

Whitelist Probe IPs

Add Watchman Tower’s probe IP addresses to your firewall allowlist. You can get the current list from the API endpoint or your dashboard settings.
2

Adjust Rate Limits

Ensure your rate limits allow at least 1 request per monitor check interval. Configure your web server (Nginx, Apache) to exclude probe IPs from rate limiting.
3

Check Geographic Blocks

Verify that your geo-blocking rules don’t block the regions where our monitoring probes are located (US, EU, Asia-Pacific).
4

Review CDN Rules

Check Cloudflare or other CDN settings for aggressive bot protection that might be blocking legitimate monitoring traffic.

Slow Response Times

Problem: Monitor shows high response times inconsistently. Diagnosis Steps: Check the timing breakdown in your monitor details to identify the bottleneck:
  • DNS Time: If high (>200ms), DNS lookup is slow
  • TCP Time: Connection establishment delay
  • TLS Time: If high (>300ms), SSL handshake is slow
  • TTFB (Time to First Byte): If high (>1s), server processing is slow
  • Download Time: Content transfer speed
Solutions by Bottleneck:
  • Use a faster DNS provider (Cloudflare 1.1.1.1, Google 8.8.8.8)
  • Reduce DNS TTL for faster propagation
  • Enable DNS prefetching
  • Consider using a CDN with built-in DNS optimization
  • Enable OCSP stapling
  • Use TLS session resumption
  • Upgrade to TLS 1.3 for faster handshakes
  • Optimize certificate chain
  • Add caching layer (Redis, Memcached)
  • Optimize database queries
  • Enable server-side caching
  • Scale up or scale out your infrastructure

SSL Certificate Errors

Problem: Monitor reports SSL certificate errors. Common Error Messages:
ErrorCauseFix
Certificate ExpiredSSL cert expiredRenew certificate immediately
Certificate Not Yet ValidClock skew or scheduled certCheck server time, wait for valid-from date
Unable to VerifyIncomplete certificate chainInclude intermediate certificates
Self-Signed CertificateSelf-signed cert in productionUse CA-signed certificate
Hostname MismatchDomain doesn’t match certificateUpdate cert with correct domain/SAN
How to Fix:
1

Check Certificate Expiration

View your certificate details in the monitor settings to see when it expires. Renew before expiration to avoid downtime.
2

Verify Certificate Chain

Ensure your server sends the complete certificate chain including intermediate certificates. Most hosting providers configure this automatically.
3

Update Certificate

If the domain doesn’t match or the certificate is expired, obtain and install a new certificate from your certificate provider or use Let’s Encrypt for free certificates.

Alert Issues

Not Receiving Alerts

Problem: Alerts are configured but notifications aren’t being received. Troubleshooting Checklist:
1

Verify Alert is Enabled

Check that the alert rule is active in your dashboard. Disabled alerts won’t send notifications.
2

Check Routing Rules

Ensure your monitor matches the alert conditions:
  • Status equals “down”
  • Response time exceeds threshold
  • SSL certificate expires within X days
3

Verify Notification Channels

Test each notification channel (email, Slack, SMS, push) using the “Test” button in alert settings to ensure they’re configured correctly.
4

Check Spam Folders

Email alerts might be filtered. Whitelist [email protected] in your email provider.
5

Review Rate Limits

Alerts are throttled to prevent spam:
  • Same alert: Maximum 1 per 5 minutes
  • All alerts: Maximum 20 per hour per plan

Too Many Alerts

Problem: Receiving excessive notifications. Solutions:
Increase the failure threshold to require multiple consecutive failures before alerting (e.g., alert after 3 consecutive failures instead of 1).
Configure alerts to only notify during business hours:
  • Set timezone
  • Define start/end hours (e.g., 9 AM - 5 PM)
  • Select active days (Monday-Friday)
Group similar alerts together to reduce notification volume. Alerts within a 5-minute window can be combined into a single notification.

Integration Issues

Slack Integration Not Working

Problem: Slack webhook returns errors or alerts don’t appear in your channel. Solutions:
1

Verify Webhook URL

Test your Slack webhook URL by using the “Test Integration” button in the Slack settings page. You should see a test message appear in your channel.
2

Check Channel Permissions

Ensure the Slack app or bot has permission to post messages in the target channel. Check channel settings in Slack.
3

Regenerate Webhook

If the webhook has expired or been revoked, create a new incoming webhook in your Slack workspace settings.
4

Review Slack Rate Limits

Slack limits incoming webhooks to 1 message per second per channel. If you have many monitors, consider using different channels or adjust alert frequency.

WordPress Agent Offline

Problem: WordPress agent shows as disconnected. Common Causes:
  1. Plugin deactivated or deleted
  2. WordPress cron not running properly
  3. Firewall blocking outbound HTTPS requests
  4. Authentication token expired or invalid
  5. PHP errors preventing plugin execution
Solutions:
Ensure WordPress cron is enabled. Check your wp-config.php file and make sure DISABLE_WP_CRON is not set to true. If using server cron, ensure it’s running every 5 minutes.
Get a new authentication token from the Watchman Tower dashboard and update it in your WordPress plugin settings.
Whitelist api.watchmantower.com in your server firewall to allow the WordPress plugin to send heartbeat data.
Verify the Watchman Tower plugin is active in your WordPress admin → Plugins page. Reactivate if necessary.

API Issues

401 Unauthorized

Problem: API requests return 401 Unauthorized error. Common Causes:
  • Invalid or expired API key
  • API key has been revoked
  • Wrong authorization header format
  • Missing “Bearer” prefix in header
How to Fix:
1

Verify API Key Format

Ensure your API key is in the correct format: wmt_live_... for production or wmt_test_... for testing.
2

Check Authorization Header

Use the correct format: Authorization: Bearer YOUR_API_KEY. Don’t forget the “Bearer” prefix.
3

Test API Key

Use the authentication verification endpoint to test if your API key is valid and active.
4

Generate New Key

If your key is expired or revoked, generate a new one from the dashboard → Settings → API Keys.

429 Rate Limited

Problem: API returns 429 “Too Many Requests” error. Rate Limits by Plan:
PlanRate Limit
Free60 requests/minute
Solo150 requests/minute
Team300 requests/minute
Stack1000 requests/minute
What to Check: Response headers include rate limit information:
  • X-RateLimit-Limit: Your maximum requests per minute
  • X-RateLimit-Remaining: Requests remaining in current window
  • X-RateLimit-Reset: Timestamp when limit resets
Solutions:
  1. Implement Request Throttling: Add delays between API calls to stay under the limit
  2. Use Batch Endpoints: Some endpoints support batch operations to reduce request count
  3. Cache Responses: Store frequently accessed data locally and refresh periodically
  4. Upgrade Plan: Consider upgrading to a higher plan for increased rate limits

Performance Issues

Dashboard Loading Slowly

Common Causes & Solutions:

Reduce Data Range

Query smaller time windows (24 hours instead of 30 days) for faster loading.

Enable Browser Cache

Clear and refresh browser cache, or enable caching for better performance.

Limit Active Monitors

Archive or pause unused monitors to reduce dashboard data load.

Use Aggregated Data

View hourly or daily aggregated metrics instead of per-check data.
Optimization Tips:
  • Filter monitors by group or status instead of viewing all
  • Use the search function to find specific monitors
  • Bookmark specific monitor pages instead of loading the full list
  • Consider using the API for bulk data exports

Data Issues

Missing Historical Data

Problem: Gaps in your check history or missing data points. Common Causes:
  1. Monitor Was Paused: Check event history to see if monitoring was paused during the gap period
  2. System Maintenance: Scheduled maintenance windows (announced in advance)
  3. Payment Issues: Account suspension due to payment failure
  4. Monitor Deleted: If a monitor was deleted and recreated, historical data from the old monitor is not transferred
What to Check:
  • Review monitor event history for pause/resume events
  • Check your billing history for any payment issues
  • Visit our status page for any historical maintenance windows
  • Verify data retention period for your plan
Data Retention by Plan:
PlanRetention Period
Free7 days
Solo30 days
Team90 days
Stack1 year

Getting Help

Can’t find a solution to your issue? When Contacting Support, Include:
  • Monitor ID or name
  • Timestamp of the issue
  • Error messages or screenshots
  • Steps to reproduce the problem
  • Your plan type