claude-home/scripts/monitoring/README.md
Cal Corum aed1f54d91 CLAUDE: Add comprehensive Tdarr API monitoring with dataclass-based status tracking
- Add tdarr_monitor.py: Python-based API monitoring client with type-safe dataclasses
  - ServerStatus, QueueStatus, NodeStatus, LibraryStatus, StatisticsStatus, HealthStatus
  - Support for health checks, queue monitoring, node status, library scans
  - JSON and pretty-print output formats with proper exit codes
  - Integration with existing Discord monitoring system

- Create scripts/monitoring/README.md: Complete monitoring documentation
  - Comprehensive usage examples and command-line options
  - Integration patterns with gaming-aware scheduling
  - Best practices for automated health monitoring

- Update CLAUDE.md: Enhanced Tdarr keyword triggers and documentation structure
  - Add "monitoring" and "api" keywords to automatically load monitoring docs
  - Reference new tdarr_monitor.py with dataclass-based status tracking
  - Update documentation structure to show monitoring script location

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 12:15:41 -05:00

117 lines
3.6 KiB
Markdown

# Monitoring Scripts
This directory contains various monitoring scripts and tools for the home lab infrastructure.
## Available Scripts
### Tdarr Monitoring
#### tdarr_monitor.py
A comprehensive Python-based monitoring tool for Tdarr media transcoding servers. Features dataclass-based return types for improved type safety and IDE support.
**Features:**
- Server status and health monitoring
- Queue status and statistics tracking
- Node connectivity and performance monitoring
- Library scan progress monitoring
- Worker activity tracking
- Comprehensive health checks
- JSON and pretty-print output formats
- Configurable timeouts and logging
**Usage:**
```bash
# Basic health check
./tdarr_monitor.py --server http://10.10.0.43:8265 --check health
# Monitor queue status
./tdarr_monitor.py --server http://10.10.0.43:8265 --check queue
# Get all status information
./tdarr_monitor.py --server http://10.10.0.43:8265 --check all --output json
# Monitor nodes with verbose logging
./tdarr_monitor.py --server http://10.10.0.43:8265 --check nodes --verbose
```
**Available Checks:**
- `health` - Comprehensive health check (default)
- `status` - Server status and configuration
- `queue` - Transcoding queue statistics
- `nodes` - Connected nodes status
- `libraries` - Library scan progress
- `stats` - Overall transcoding statistics
- `all` - All checks combined
**Output Formats:**
- `pretty` - Human-readable format (default)
- `json` - Structured JSON output
**Exit Codes:**
- `0` - Success, all systems healthy
- `1` - Error or unhealthy status detected
**Requirements:**
- Python 3.7+
- `requests` library
- Access to Tdarr server API endpoints
#### tdarr-timeout-monitor.sh
Shell script for monitoring Tdarr timeouts and system status.
**Usage:**
```bash
./tdarr-timeout-monitor.sh
```
### System Monitoring
#### Windows Desktop Monitoring
Complete Windows desktop monitoring system with Discord notifications for reboots and system events.
Location: `windows-desktop/`
- Full setup instructions in `windows-desktop/README.md`
- PowerShell monitoring scripts
- Windows Task Scheduler integration
- Discord webhook notifications
**Features:**
- Automatic reboot detection
- System startup/shutdown monitoring
- Discord notifications with timestamps
- Configurable monitoring intervals
- Windows Task Scheduler integration
### Setup and Configuration
#### Discord Integration
See `setup-discord-monitoring.md` for Discord webhook setup instructions.
## Integration with Home Lab
### Tdarr Keywords Trigger
When working with Tdarr-related tasks, the following documentation is automatically loaded:
- `reference/docker/tdarr-troubleshooting.md`
- `patterns/docker/distributed-transcoding.md`
- `scripts/tdarr/README.md`
### Gaming-Aware Scheduling
The monitoring scripts integrate with the gaming-aware Tdarr scheduling system that provides:
- Configurable time windows for transcoding
- Gaming session detection
- Automated resource management
- Smart scheduling to avoid performance conflicts
## Best Practices
1. **Regular Monitoring**: Set up cron jobs or scheduled tasks for regular status checks
2. **Health Checks**: Use the health check endpoints for automated monitoring
3. **Logging**: Enable verbose logging for troubleshooting
4. **Timeout Configuration**: Adjust timeouts based on network conditions
5. **Error Handling**: Monitor exit codes for automated alerting
## Related Documentation
- `/patterns/docker/distributed-transcoding.md` - Tdarr architecture patterns
- `/reference/docker/tdarr-troubleshooting.md` - Troubleshooting guide
- `/scripts/tdarr/README.md` - Tdarr management scripts