Monitoring
Monitor the health and performance of your Bindy DNS infrastructure.
Status Conditions
All Bindy resources report their status using standardized conditions:
# Check Bind9Instance status
kubectl get bind9instance primary-dns -n dns-system -o jsonpath='{.status.conditions}'
# Check DNSZone status
kubectl get dnszone example-com -n dns-system -o jsonpath='{.status.conditions}'
See Status Conditions for detailed condition types.
Logging
View controller and BIND9 logs:
# Controller logs
kubectl logs -n dns-system deployment/bindy
# BIND9 instance logs
kubectl logs -n dns-system -l instance=primary-dns
# Follow logs
kubectl logs -n dns-system deployment/bindy -f
See Logging for log configuration.
Metrics
Monitor resource usage and performance:
# Pod resource usage
kubectl top pods -n dns-system
# Node resource usage
kubectl top nodes
See Metrics for detailed metrics.
Health Checks
BIND9 pods include liveness and readiness probes:
livenessProbe:
exec:
command: ["dig", "@localhost", "version.bind", "txt", "chaos"]
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
exec:
command: ["dig", "@localhost", "version.bind", "txt", "chaos"]
initialDelaySeconds: 5
periodSeconds: 5
Check probe status:
kubectl describe pod -n dns-system <bind9-pod-name>
Monitoring Tools
Prometheus
Scrape metrics from BIND9 using bind_exporter:
# Add exporter sidecar to Bind9Instance
# (Future enhancement)
Grafana
Create dashboards for:
- Query rate and latency
- Zone transfer status
- Resource usage
- Error rates
Alerts
Set up alerts for:
- Pod crashes or restarts
- Failed zone transfers
- High query latency
- Resource exhaustion
- DNSSEC validation failures
Next Steps
- Status Conditions - Understanding resource status
- Logging - Log configuration and analysis
- Metrics - Detailed metrics collection
- Troubleshooting - Debugging issues