{"id":16111783,"url":"https://github.com/cliffano/health","last_synced_at":"2025-10-15T02:16:50.209Z","repository":{"id":8125570,"uuid":"9542574","full_name":"cliffano/health","owner":"cliffano","description":"Resource health status checking library","archived":false,"fork":false,"pushed_at":"2023-03-04T13:08:29.000Z","size":839,"stargazers_count":10,"open_issues_count":6,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-11T13:33:36.495Z","etag":null,"topics":["checker","cli","http","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cliffano.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-04-19T09:53:28.000Z","updated_at":"2024-08-25T00:16:05.000Z","dependencies_parsed_at":"2024-06-18T22:51:56.548Z","dependency_job_id":"08e4666e-ecba-42c6-ad2b-918590b88431","html_url":"https://github.com/cliffano/health","commit_stats":{"total_commits":160,"total_committers":3,"mean_commits":"53.333333333333336","dds":0.09999999999999998,"last_synced_commit":"7094634d3524df1ce21dad1fc68714696ce086ae"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cliffano%2Fhealth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cliffano%2Fhealth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cliffano%2Fhealth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cliffano%2Fhealth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cliffano","download_url":"https://codeload.github.com/cliffano/health/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233828159,"owners_count":18736581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checker","cli","http","nodejs"],"created_at":"2024-10-09T19:45:32.105Z","updated_at":"2025-09-22T06:31:36.382Z","avatar_url":"https://github.com/cliffano.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg align=\"right\" src=\"https://raw.github.com/cliffano/health/master/avatar.jpg\" alt=\"Avatar\"/\u003e\n\n[![Build Status](https://github.com/cliffano/health/workflows/CI/badge.svg)](https://github.com/cliffano/health/actions?query=workflow%3ACI)\n[![Dependencies Status](https://img.shields.io/david/cliffano/health.svg)](http://david-dm.org/cliffano/health)\n[![Coverage Status](https://img.shields.io/coveralls/cliffano/health.svg)](https://coveralls.io/r/cliffano/health?branch=master)\n[![Published Version](https://img.shields.io/npm/v/health.svg)](http://www.npmjs.com/package/health)\n[![Vulnerabilities Status](https://snyk.io/test/github/cliffano/health/badge.svg)](https://snyk.io/test/github/cliffano/health)\n\u003cbr/\u003e\n[![npm Badge](https://nodei.co/npm/health.png)](http://npmjs.org/package/health)\n\nHealth\n------\n\nHealth is a resource health status checking library.\n\nThis is handy when you want to check the status of multiple resources using a simple configuration file. For example, if your application requires a web service and a MongoDB database to be available, Health module can monitor those resources and return status ok/fail against each resource along with the response time.\n\nIt also supports result caching via ttl attribute of each resource, which is handy when you want to monitor multiple resources at a different interval or to reduce the load on certain resources.\n\nInstallation\n------------\n\n    npm install -g health\n\nUsage\n-----\n\n    // use default formatter\n    var health = new (require('health'))(\n      setup: [ { name: 'google', uri: 'http://google.com' } ]\n    );\n\n    // use built-in formatter (html, text, or xml)\n    var health = new (require('health'))(\n      setup: [ { name: 'google', uri: 'http://google.com' } ],\n      formatter: 'html'\n    );\n\n    // use custom formatter function\n    var health = new (require('health'))(\n      setup: [ { name: 'google', uri: 'http://google.com' } ],\n      formatter: function (results) {\n        return results.join('|');\n      }\n    );\n\n    // check resources\n    health.check(function (err, result) {\n    });\n\nFrom command-line:\n\n    health -f html -s health.json check\n\nConfiguration\n-------------\n\nHealth setup is just a simple JSON:\n\n    [\n      { \"name\": \"Google\", \"uri\", \"http://google.com\", \"statusCodes\": [ 200 ] },\n      { \"name\": \"GMail\", \"uri\", \"https://mail.google.com\", \"timeout\": \"1000\" },\n      { \"name\": \"MongoDB\", \"uri\": \"mongodb://somehost:27017\", \"timeout\": 200, \"ttl\": 30000 },\n      { \"name\": \"Temp\", \"uri\": \"file:///tmp\", \"mode\": \"777\", \"ttl\": 360000 }\n    ]\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eAttribute\u003c/th\u003e\n    \u003cth\u003eType\u003c/th\u003e\n    \u003cth\u003eDescription\u003c/th\u003e\n    \u003cth\u003eProtocol\u003c/th\u003e\n    \u003cth\u003eUsage\u003c/th\u003e\n    \u003cth\u003eDefault\u003c/th\u003e\n    \u003cth\u003eExample\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003euri\u003c/td\u003e\n    \u003ctd\u003estring\u003c/td\u003e\n    \u003ctd\u003eResource URI to check\u003c/td\u003e\n    \u003ctd\u003eAll\u003c/td\u003e\n    \u003ctd\u003eMandatory\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003emongodb://somehost:27017\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ename\u003c/td\u003e\n    \u003ctd\u003estring\u003c/td\u003e\n    \u003ctd\u003eResource name\u003c/td\u003e\n    \u003ctd\u003eAll\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003esomeapp\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ettl\u003c/td\u003e\n    \u003ctd\u003enumber\u003c/td\u003e\n    \u003ctd\u003eCache time to live in milliseconds\u003c/td\u003e\n    \u003ctd\u003eAll\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e30000\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003elenient\u003c/td\u003e\n    \u003ctd\u003eboolean\u003c/td\u003e\n    \u003ctd\u003eReplace fail or error with warning\u003c/td\u003e\n    \u003ctd\u003eAll\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n    \u003ctd\u003etrue, false\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egroup\u003c/td\u003e\n    \u003ctd\u003estring\u003c/td\u003e\n    \u003ctd\u003eResource group name, status is set to warning when there's at least one group member having success/warning status, group members status is set to fail/error only when none of the group members has success/warning status\u003c/td\u003e\n    \u003ctd\u003eAll\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003edatabases, apps, datacenter1\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003etimeout\u003c/td\u003e\n    \u003ctd\u003enumber\u003c/td\u003e\n    \u003ctd\u003eRequest/connect timeout in milliseconds\u003c/td\u003e\n    \u003ctd\u003ehttp, https, mongodb\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e500\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003estatusCode\u003c/td\u003e\n    \u003ctd\u003earray\u003c/td\u003e\n    \u003ctd\u003eAn array of acceptable response HTTP status codes\u003c/td\u003e\n    \u003ctd\u003ehttp, https\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e[ 200, 409 ]\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003etext\u003c/td\u003e\n    \u003ctd\u003earray\u003c/td\u003e\n    \u003ctd\u003eAn array of all texts that must exist in response body, any of them does not exist means status FAIL\u003c/td\u003e\n    \u003ctd\u003ehttp, https\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e[ 'foo', 'bar' ]\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003emode\u003c/td\u003e\n    \u003ctd\u003estring\u003c/td\u003e\n    \u003ctd\u003e3-digit file/directory mode\u003c/td\u003e\n    \u003ctd\u003efile\u003c/td\u003e\n    \u003ctd\u003eOptional\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e777, 644\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nColophon\n--------\n\n[Developer's Guide](https://cliffano.github.io/developers_guide.html#nodejs)\n\nBuild reports:\n\n* [Code complexity report](https://cliffano.github.io/health/complexity/plato/index.html)\n* [Unit tests report](https://cliffano.github.io/health/test/buster.out)\n* [Test coverage report](https://cliffano.github.io/health/coverage/buster-istanbul/lcov-report/lib/index.html)\n* [API Documentation](https://cliffano.github.io/health/doc/dox-foundation/index.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcliffano%2Fhealth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcliffano%2Fhealth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcliffano%2Fhealth/lists"}