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:
- 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 django allowed_hosts, but is a bad practice, especially if there are multiple ip/hosts... For this, i created a middleware to pass dynamic ip/hosts, using multiples validators
-
Request Way
-
Add the middleware to django middleware`s:
MIDDLEWARE = [ 'django_k8s_health_check.middleware.HealthCheckMiddleware', ... ]
-
Try this request:
import requests requests.get('your-url', headers={'X-Health': 'health-check'})
-
Put this in your yml
livenessProbe: httpGet: path: /your-path httpHeaders: - name: X-Health value: health-check timeoutSeconds: 5
-
Check de configuration section, and change for security reasons...
-
-
Command Way (test database and cache only, this not guarantee application is running):
-
Add this app to your installed apps:
INSTALLED_APPS = [ 'django_k8s_health_check', ]
-
Try to run this command:
python manage.py health_check
-
Put this in your yml
livenessProbe: exec: command: ["python", "manage.py", "health_check"] timeoutSeconds: 5
-
Configuration:
HEALTH_CHECK = {
# View
'SERVICE_NAME': None, # Used only in API
'CHECK_DATABASE': True,
'CHECK_CACHE': True,
# Middleware (All bellow is used only in API)
'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
Built Distribution
Hashes for django-k8s-health-check-1.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 156ea3857a190124e61bf4ef6015d3c7ef4c756d27d93246a73674837dce4809 |
|
MD5 | 083c5a8aa49a4eb9eb12e32c03b029c3 |
|
BLAKE2b-256 | e402ad44388670cb60803f09c097f651f87a41cc957c6711fd75a3e3e0da07a2 |
Hashes for django_k8s_health_check-1.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a42240a5bcd60a653d63ccd8340c37fc31c4958a58ef777611edd45f3d31b2f5 |
|
MD5 | c0084407b0bf06833ead68ba538d01cd |
|
BLAKE2b-256 | 638c04eded80045b19d207cfeb4a21b059f5ce67dc4a7c7584af356002a7043c |