A Django app used to monitor updates for Django and all installed python packages in the running environment. It can be also used to check if the website is alive and working correctly.
Project description
Anexia Monitoring
A Django app used to monitor updates for Django and all installed python packages in the running environment. It can be also used to check if the website is alive and working correctly.
Django Compatibility Matrix
If your project uses an older version of Django, you can choose an older version of this project.
This Project | Python Version | Django Version |
---|---|---|
1.7.* | 3.8 - 3.12 | 4.2, 5.0, 5.1 |
1.6.* | 3.8 - 3.12 | 4.2, 5.0 |
1.5.* | 3.7 - 3.10 | 3.2, 4.0, 4.1 |
1.4.* | 3.7 - 3.10 | 3.2, 4.0 |
1.3.* | 3.5 - 3.9 | 2.2, 3.1, 3.2 |
1.2.* | 3.5 - 3.8 | 2.2, 3.0, 3.1 |
1.1.* | 2.7, 3.4, 3.5 | 1.8, 1.11 |
Installation and configuration
Install the package by using pip
pip install django-anexia-monitoring
Add the app the settings installed apps
INSTALLED_APPS = [
...
# Anexia monitor
'anexia_monitoring',
...
]
In the projects settings.py add the access token configuration:
ANX_MONITORING_ACCESS_TOKEN = 'custom_access_token'
Add URL configuration for REST endpoint
from anexia_monitoring import urls as monitor_urls
...
urlpatterns = [
...
# Anexia monitoring
re_path(r'^', include(monitor_urls)),
...
]
Usage
The plugin registers some custom REST endpoints and django management commands which can be used for monitoring. Make sure that the ANX_MONITORING_ACCESS_TOKEN is defined, since this is used for authorization of the endpoints. The endpoints will return a 401 HTTP_STATUS code if the token is not define or invalid, and a 200 status code otherwise.
Version monitoring
Returns all a list with platform and module information. Data can be retrieved via endpoint or django management command.
Command: ./manage.py anxmonitormodules
output is same as endpoints response
body.
URL: /anxapi/v1/modules/?access_token=custom_access_token
Response headers:
Status Code: 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Allow: GET
Content-Type: application/json
Response body:
{
"platform":{
"platform":"python",
"framework_installed_version":"1.11.1",
"framework_newest_version":"2.0a1",
"framework":"django",
"platform_version":"3.5.3 (default, Apr 26 2017, 20:12:19) \n[GCC 4.9.2]"
},
"modules":[
{
"newest_version":"1.4.3",
"newest_version_licences": [
"MIT"
],
"name":"appdirs",
"installed_version":"1.4.3",
"installed_version_licences": [
"MIT"
]
},
{
"newest_version":"0.22.0",
"newest_version_licences": [
"MIT"
],
"name":"asn1crypto",
"installed_version":"0.22.0",
"installed_version_licences": [
"MIT"
],
},
{
"newest_version":"2.4.0",
"newest_version_licences": [
"BSD"
],
"name":"Babel",
"installed_version":"2.4.0",
"installed_version_licences": [
"BSD"
],
}
]
}
Live monitoring
This endpoint can be used to verify if the application is alive and working correctly. It checks if the database connection is working and makes a query for users. It allows to register custom checks by using the dispatched monitor_up_check event.
URL: /anxapi/v1/up/?access_token=custom_access_token
Response headers:
Status Code: 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Allow: GET
Content-Type: text/plain
Response body:
OK
Custom live monitoring event
This check can be defined into the app even subscribers
from django.dispatch import receiver
from anexia_monitoring.events import monitor_up_check
@receiver(monitor_up_check)
def list_of_complete_polls_handler(sender, **kwargs):
"""
My custom is alive check
"""
pass
Live monitoring settings
The User table is used in most Django applications and by default the up
endpoint will make a test query to this
table. If you don't need it you can disable it using the ANX_MONITORING_TEST_QUERY_USERS
setting.
Similar most Django applications also use a database connection which the module tests for connection by default.
If you don't need this you can deactivate it by providing the ANX_MONITORING_TEST_DB_CONNECTIONS
setting.
ANX_MONITORING_TEST_QUERY_USERS = False
ANX_MONITORING_TEST_DB_CONNECTIONS = False
List of developers
- Harald Nezbeda, Lead developer
Project related external resources
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file django-anexia-monitoring-1.7.0.tar.gz
.
File metadata
- Download URL: django-anexia-monitoring-1.7.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6f1d98f174955a5fbe3797e24f146515c245510343a12f557e2c57dfb7e240b |
|
MD5 | 079b4efab45faa075bab9aaacfab656e |
|
BLAKE2b-256 | 45f70e7c35820b71f0923e26f0c32f4ac8eac14bd2fa18a6ec6978922427edbd |
File details
Details for the file django_anexia_monitoring-1.7.0-py3-none-any.whl
.
File metadata
- Download URL: django_anexia_monitoring-1.7.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e2afc9d9fe4e963f4634849db7d043b36b2aeac03e3ddd181d3fedcb2fcfda2 |
|
MD5 | e342c3a8cf3ba7b3893e03149e50d106 |
|
BLAKE2b-256 | d0c18c20e3f3c31a78c980a87b68c26978e6823e7d64651c13320c34d543fc0f |