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

3.6 KiB

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:

# 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:

./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
  • /patterns/docker/distributed-transcoding.md - Tdarr architecture patterns
  • /reference/docker/tdarr-troubleshooting.md - Troubleshooting guide
  • /scripts/tdarr/README.md - Tdarr management scripts