#35565 closed New feature (wontfix)
system connectivity diagnostics in admin panel
Reported by: | Sam Darwin | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | 5.0 |
Severity: | Normal | Keywords: | |
Cc: | Sam Darwin | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hi,
This is a feature idea. Often Django connects to external systems such as:
- database
- memcached
- redis
- celery
- qcluster
Imagine there was a new page built into the admin panel, "system connectivity", with all those items listed, and they could be "green" or "red", showing the health of the connections.
Not a long page of internal variables or functions. Rather, a visual, basic control panel screen with a brief list of systems, and their status.
If no cache (memcached, redis) is available, perhaps a message recommending the administrator install one.
Each of the connections is tested somehow. Store and retrieve a value from redis. Or, send an outgoing email. Add the ability to customize the list by including more systems.
Could the code introspect? "you appear to be using queuing (or caching, or email), however that system is not online..."
Change History (3)
comment:1 by , 5 months ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:2 by , 5 months ago
It's also worth noting that there are some 3rd party apps that already implement this feature, for example https://pypi.org/project/django-health-check/.
Also, I think that a status page like this makes more sense in a location outside the admin, since it's likely information that is useful for more users other than staff/superusers.
comment:3 by , 5 months ago
Natalia, ok that is great!!
It's probably the closest implementation of the idea that will be realized.
I was perhaps thinking this feature would installed automatically in the admin panel, or by setting one variable to enabled it, and then it would detect all the services (celery, redis, etc).
But in reality, one must expect to install a plugin. And configure the plugin, and point it to the services being inspected. That's normal.
Django-health-check looks like the right solution.
Hi Sam, thank you for raising this ticket I can see why this would be useful to some of our users
When requesting a new feature for Django, the recommended path forward is to first propose and discuss the idea with the community and gain consensus.
Usually we recommend that you would start a new conversation on the Django Forum, where you'll reach a wider audience and likely get extra feedback.
I actually think in this case it a third-party package providing this would be a good approach. You may find that that's also preferable from being in core (you can add new integrations quicker, iterate etc).
I'll close the ticket for now, but if there is a community agreement for the feature request, you are welcome to come back to the ticket and point to the forum topic, so we can then re-open it. For more details, please see the documented guidelines for requesting features.