PHPackages                             elgentos/magento2-oh-dear-checks - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. elgentos/magento2-oh-dear-checks

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

elgentos/magento2-oh-dear-checks
================================

Magento 2 module for Oh Dear checks integration.

0.3.0(7mo ago)137.4k—7.6%1[2 issues](https://github.com/elgentos/magento2-oh-dear-checks/issues)[1 PRs](https://github.com/elgentos/magento2-oh-dear-checks/pulls)MITPHP

Since Dec 6Pushed 7mo ago2 watchersCompare

[ Source](https://github.com/elgentos/magento2-oh-dear-checks)[ Packagist](https://packagist.org/packages/elgentos/magento2-oh-dear-checks)[ RSS](/packages/elgentos-magento2-oh-dear-checks/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (18)Used By (0)

elgentos/magento2-oh-dear-checks
================================

[](#elgentosmagento2-oh-dear-checks)

This Magento 2 module extends the [Vendic OhDear module](https://github.com/vendic/magento2-oh-dear) with additional application health checks.

Installation
------------

[](#installation)

```
composer require elgentos/magento2-oh-dear-checks
bin/magento module:enable Elgentos_OhDearChecks
bin/magento setup:upgrade
```

Available Checks
----------------

[](#available-checks)

### Sansec Shield Security Check

[](#sansec-shield-security-check)

This check verifies that the Sansec Shield security extension is properly installed, enabled, and configured:

- **Module Installation**: Checks if the `Sansec_Shield` module is installed
- **Module Enablement**: Verifies the module is enabled via `sansec_shield/general/enabled` configuration
- **License Configuration**: Ensures a license key is configured via `sansec_shield/general/license_key`

**Check Results:**

- ✅ **OK**: Module is installed, enabled, and has a license key configured
- ⚠️ **WARNING**: Module is installed and enabled but license key is missing
- ❌ **FAILED**: Module is not installed or not enabled

### Indexer Backlog Check

[](#indexer-backlog-check)

This check monitors the backlog size for all scheduled indexers in your Magento store:

- **Backlog Monitoring**: Tracks the number of pending items for each scheduled indexer
- **Status Tracking**: Reports the current status of each indexer

**Check Results:**

- ✅ **OK**: All indexers are up to date or have minimal backlog (&lt; 1,000 items)
- ⚠️ **WARNING**: High backlog detected (1,000 - 9,999 items)
- ❌ **FAILED**: Critical backlog detected (≥ 10,000 items)

**Metadata Includes:**

- Backlog size per indexer
- Maximum backlog across all indexers
- Number of indexers with backlog

### HTTP Cache Hosts Check

[](#http-cache-hosts-check)

This check verifies that HTTP cache hosts (Varnish) are properly configured for cache clearing:

- **Configuration Check**: Verifies that `http_cache_hosts` is configured in `env.php`
- **Validation**: Ensures at least one host is configured with both `host` and `port` parameters

**Check Results:**

- ✅ **OK**: HTTP cache hosts are properly configured
- ❌ **FAILED**: HTTP cache hosts are not configured or misconfigured

**Metadata Includes:**

- Configuration status
- Number of configured hosts
- List of configured hosts (without sensitive details)

**Example Configuration in env.php:**

```
'http_cache_hosts' => [
    [
        'host' => '127.0.0.1',
        'port' => '6081'
    ]
]
```

Configuration
-------------

[](#configuration)

You can disable any check by adding configuration to your `env.php`:

```
'ohdear' => [
    'Elgentos\\OhDearChecks\\Checks\\SansecShield' => [
        'enabled' => false
    ],
    'Elgentos\\OhDearChecks\\Checks\\IndexerBacklog' => [
        'enabled' => false,
        // Optional: customize which indexers to check
        'indexer_ids' => [
            'catalog_product_price',
            'catalog_category_product',
            'catalogsearch_fulltext',
            // ... add or remove indexer IDs as needed
        ],
        // Optional: global default thresholds (used when no per-indexer threshold is set)
        'warning_threshold' => 1000,
        'critical_threshold' => 10000,
        // Optional: per-indexer thresholds (override global defaults)
        'thresholds' => [
            'catalog_product_price' => [
                'warning' => 500,
                'critical' => 5000
            ],
            'catalogsearch_fulltext' => [
                'warning' => 2000,
                'critical' => 15000
            ],
            // ... configure thresholds for specific indexers
        ]
    ],
    'Elgentos\\OhDearChecks\\Checks\\HttpCacheHosts' => [
        'enabled' => false
    ]
]
```

### Indexer Backlog Configuration Options

[](#indexer-backlog-configuration-options)

- **`indexer_ids`** (array): List of indexer IDs to monitor. If not specified, a default list of 10 common indexers is used.
- **`warning_threshold`** (int): Global warning threshold. Default: 1,000 items. Used when no per-indexer threshold is configured.
- **`critical_threshold`** (int): Global critical threshold. Default: 10,000 items. Used when no per-indexer threshold is configured.
- **`thresholds`** (array): Per-indexer threshold configuration. Each indexer can have its own `warning` and `critical` values that override the global defaults.

**Priority Order:**

1. Per-indexer threshold (if configured)
2. Global threshold (if configured)
3. Default threshold (1,000 for warning, 10,000 for critical)

Contributing
------------

[](#contributing)

Feel free to submit pull requests with additional security and health checks for Magento 2.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance42

Moderate activity, may be stable

Popularity32

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 70% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~25 days

Recently: every ~57 days

Total

13

Last Release

230d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/88a6d8dc588e8f2a0948335563a754687f71304f0bd3b7f7049d4bcdc00a563c?d=identicon)[peterjaap](/maintainers/peterjaap)

---

Top Contributors

[![peterjaap](https://avatars.githubusercontent.com/u/431360?v=4)](https://github.com/peterjaap "peterjaap (21 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (8 commits)")[![JustinElst](https://avatars.githubusercontent.com/u/249633?v=4)](https://github.com/JustinElst "JustinElst (1 commits)")

### Embed Badge

![Health badge](/badges/elgentos-magento2-oh-dear-checks/health.svg)

```
[![Health](https://phpackages.com/badges/elgentos-magento2-oh-dear-checks/health.svg)](https://phpackages.com/packages/elgentos-magento2-oh-dear-checks)
```

###  Alternatives

[tlr/menu

Take some of the stress and boilerplate out of building menus (or indeed any list, because that's basically what a menu is) With support for laravel

189.6k](/packages/tlr-menu)[thanhnamcnv/laravel-make-repository-service

A simple package to create a make:repository, make:service command for Laravel 8+

273.3k](/packages/thanhnamcnv-laravel-make-repository-service)[darkflib/php-qrcode

QRCode library for PHP

1016.2k](/packages/darkflib-php-qrcode)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
