alexeevdv/yii2-health

Yii2 module for application health reporting

Installs: 3 095

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

Type:yii2-extension

1.0.1 2019-11-12 06:22 UTC

This package is auto-updated.

Last update: 2024-04-12 17:42:11 UTC


README

Build Status codecov PHP 7.1 PHP 7.2 PHP 7.3

Yii2 module for application health status reporting

Installation:

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist alexeevdv/yii2-health "^1.0"

or add

"alexeevdv/yii2-health": "^1.0"

to the require section of your composer.json.

Configuration:

//...
    'modules' => [
        'health' => [
            'class' => alexeevdv\yii\health\Module::class,
            'components' => [
                'database' => alexeevdv\yii\health\components\Database::class,
                'queue' => [
                    'class' => alexeevdv\yii\health\components\Queue::class,
                    'failoverTimeout' => 600, // default is 300
                ],
            ],
        ],
    ],
    'components' => [
        // ...
            'queue' => [
                // Add this to enable last executed job timestamp logging
                'as health' => alexeevdv\yii\health\behaviors\QueueBehavior::class,
            ],
            'urlManager' => [
                'rules' => [
                    // Add url rule to access health status report
                    'api/v1/health' => '/health',
                ],
            ],
        // ...
        
    ],
//...

Usage:

$ curl http://localhost/api/v1/health
{
    "status": "warn",
    "checks": {
        "database": [
            {
                "type": "datastore",
                "status": "pass",
                "time": "2019-07-09T07:32:10+0000",
                "output": ""
            }
        ],
        "queue": [
            {
                "type": "component",
                "status": "warn",
                "time": "2019-07-09T07:32:10+0000",
                "output": "No jobs were executed yet"
            }
        ]
    }
}

Supported components: