PHPackages                             arrilot/bitrix-systemcheck - 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. arrilot/bitrix-systemcheck

AbandonedArchivedBitrix-d7-module

arrilot/bitrix-systemcheck
==========================

0.1.8(6y ago)113.0k4MITPHPPHP &gt;=5.6.0

Since Feb 14Pushed 5y agoCompare

[ Source](https://github.com/arrilot/bitrix-systemcheck)[ Packagist](https://packagist.org/packages/arrilot/bitrix-systemcheck)[ Docs](https://github.com/arrilot/bitrix-systemcheck)[ RSS](/packages/arrilot-bitrix-systemcheck/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (9)Dependencies (3)Versions (10)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/2a895cf0c760327fe633a3dcc346679c4840dd64617b3d6f74ac86fd63e437cb/68747470733a2f2f706f7365722e707567782e6f72672f617272696c6f742f6269747269782d73797374656d636865636b2f762f737461626c652e737667)](https://packagist.org/packages/arrilot/bitrix-systemcheck/)

Данный пакет больше активно не поддерживается
=============================================

[](#данный-пакет-больше-активно-не-поддерживается)

Причина - мы больше не используем Битрикс в своих проектах. Если вам интересен этот проект и вы хотите заняться его поддержкой - форкните его и создайте Issue в данном репозитории чтобы мы поместили здесь ссылку на форк.

Bitrix System Checks
====================

[](#bitrix-system-checks)

*Пакет представляет из себя модуль для Битрикса, который является более гибкой и функциональной альтернативой штатной битриксовой функциональности "Проверка системы"*

### Установка

[](#установка)

1. Добавляем в `composer.json` следующие строчки если их там еще нет

```
  "extra": {
    "installer-paths": {
      "app/local/modules/{$name}/": [
        "type:bitrix-d7-module",
        "type:bitrix-module"
      ]
    }
  },

```

2.

`composer require arrilot/bitrix-systemcheck`

3. Устанавливаем модуль на странице /bitrix/admin/partner\_modules.php?lang=ru
4. Добавляем local/modules/arrilot.systemcheck в .gitignore

### Теория

[](#теория)

#### Возможности bitrix-systemcheck

[](#возможности-bitrix-systemcheck)

- Предоставляет обширную коллекцию готовых проверок, которые включают в себя как как и проверки из встроенного в Битрикс решения, так и дополнительные
- Позволяет создавать новые, специфичные для приложения проверки
- Позволяет создавать неограниченное количество мониторингов с любым набором проверок в каждом
- Позволяет запускать эти мониторинги как через админку (web thread), так и через консоль (cli)
- Умеет логировать результат через PSR-логгер и помогает автоматизировать таким образом контроль за приложением.
- При необходимости дружит c basic auth в отличие от встроенной проверки

#### Основные сущности

[](#основные-сущности)

Основные сушности пакета - проверка и мониторинг.

Проверка - класс, наследующий `Arrilot\BitrixSystemCheck\Checks\Check`. Цель проверки - вернуть `true/false` в методе `run()`. Если проверка возвращает false, то где-то перед `return false;` следует вызвать метод `$this->logError("текст ошибки тут");` один или несколько раз чтобы было понятна причина провала проверки. Пример:

```
class BitrixDebugIsTurnedOn extends Check
{
    /**
     * @return string
     */
    public function name()
    {
        return "Проверка на exception_handling.debug = true ...";
    }

    /**
     * @return boolean
     */
    public function run()
    {
        $config = Configuration::getInstance()->get('exception_handling');

        if (empty($config['debug'])) {
            $this->logError('Значение конфигурации exception_handling.debug должно быть true в данном окружении');
            return false;
        }

        return true;
    }
}
```

Мониторинг - класс, наследующий `Arrilot\BitrixSystemCheck\Checks\Monitoring`Логически он представляет из себя именованный набор проверок, причем этот набор может зависить от окружения и других параметров.

Пример:

```
class FullMonitoring extends Monitoring
{
    /**
     * Russian monitoring name
     *
     * @return string
     */
    public function name()
    {
        return 'Полный мониторинг';
    }

    /**
     * Monitoring code (id)
     *
     * @return string
     */
    public function code()
    {
        return 'full';
    }

    /**
     * @return array
     */
    public function checks()
    {
        if (in_production()) {
            return [
                new BitrixChecks\RequiredPhpModules(),
                new BitrixChecks\PhpSettings(),
                ...
        }

        return [
            new BitrixChecks\RequiredPhpModules(),
            new BitrixChecks\PhpSettings(),
            ...
        ];
    }

    /**
     * @return Logger|null|\Psr\Log\LoggerInterface
     */
    public function logger()
    {
        $logger = new Logger('monitoring-full');
        $logger->pushHandler(new StreamHandler(logs_path('systemcheck/monitoring-full.log')));

        return $logger;
    }
}
```

### Использование

[](#использование)

1. Реализовуем мониторинг/мониторинги (пример выше)
2. Добавляем их в ``.setting\_extra.php`

```
'bitrix-systemcheck' => [
    'value' => [
        'monitorings' => [
            \System\SystemCheck\Monitorings\FullMonitoring::class,
            \System\SystemCheck\Monitorings\BriefMonitoring::class,
        ]
    ],
    'readonly' => true,
],
```

3. Теперь можно запустить выбранный мониторинг в админке `/bitrix/admin/arrilot_systemcheck_monitoring.php?code=full`
4. Регистрируем команду `Arrilot\BitrixSystemCheck\Console\SystemCheckCommand` в консольном приложении на базе symfony/console если у нас есть такое
5. После этого мы сможем запускать мониторинги через консольное приложение следующим образом : `php our_console_app.php system:check full`, где `full` - код мониторинга, возвращаемый методом `Monitoring::code()`. Запускать лучше от пользователя из-под которого у вас работают кроны и веб-сервер, например вот так ` sudo -H -u www-data bash -c 'php our_console_app.php system:check full'`
6. При желании ставим консольную команду запускающую мониторинг в крон и получаем логи/алерты согласно нашему логгеру из `Monitoring::logger()`

Имеющиеся в пакете проверки можно посмотреть в `src/Checks`

### Добавление проверок в пакет aka Contributing

[](#добавление-проверок-в-пакет-aka-contributing)

Любой желающий может через Pull Request (PR) предложить свою проверку для рассмотрения на добавление в ядро модуля. При этом необходимо следовать следующим несложным правилам.

1. Перед началом работы на проверкой нужно удостовериться что такой проверки еще нет в пакете и в открытых PR
2. Один PR = одна проверка
3. Проверка должна быть достаточно общей и подходить таким образом большому числу приложений. Если ваша проверка завязана на ваше приложение, то лучше ей в нём и оставаться
4. Нужно предусмотреть чтобы проверка не закончилась Fatal Exception/Error при запуске на каком-то другом приложении. Например если в ней используется какой-то дополнительный модуль php, то нужно сделать проверку `extension_loaded()` и `$this->skip()` или `return false` в случае false в `extension_loaded()`
5. Проверки должны работать на `"php": ">=5.6.0"`
6. Из предыдущего пункта следует, что проверка должна по минимуму использовать внешние зависимости (модули php, композер-пакеты и т д)
7. Если проверка является еще почему-то нереализованным аналогом проверки из битриксовой "Проверки системы", то она должна идти в неймспейс `Arrilot\BitrixSystemCheck\Checks\Bitrix`, в противном случае - в `Arrilot\BitrixSystemCheck\Checks\Custom`
8. Код должен следовать PSR-2

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.5% 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 ~53 days

Recently: every ~90 days

Total

9

Last Release

2216d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/58d505cd6b2551974b0c076d133fd9a3c9cd635bbf308adb17a6399bd3b63232?d=identicon)[Arrilot](/maintainers/Arrilot)

---

Top Contributors

[![arrilot](https://avatars.githubusercontent.com/u/2826480?v=4)](https://github.com/arrilot "arrilot (19 commits)")[![fruiting](https://avatars.githubusercontent.com/u/13928894?v=4)](https://github.com/fruiting "fruiting (2 commits)")

---

Tags

bitrix

### Embed Badge

![Health badge](/badges/arrilot-bitrix-systemcheck/health.svg)

```
[![Health](https://phpackages.com/badges/arrilot-bitrix-systemcheck/health.svg)](https://phpackages.com/packages/arrilot-bitrix-systemcheck)
```

###  Alternatives

[phpro/soap-client

A general purpose SoapClient library

8885.6M46](/packages/phpro-soap-client)[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k5](/packages/elgg-elgg)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19462.3M1.3k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)

PHPackages © 2026

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