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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5449d82f43528d1810e787131a8b97d15633fc715d784cf66551157f63ba9020 |
|
MD5 | 7ceeeebeb1c9cdd26bd40346bb315217 |
|
BLAKE2b-256 | 60f2eabfb72405d43f79cd91841f37a534bf9508c7cc21a8aaa6c9768cca2aea |
Hashes for django_k8s_health_check-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5abee490a609be18857b0fca934928453fc68b553fa86c8cc3d02da334dd390a |
|
MD5 | 77d73a2d19809896cf1137ddfcf86999 |
|
BLAKE2b-256 | e93193b1b014e696feb13a92f1c5844d075ef16ae0c6bd6104b91db8cf7ef16c |