Yii2 module for application health status reporting
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.
//...
'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',
],
],
// ...
],
//...$ 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"
}
]
}
}
-
Database
Class: alexeevdv\yii\health\components\Database
Params:
db- Database component configuration
-
Queue
Class: alexeevdv\yii\health\components\Queue
Params:
cache- Cache component configurationlastExecutedJobCacheKey- Cache key for last executed job timestampfailoverTimeout- Second from last executed job for queue to be reported as failed