Skip to main content

Django Health Check

Project description

Django Health Check

If you use or like the project, click Star and Watch to generate metrics and i evaluate project continuity.

Install:

pip install django-k8s-health-check

Usage Health only:

  1. In your urls:
    from django_k8s_health_check.views import HealthView
    ...
    
    urlpatterns = [
        path('', views.HealthView.as_view()),
    ]
    

Usage in kubernetes:

If use health check in kubernetes, you need to add kubernetes ip/host to allowed_hosts, but is a bad practice, especially if there are multiple ip/hosts... For this, i created a middleware to pass the ip/hosts, using multiples validators

  1. Add the middleware to django middleware`s:

    MIDDLEWARE = [
        'django_k8s_health_check.middleware.HealthCheckMiddleware',
        ...
    ]
    
  2. Try this request:

    import requests
    requests.get('your-url', headers={'X-Health': 'health-check'})
    
  3. Put this in your yml

    livenessProbe:
        httpGet:
        path: /your-path
        httpHeaders:
        - name: X-Health
            value: health-check
        timeoutSeconds: 5
    
  4. Check de configuration bellow, and change for security reasons...

Configuration:

HEALTH_CHECK = {
    # View
    'SERVICE_NAME': None,
    'CHECK_DATABASE': True,
    'CHECK_CACHE': True,

    # Middleware
    'HEADER_FIELD': 'X-Health',
    'HEADER_VALUE': 'health-check',
    'ALLOWED_PATHS': None,  # all others urls, use original ALLOWED_HOSTS. Ex: ['api/v1/health', '/health'], None allow all
    'ALLOWED_HOSTS': None,  # check request host is in a list, Ex: ['127.0.0.1', 'www.domain.com'], None allow all
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-k8s-health-check-1.0.6.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

django_k8s_health_check-1.0.6-py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page