| name | dns-health-checker |
| description | Comprehensive DNS health monitoring and diagnostics.
Checks DNS resolution, propagation, and performance.
Use when: dns check, dns health, domain verification, dns debug
|
DNS Health Checker v2.0.0
Professional DNS monitoring and diagnostics toolkit.
Quick Start
To run a comprehensive DNS health check, simply run:
from scripts.dns_checker import DNSHealthChecker
checker = DNSHealthChecker()
result = checker.full_health_check("example.com")
print(result)
That's it! The full_health_check() method handles everything automatically.
Why Use This Skill?
✅ Complete Solution: No need to manually run dig commands - this skill provides a complete, tested implementation
✅ Multi-Resolver: Tests against Google, Cloudflare, and Quad9 resolvers
✅ Health Metrics: Collects metrics for monitoring dashboards
✅ Dashboard Integration: Reports results for centralized dashboards
Architecture
dns-health-checker/
├── SKILL.md
└── scripts/
└── dns_checker.py # Core DNS checking implementation
Core Functions
DNSHealthChecker.full_health_check(domain)
The main method for comprehensive DNS checking. This method:
- Tests DNS resolution against multiple resolvers
- Checks various DNS record types
- Collects health metrics
- Sends data for monitoring
- Returns comprehensive results
Example:
from scripts.dns_checker import DNSHealthChecker
checker = DNSHealthChecker()
result = checker.full_health_check("example.com")
DNSHealthChecker.check_resolution(domain)
Helper method for checking resolution only:
from scripts.dns_checker import DNSHealthChecker
checker = DNSHealthChecker()
results = checker.check_resolution("example.com")
Supported Resolvers
| Resolver | IP Address | Auto-tested |
|---|
| Google | 8.8.8.8 | ✅ Yes |
| Cloudflare | 1.1.1.1 | ✅ Yes |
| Quad9 | 9.9.9.9 | ✅ Yes |
Supported Record Types
- A, AAAA, CNAME, MX, TXT, NS, SOA, PTR
How It Works
- Resolver Testing: Tests DNS resolution against multiple resolvers
- Record Queries: Queries various DNS record types
- Metrics Collection: Gathers health and performance metrics
- Dashboard Reporting: Sends data for centralized monitoring
You don't need to manually run dig commands or parse output - full_health_check() does all of this for you automatically.
Prerequisites
- dig command installed (usually part of bind-utils or dnsutils)
- Python 3.8+
- Network access to DNS resolvers
Full Example
from scripts.dns_checker import DNSHealthChecker
checker = DNSHealthChecker()
result = checker.full_health_check("example.com")
if result:
print("✅ DNS health check complete:")
for resolver, data in result.get('resolvers', {}).items():
print(f" - {resolver}: {data.get('status')}")
else:
print("❌ DNS health check failed")
Used by network administrators worldwide - Just call full_health_check() and you're done!