Skip to content

Deployment

This section covers best practices for deploying Health Check Monitor in production.

Security Best Practices

Store sensitive information in environment variables rather than in the configuration file:

export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/XXX"
export SMTP_USERNAME="username" 
export SMTP_PASSWORD="password"
export BASIC_AUTH="dXNlcjpwYXNz"  # Base64 of "user:pass"

Then reference them in your configuration:

headers:
  Authorization: Basic ${BASIC_AUTH}
  X-API-Key: ${API_KEY}

Resource Usage

Memory and CPU usage scale with the number of endpoints being monitored. To optimize resource usage:

  • Adjust concurrency_limit based on your system capabilities
  • Use longer intervals for non-critical services
  • Set appropriate timeouts to prevent hangs
  • Consider distributing monitoring across multiple instances for large deployments

Persistent Storage

For long-term tracking of health check status:

  • Mount a volume for logs if using Docker
  • Consider setting up a centralized logging system
  • Use a database for storing historical health data (if implemented)

Redundancy

For critical monitoring, consider:

  • Running multiple instances in different regions
  • Using different notification channels for redundancy
  • Setting up monitoring for the monitoring system itself

Container Orchestration

Health Check Monitor works well with container orchestration platforms:

  • Use Kubernetes for automatic scaling and failover
  • Set resource limits to prevent excessive resource usage
  • Use a service mesh for secure communication
  • Use secrets management for storing sensitive information