check-bitdefender


Namecheck-bitdefender JSON
Version 1.0.5 PyPI version JSON
download
home_pageNone
SummaryA Nagios plugin for monitoring BitDefender GravityZone API endpoints
upload_time2025-10-08 12:26:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords nagios monitoring bitdefender gravityzone api endpoint-security
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿ›ก๏ธ Check BitDefender GravityZone

[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://python.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/lduchosal/check_bitdefender)

A comprehensive **Nagios plugin** for monitoring BitDefender GravityZone for Endpoint API endpoints. Built with modern Python practices and designed for enterprise monitoring environments.

## โœจ Features

- ๐Ÿ” **Authentication** - Support for API Token
- ๐ŸŽฏ **Multiple Endpoints** - Monitor onboarding status, last seen, last scan, and endpoint details
- ๐Ÿ“Š **Nagios Compatible** - Standard exit codes and performance data output
- ๐Ÿ—๏ธ **Clean Architecture** - Modular design with testable components
- ๐Ÿ”ง **Flexible Configuration** - File-based configuration with sensible defaults
- ๐Ÿ“ˆ **Verbose Logging** - Multi-level debugging support
- ๐Ÿ **Modern Python** - Built with Python 3.9+ using type hints and async patterns

## ๐Ÿš€ Quick Start

### Installation

```bash
# Create virtual environment (recommended)
python -m venv /usr/local/libexec/nagios/check_bitdefender
source /usr/local/libexec/nagios/check_bitdefender/bin/activate

# Install from source
pip install git+https://github.com/lduchosal/check_bitdefender.git
```

### Basic Usage

```bash
# List all endpoints
check_bitdefender endpoints

# Check onboarding status
check_bitdefender onboarding -d endpoint.domain.tld

# Check last seen (days since endpoint last connected)
check_bitdefender lastseen -d endpoint.domain.tld

# Check last scan (days since last antivirus scan)
check_bitdefender lastscan -d endpoint.domain.tld

# Get detailed endpoint info
check_bitdefender detail -d endpoint.domain.tld
```

## ๐Ÿ“‹ Available Commands

| Command | Description | Default Thresholds |
|---------|-------------|-------------------|
| `endpoints` | List all endpoints | W:10, C:25 |
| `onboarding` | Check endpoint onboarding status | W:2, C:1 |
| `lastseen` | Check days since endpoint was last seen | W:7, C:30 |
| `lastscan` | Check days since endpoint was last scanned | W:7, C:30 |
| `detail` | Get detailed endpoint information | - |

### Onboarding Status Values

- `0` - Onboarded โœ…
- `1` - InsufficientInfo โš ๏ธ
- `2` - Unknown โŒ

## โš™๏ธ Configuration

### Authentication Setup

Create `check_bitdefender.ini` in your Nagios directory or current working directory:

#### API Token Authentication
```ini
[auth]
token = your-api-token-here

[settings]
timeout = 5
parent_id = your-company-id-here  # Optional: specify company/parent ID
```

### BitDefender GravityZone API Setup

1. **Log into GravityZone Control Center**
2. **Navigate to My Account > API Keys**
3. **Generate a new API key** with appropriate permissions
4. **Copy the API token** to your configuration file

๐Ÿ“š [Complete API Setup Guide](https://www.bitdefender.com/business/support/en/77209-370443-gravityzone.html)

## ๐Ÿ”ง Command Line Options

| Option | Description | Example |
|--------|-------------|---------|
| `-c, --config` | Configuration file path | `-c /custom/path/config.ini` |
| `-m, --endpointId` | Endpoint ID (GUID) | `-m "12345678-1234-1234-1234-123456789abc"` |
| `-d, --fqdn` | Computer DNS Name (FQDN) | `-d "server.domain.com"` |
| `-W, --warning` | Warning threshold | `-W 10` |
| `-C, --critical` | Critical threshold | `-C 100` |
| `-v, --verbose` | Verbosity level | `-v`, `-vv`, `-vvv` |
| `--version` | Show version | `--version` |

## ๐Ÿข Nagios Integration

### Command Definitions

```cfg
# BitDefender GravityZone Commands
define command {
    command_name    check_bitdefender_onboarding
    command_line    $USER1$/check_bitdefender/bin/check_bitdefender onboarding -d $HOSTALIAS$
}

define command {
    command_name    check_bitdefender_lastseen
    command_line    $USER1$/check_bitdefender/bin/check_bitdefender lastseen -d $HOSTALIAS$ -W 7 -C 30
}

define command {
    command_name    check_bitdefender_lastscan
    command_line    $USER1$/check_bitdefender/bin/check_bitdefender lastscan -d $HOSTALIAS$ -W 7 -C 30
}

```

### Service Definitions

```cfg
# BitDefender GravityZone Services
define service {
    use                     generic-service
    service_description     BITDEFENDER_ONBOARDING
    check_command           check_bitdefender_onboarding
    hostgroup_name          bitdefender
}

define service {
    use                     generic-service
    service_description     BITDEFENDER_LASTSEEN
    check_command           check_bitdefender_lastseen
    hostgroup_name          bitdefender
}

define service {
    use                     generic-service
    service_description     BITDEFENDER_LASTSCAN
    check_command           check_bitdefender_lastscan
    hostgroup_name          bitdefender
}

```

## ๐Ÿ—๏ธ Architecture

This plugin follows **clean architecture** principles with clear separation of concerns:

```
check_bitdefender/
โ”œโ”€โ”€ ๐Ÿ“ cli/                     # Command-line interface
โ”‚   โ”œโ”€โ”€ commands/               # Individual command handlers
โ”‚   โ”‚   โ”œโ”€โ”€ endpoints.py        # List endpoints command
โ”‚   โ”‚   โ”œโ”€โ”€ onboarding.py       # Onboarding status command
โ”‚   โ”‚   โ”œโ”€โ”€ lastseen.py         # Last seen command
โ”‚   โ”‚   โ”œโ”€โ”€ lastscan.py         # Last scan command
โ”‚   โ”‚   โ””โ”€โ”€ detail.py           # Endpoint detail command
โ”‚   โ””โ”€โ”€ decorators.py           # Common CLI decorators
โ”œโ”€โ”€ ๐Ÿ“ core/                    # Core business logic
โ”‚   โ”œโ”€โ”€ auth.py                 # Authentication management
โ”‚   โ”œโ”€โ”€ config.py               # Configuration handling
โ”‚   โ”œโ”€โ”€ defender.py             # BitDefender API client
โ”‚   โ”œโ”€โ”€ exceptions.py           # Custom exceptions
โ”‚   โ””โ”€โ”€ nagios.py               # Nagios plugin framework
โ”œโ”€โ”€ ๐Ÿ“ services/                # Business services
โ”‚   โ”œโ”€โ”€ endpoint_service.py     # Endpoints business logic
โ”‚   โ”œโ”€โ”€ onboarding_service.py   # Onboarding check logic
โ”‚   โ”œโ”€โ”€ lastseen_service.py     # Last seen check logic
โ”‚   โ”œโ”€โ”€ lastscan_service.py     # Last scan check logic
โ”‚   โ”œโ”€โ”€ detail_service.py       # Detail retrieval logic
โ”‚   โ””โ”€โ”€ models.py               # Data models
โ””โ”€โ”€ ๐Ÿ“ tests/                   # Comprehensive test suite
    โ”œโ”€โ”€ unit/                   # Unit tests
    โ””โ”€โ”€ integration/            # Integration tests
```

### Key Design Principles

- **๐ŸŽฏ Single Responsibility** - Each module has one clear purpose
- **๐Ÿ”Œ Dependency Injection** - Easy testing and mocking
- **๐Ÿงช Testable** - Comprehensive test coverage
- **๐Ÿ“ˆ Extensible** - Easy to add new commands and features
- **๐Ÿ”’ Secure** - No secrets in code, proper credential handling

## ๐Ÿงช Development

### Development Setup

```bash
# Clone repository
git clone https://github.com/lduchosal/check_bitdefender.git
cd check_bitdefender

# Create development environment
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# Install in development mode
pip install -e .
```

### Code Quality Tools

```bash
# Format code
black check_bitdefender/

# Lint code
flake8 check_bitdefender/

# Type checking
mypy check_bitdefender/

# Run tests
pytest tests/ -v --cov=check_bitdefender
```

### Building & Publishing

```bash
# Build package
python -m build

# Test installation
pip install dist/*.whl

# Publish to PyPI
python -m twine upload dist/*
```

## ๐Ÿ” Output Examples

### Successful Check
```
DEFENDER OK - Onboarding status: 0 (Onboarded) | onboarding=0;1;2;0;2
```

### Warning State
```
DEFENDER WARNING - Last seen: 10 days ago | lastseen=10;7;30;0;
```

### Critical State
```
DEFENDER CRITICAL - Last scan: 35 days ago | lastscan=35;7;30;0;
```

## ๐Ÿ”ง Troubleshooting

### Common Issues

| Issue | Solution |
|-------|----------|
| **Authentication Errors** | Verify BitDefender GravityZone API token |
| **Network Connectivity** | Check firewall rules for cloudgz.gravityzone.bitdefender.com |
| **Import Errors** | Ensure all dependencies are installed |
| **Configuration Issues** | Validate config file syntax and paths |

### Debug Mode

Enable verbose logging for detailed troubleshooting:

```bash
# Maximum verbosity
check_bitdefender lastseen -d endpoint.domain.tld -vvv

# Check specific configuration
check_bitdefender onboarding -c /path/to/config.ini -d endpoint.domain.tld -vv
```

### Required Network Access

Ensure connectivity to:
- `cloudgz.gravityzone.bitdefender.com`

## ๐Ÿ“Š Exit Codes

| Code | Status | Description |
|------|--------|-------------|
| `0` | OK | Value within acceptable range |
| `1` | WARNING | Value exceeds warning threshold |
| `2` | CRITICAL | Value exceeds critical threshold |
| `3` | UNKNOWN | Error occurred during execution |

## ๐Ÿค Contributing

We welcome contributions! Here's how to get started:

1. **Fork** the repository
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
4. **Push** to the branch (`git push origin feature/amazing-feature`)
5. **Open** a Pull Request

### Development Guidelines

- Follow [PEP 8](https://pep8.org/) style guide
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting

## ๐Ÿ“„ License

This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- Built with [nagiosplugin](https://nagiosplugin.readthedocs.io/) framework
- Powered by [Click](https://click.palletsprojects.com/) for CLI interface
- Integrates with [BitDefender GravityZone API](https://www.bitdefender.com/business/support/en/77209-370443-gravityzone.html)

---

<div align="center">

**[โญ Star this repository](https://github.com/lduchosal/check_bitdefender)** if you find it useful!

[๐Ÿ› Report Bug](https://github.com/lduchosal/check_bitdefender/issues) โ€ข [๐Ÿ’ก Request Feature](https://github.com/lduchosal/check_bitdefender/issues) โ€ข [๐Ÿ“– Documentation](https://github.com/lduchosal/check_bitdefender/blob/main/README.md)

</div>
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "check-bitdefender",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "nagios, monitoring, bitdefender, gravityzone, api, endpoint-security",
    "author": null,
    "author_email": "ldvchosal <ldvchosal@github.com>",
    "download_url": "https://files.pythonhosted.org/packages/2b/a4/69a9d14f1d43801560daf61625ebdc63eab93d5d5a6d064cee73d3785149/check_bitdefender-1.0.5.tar.gz",
    "platform": null,
    "description": "# \ud83d\udee1\ufe0f Check BitDefender GravityZone\n\n[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://python.org)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/lduchosal/check_bitdefender)\n\nA comprehensive **Nagios plugin** for monitoring BitDefender GravityZone for Endpoint API endpoints. Built with modern Python practices and designed for enterprise monitoring environments.\n\n## \u2728 Features\n\n- \ud83d\udd10 **Authentication** - Support for API Token\n- \ud83c\udfaf **Multiple Endpoints** - Monitor onboarding status, last seen, last scan, and endpoint details\n- \ud83d\udcca **Nagios Compatible** - Standard exit codes and performance data output\n- \ud83c\udfd7\ufe0f **Clean Architecture** - Modular design with testable components\n- \ud83d\udd27 **Flexible Configuration** - File-based configuration with sensible defaults\n- \ud83d\udcc8 **Verbose Logging** - Multi-level debugging support\n- \ud83d\udc0d **Modern Python** - Built with Python 3.9+ using type hints and async patterns\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\n# Create virtual environment (recommended)\npython -m venv /usr/local/libexec/nagios/check_bitdefender\nsource /usr/local/libexec/nagios/check_bitdefender/bin/activate\n\n# Install from source\npip install git+https://github.com/lduchosal/check_bitdefender.git\n```\n\n### Basic Usage\n\n```bash\n# List all endpoints\ncheck_bitdefender endpoints\n\n# Check onboarding status\ncheck_bitdefender onboarding -d endpoint.domain.tld\n\n# Check last seen (days since endpoint last connected)\ncheck_bitdefender lastseen -d endpoint.domain.tld\n\n# Check last scan (days since last antivirus scan)\ncheck_bitdefender lastscan -d endpoint.domain.tld\n\n# Get detailed endpoint info\ncheck_bitdefender detail -d endpoint.domain.tld\n```\n\n## \ud83d\udccb Available Commands\n\n| Command | Description | Default Thresholds |\n|---------|-------------|-------------------|\n| `endpoints` | List all endpoints | W:10, C:25 |\n| `onboarding` | Check endpoint onboarding status | W:2, C:1 |\n| `lastseen` | Check days since endpoint was last seen | W:7, C:30 |\n| `lastscan` | Check days since endpoint was last scanned | W:7, C:30 |\n| `detail` | Get detailed endpoint information | - |\n\n### Onboarding Status Values\n\n- `0` - Onboarded \u2705\n- `1` - InsufficientInfo \u26a0\ufe0f\n- `2` - Unknown \u274c\n\n## \u2699\ufe0f Configuration\n\n### Authentication Setup\n\nCreate `check_bitdefender.ini` in your Nagios directory or current working directory:\n\n#### API Token Authentication\n```ini\n[auth]\ntoken = your-api-token-here\n\n[settings]\ntimeout = 5\nparent_id = your-company-id-here  # Optional: specify company/parent ID\n```\n\n### BitDefender GravityZone API Setup\n\n1. **Log into GravityZone Control Center**\n2. **Navigate to My Account > API Keys**\n3. **Generate a new API key** with appropriate permissions\n4. **Copy the API token** to your configuration file\n\n\ud83d\udcda [Complete API Setup Guide](https://www.bitdefender.com/business/support/en/77209-370443-gravityzone.html)\n\n## \ud83d\udd27 Command Line Options\n\n| Option | Description | Example |\n|--------|-------------|---------|\n| `-c, --config` | Configuration file path | `-c /custom/path/config.ini` |\n| `-m, --endpointId` | Endpoint ID (GUID) | `-m \"12345678-1234-1234-1234-123456789abc\"` |\n| `-d, --fqdn` | Computer DNS Name (FQDN) | `-d \"server.domain.com\"` |\n| `-W, --warning` | Warning threshold | `-W 10` |\n| `-C, --critical` | Critical threshold | `-C 100` |\n| `-v, --verbose` | Verbosity level | `-v`, `-vv`, `-vvv` |\n| `--version` | Show version | `--version` |\n\n## \ud83c\udfe2 Nagios Integration\n\n### Command Definitions\n\n```cfg\n# BitDefender GravityZone Commands\ndefine command {\n    command_name    check_bitdefender_onboarding\n    command_line    $USER1$/check_bitdefender/bin/check_bitdefender onboarding -d $HOSTALIAS$\n}\n\ndefine command {\n    command_name    check_bitdefender_lastseen\n    command_line    $USER1$/check_bitdefender/bin/check_bitdefender lastseen -d $HOSTALIAS$ -W 7 -C 30\n}\n\ndefine command {\n    command_name    check_bitdefender_lastscan\n    command_line    $USER1$/check_bitdefender/bin/check_bitdefender lastscan -d $HOSTALIAS$ -W 7 -C 30\n}\n\n```\n\n### Service Definitions\n\n```cfg\n# BitDefender GravityZone Services\ndefine service {\n    use                     generic-service\n    service_description     BITDEFENDER_ONBOARDING\n    check_command           check_bitdefender_onboarding\n    hostgroup_name          bitdefender\n}\n\ndefine service {\n    use                     generic-service\n    service_description     BITDEFENDER_LASTSEEN\n    check_command           check_bitdefender_lastseen\n    hostgroup_name          bitdefender\n}\n\ndefine service {\n    use                     generic-service\n    service_description     BITDEFENDER_LASTSCAN\n    check_command           check_bitdefender_lastscan\n    hostgroup_name          bitdefender\n}\n\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\nThis plugin follows **clean architecture** principles with clear separation of concerns:\n\n```\ncheck_bitdefender/\n\u251c\u2500\u2500 \ud83d\udcc1 cli/                     # Command-line interface\n\u2502   \u251c\u2500\u2500 commands/               # Individual command handlers\n\u2502   \u2502   \u251c\u2500\u2500 endpoints.py        # List endpoints command\n\u2502   \u2502   \u251c\u2500\u2500 onboarding.py       # Onboarding status command\n\u2502   \u2502   \u251c\u2500\u2500 lastseen.py         # Last seen command\n\u2502   \u2502   \u251c\u2500\u2500 lastscan.py         # Last scan command\n\u2502   \u2502   \u2514\u2500\u2500 detail.py           # Endpoint detail command\n\u2502   \u2514\u2500\u2500 decorators.py           # Common CLI decorators\n\u251c\u2500\u2500 \ud83d\udcc1 core/                    # Core business logic\n\u2502   \u251c\u2500\u2500 auth.py                 # Authentication management\n\u2502   \u251c\u2500\u2500 config.py               # Configuration handling\n\u2502   \u251c\u2500\u2500 defender.py             # BitDefender API client\n\u2502   \u251c\u2500\u2500 exceptions.py           # Custom exceptions\n\u2502   \u2514\u2500\u2500 nagios.py               # Nagios plugin framework\n\u251c\u2500\u2500 \ud83d\udcc1 services/                # Business services\n\u2502   \u251c\u2500\u2500 endpoint_service.py     # Endpoints business logic\n\u2502   \u251c\u2500\u2500 onboarding_service.py   # Onboarding check logic\n\u2502   \u251c\u2500\u2500 lastseen_service.py     # Last seen check logic\n\u2502   \u251c\u2500\u2500 lastscan_service.py     # Last scan check logic\n\u2502   \u251c\u2500\u2500 detail_service.py       # Detail retrieval logic\n\u2502   \u2514\u2500\u2500 models.py               # Data models\n\u2514\u2500\u2500 \ud83d\udcc1 tests/                   # Comprehensive test suite\n    \u251c\u2500\u2500 unit/                   # Unit tests\n    \u2514\u2500\u2500 integration/            # Integration tests\n```\n\n### Key Design Principles\n\n- **\ud83c\udfaf Single Responsibility** - Each module has one clear purpose\n- **\ud83d\udd0c Dependency Injection** - Easy testing and mocking\n- **\ud83e\uddea Testable** - Comprehensive test coverage\n- **\ud83d\udcc8 Extensible** - Easy to add new commands and features\n- **\ud83d\udd12 Secure** - No secrets in code, proper credential handling\n\n## \ud83e\uddea Development\n\n### Development Setup\n\n```bash\n# Clone repository\ngit clone https://github.com/lduchosal/check_bitdefender.git\ncd check_bitdefender\n\n# Create development environment\npython -m venv .venv\nsource .venv/bin/activate  # Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e .\n```\n\n### Code Quality Tools\n\n```bash\n# Format code\nblack check_bitdefender/\n\n# Lint code\nflake8 check_bitdefender/\n\n# Type checking\nmypy check_bitdefender/\n\n# Run tests\npytest tests/ -v --cov=check_bitdefender\n```\n\n### Building & Publishing\n\n```bash\n# Build package\npython -m build\n\n# Test installation\npip install dist/*.whl\n\n# Publish to PyPI\npython -m twine upload dist/*\n```\n\n## \ud83d\udd0d Output Examples\n\n### Successful Check\n```\nDEFENDER OK - Onboarding status: 0 (Onboarded) | onboarding=0;1;2;0;2\n```\n\n### Warning State\n```\nDEFENDER WARNING - Last seen: 10 days ago | lastseen=10;7;30;0;\n```\n\n### Critical State\n```\nDEFENDER CRITICAL - Last scan: 35 days ago | lastscan=35;7;30;0;\n```\n\n## \ud83d\udd27 Troubleshooting\n\n### Common Issues\n\n| Issue | Solution |\n|-------|----------|\n| **Authentication Errors** | Verify BitDefender GravityZone API token |\n| **Network Connectivity** | Check firewall rules for cloudgz.gravityzone.bitdefender.com |\n| **Import Errors** | Ensure all dependencies are installed |\n| **Configuration Issues** | Validate config file syntax and paths |\n\n### Debug Mode\n\nEnable verbose logging for detailed troubleshooting:\n\n```bash\n# Maximum verbosity\ncheck_bitdefender lastseen -d endpoint.domain.tld -vvv\n\n# Check specific configuration\ncheck_bitdefender onboarding -c /path/to/config.ini -d endpoint.domain.tld -vv\n```\n\n### Required Network Access\n\nEnsure connectivity to:\n- `cloudgz.gravityzone.bitdefender.com`\n\n## \ud83d\udcca Exit Codes\n\n| Code | Status | Description |\n|------|--------|-------------|\n| `0` | OK | Value within acceptable range |\n| `1` | WARNING | Value exceeds warning threshold |\n| `2` | CRITICAL | Value exceeds critical threshold |\n| `3` | UNKNOWN | Error occurred during execution |\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Here's how to get started:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\n### Development Guidelines\n\n- Follow [PEP 8](https://pep8.org/) style guide\n- Add tests for new features\n- Update documentation as needed\n- Ensure all tests pass before submitting\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with [nagiosplugin](https://nagiosplugin.readthedocs.io/) framework\n- Powered by [Click](https://click.palletsprojects.com/) for CLI interface\n- Integrates with [BitDefender GravityZone API](https://www.bitdefender.com/business/support/en/77209-370443-gravityzone.html)\n\n---\n\n<div align=\"center\">\n\n**[\u2b50 Star this repository](https://github.com/lduchosal/check_bitdefender)** if you find it useful!\n\n[\ud83d\udc1b Report Bug](https://github.com/lduchosal/check_bitdefender/issues) \u2022 [\ud83d\udca1 Request Feature](https://github.com/lduchosal/check_bitdefender/issues) \u2022 [\ud83d\udcd6 Documentation](https://github.com/lduchosal/check_bitdefender/blob/main/README.md)\n\n</div>",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Nagios plugin for monitoring BitDefender GravityZone API endpoints",
    "version": "1.0.5",
    "project_urls": {
        "Bug Reports": "https://github.com/lduchosal/check_bitdefender/issues",
        "Documentation": "https://github.com/lduchosal/check_bitdefender/blob/main/README.md",
        "Homepage": "https://github.com/lduchosal/check_bitdefender",
        "Source": "https://github.com/lduchosal/check_bitdefender"
    },
    "split_keywords": [
        "nagios",
        " monitoring",
        " bitdefender",
        " gravityzone",
        " api",
        " endpoint-security"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1652531deb064920f4149c5dccc8138af3662067de9f4d78731146669fea0d3a",
                "md5": "d00d118d10ebc9253a95572d6935a137",
                "sha256": "4d04036aeefab95a158f16aa9c0006ad7f5b18b31badb6e6ef2ef3b2eee40a25"
            },
            "downloads": -1,
            "filename": "check_bitdefender-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d00d118d10ebc9253a95572d6935a137",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 30757,
            "upload_time": "2025-10-08T12:26:41",
            "upload_time_iso_8601": "2025-10-08T12:26:41.443907Z",
            "url": "https://files.pythonhosted.org/packages/16/52/531deb064920f4149c5dccc8138af3662067de9f4d78731146669fea0d3a/check_bitdefender-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ba469a9d14f1d43801560daf61625ebdc63eab93d5d5a6d064cee73d3785149",
                "md5": "36662dc456faeeca0261f74953984bfb",
                "sha256": "f2784af132c0fbbb3b4e9cf79c5dbf38a650edaa0f7e4da9d09b32eee1bde34c"
            },
            "downloads": -1,
            "filename": "check_bitdefender-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "36662dc456faeeca0261f74953984bfb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 33394,
            "upload_time": "2025-10-08T12:26:43",
            "upload_time_iso_8601": "2025-10-08T12:26:43.064026Z",
            "url": "https://files.pythonhosted.org/packages/2b/a4/69a9d14f1d43801560daf61625ebdc63eab93d5d5a6d064cee73d3785149/check_bitdefender-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-08 12:26:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lduchosal",
    "github_project": "check_bitdefender",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "check-bitdefender"
}
        
Elapsed time: 2.67673s