Metadata-Version: 2.4
Name: netbox-healthcheck-plugin
Version: 0.4.0
Summary: NetBox plugin for HealthCheck.
Author-email: NetBox Labs <support@netboxlabs.com>
Maintainer-email: NetBox Labs <support@netboxlabs.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/netbox-community/netbox-healthcheck-plugin
Project-URL: Documentation, https://netbox-community.github.io/netbox-healthcheck-plugin/
Project-URL: Source, https://github.com/netbox-community/netbox-healthcheck-plugin
Project-URL: Issues, https://github.com/netbox-community/netbox-healthcheck-plugin/issues
Project-URL: Changelog, https://netbox-community.github.io/netbox-healthcheck-plugin/releases/
Keywords: netbox,netbox-plugin,healthcheck,monitoring
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.1
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Networking
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django-health-check<5,>=4.6.0
Requires-Dist: redis>=4.0
Provides-Extra: dev
Requires-Dist: build==1.2.2; extra == "dev"
Requires-Dist: pre-commit==4.6.2; extra == "dev"
Requires-Dist: twine==6.1.0; extra == "dev"
Provides-Extra: test
Requires-Dist: check-manifest==0.51; extra == "test"
Requires-Dist: coverage[toml]==7.6.10; extra == "test"
Requires-Dist: tblib==3.2.2; extra == "test"
Provides-Extra: docs
Requires-Dist: zensical==0.0.62; extra == "docs"
Dynamic: license-file

# NetBox HealthCheck Plugin

A [NetBox](https://github.com/netbox-community/netbox) plugin that provides comprehensive health monitoring for your NetBox installation.

[![Version](https://img.shields.io/pypi/v/netbox-healthcheck-plugin)](https://pypi.org/project/netbox-healthcheck-plugin/)
[![Python Versions](https://img.shields.io/pypi/pyversions/netbox-healthcheck-plugin)](https://pypi.org/project/netbox-healthcheck-plugin/)
[![License](https://img.shields.io/github/license/netbox-community/netbox-healthcheck-plugin)](https://github.com/netbox-community/netbox-healthcheck-plugin/blob/main/LICENSE)

## Features

This plugin integrates [django-health-check](https://github.com/codingjoe/django-health-check) with NetBox to provide health monitoring of critical services:

- **Database** - PostgreSQL connectivity and operations
- **Cache** - Django cache framework (Redis-backed)
- **Redis Instances** - Both caching and task queue Redis connections
- **Extensible** - Add custom health checks via configuration

Health status is exposed at `/plugins/netbox_healthcheck_plugin/healthcheck/` with both HTML and JSON response formats for integration with monitoring systems.

## Installation

```bash
pip install netbox-healthcheck-plugin
```

Add to your NetBox `configuration.py`:

```python
PLUGINS = ['netbox_healthcheck_plugin']

PLUGINS_CONFIG = {
    "netbox_healthcheck_plugin": {}
}
```

Restart NetBox and visit: `https://your-netbox/plugins/netbox_healthcheck_plugin/healthcheck/`

## Compatibility

| NetBox Version | Plugin Version | Python Version    |
|----------------|----------------|-------------------|
| 4.5 - 4.7      | 0.4.0          | 3.12, 3.13, 3.14 |
| 4.5 - 4.6      | 0.3.0          | 3.12, 3.13, 3.14 |
| 4.0 - 4.4      | 0.2.0          | 3.10, 3.11, 3.12 |
| 3.4 - 3.7      | 0.1.x          | 3.10, 3.11, 3.12 |

See [COMPATIBILITY.md](https://github.com/netbox-community/netbox-healthcheck-plugin/blob/main/COMPATIBILITY.md) for detailed version information.

## Configuration

Customize which health checks run via `PLUGINS_CONFIG`:

```python
PLUGINS_CONFIG = {
    "netbox_healthcheck_plugin": {
        "checks": [
            "health_check.Database",
            "health_check.Cache",
            "netbox_healthcheck_plugin.backends.redis.NetBoxRedisCacheHealthCheck",
            "netbox_healthcheck_plugin.backends.redis.NetBoxRedisTasksHealthCheck",
        ]
    }
}
```

You can add custom health checks or disable specific checks. See the [Configuration Guide](https://netbox-community.github.io/netbox-healthcheck-plugin/configuration/) for more options.

## Documentation

Full documentation is available at: https://netbox-community.github.io/netbox-healthcheck-plugin/

- [Quickstart](https://netbox-community.github.io/netbox-healthcheck-plugin/quickstart/)
- [Configuration Options](https://netbox-community.github.io/netbox-healthcheck-plugin/configuration/)
- [Contributing Guidelines](https://netbox-community.github.io/netbox-healthcheck-plugin/development/contributing/)
- [Releases](https://netbox-community.github.io/netbox-healthcheck-plugin/releases/)

## Development

Tests run inside a NetBox checkout using NetBox's test runner, with this repo's
`testing/configuration.py` (see [AGENTS.md](AGENTS.md) for the full setup):

```bash
pip install -e '.[dev,test]'
export NETBOX_CONFIGURATION=configuration PYTHONPATH="$PWD/testing"
python /path/to/netbox/netbox/manage.py test netbox_healthcheck_plugin.tests

pre-commit install           # lint/format hooks (ruff, djlint, codespell, yamllint)
pre-commit run --all-files
```

## Support

- **Issues**: [GitHub Issues](https://github.com/netbox-community/netbox-healthcheck-plugin/issues)
- **Discussions**: [GitHub Discussions](https://github.com/netbox-community/netbox-healthcheck-plugin/discussions)
- **Source**: [GitHub Repository](https://github.com/netbox-community/netbox-healthcheck-plugin)

## License

This project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/netbox-community/netbox-healthcheck-plugin/blob/main/LICENSE) file for details.
