A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
This module contains integrated healthchecks for Nest. These healthchecks run in an internal execution manager based on the Terminus-package.
In order to install @nestjs/terminus
you must install @godaddy/terminus
- the library which will be used
to execute the healthchecks.
@nestjs/terminus
integrates with a lot of cool technologies, such as typeorm
, grpc
, mongodb
, and many more!
In most cases you do not want to install all the optional dependencies which would be needed for these integrations.
Therefore we highly recommend to use the --no-optional
option. In case you have missed a dependency, @nestjs/terminus
will throw an error and prompt you to install the required dependency. So you will only install what is actually required!
npm install --save @nestjs/terminus @godaddy/terminus --no-optional
Import the Terminus module with the following options for a healthcheck with a database health inidcator.
const getTerminusOptions = (
db: TypeOrmHealthIndicator,
): TerminusModuleOptions => ({
endpoints: [
{
// The health check will be available with /health
url: '/health',
// All the indicator which will be checked when requesting /health
healthIndicators: [
// Set the timeout for a response to 300ms
async () => db.pingCheck('database', { timeout: 300 })
],
},
],
});
@Module({
imports:[
// Make sure TypeOrmModule is available in the module context
TypeOrmModule.forRoot({ ... }),
TerminusModule.forRootAsync({
// Inject the TypeOrmHealthIndicator provided by nestjs/terminus
inject: [TypeOrmHealthIndicator],
useFactory: db => getTerminusOptions(db),
}),
],
})
export class HealthModule { }
If everything is set up correctly, you can access the healthcheck on http://localhost:3000/health
.
{
"status": "ok",
"info": {
"database": {
"status": "up"
}
}
}
For more information, see docs or internal documentation. You can find further samples in the samples/ folder of this repository.
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Nest is MIT licensed.