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.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b498515b6efcfccd3559f1107f40950ef09b450ec93726df688302f09e85b0b |
|
MD5 | 0dea623f1d682d42b8178834a512c9ee |
|
BLAKE2b-256 | a13f34d776c5111b0de37f6daf24e4918a333bc9713cd67139cccc1ad1129009 |
Hashes for django_k8s_health_check-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57262ef4de161b0e1260d905d3a7b157b08e80fbddf91bbede36468dc5a60ee7 |
|
MD5 | dcc956ae2e890f029a052821945f4252 |
|
BLAKE2b-256 | d2983313d2ec74a81322a5a158e50ee90e3e4425dc5bafa77fbbd8d7f37b6c43 |