{"id":21905975,"url":"https://github.com/frgrisk/healthchecker","last_synced_at":"2025-03-22T07:19:38.538Z","repository":{"id":109687764,"uuid":"609375746","full_name":"frgrisk/healthchecker","owner":"frgrisk","description":"healthchecker notifies you when a healthcheck starts failing","archived":false,"fork":false,"pushed_at":"2025-03-02T00:36:21.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T01:25:58.930Z","etag":null,"topics":["devops","golang","monitoring","notifications"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/frgrisk/healthchecker","language":"Go","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/frgrisk.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2023-03-04T01:48:18.000Z","updated_at":"2025-03-02T00:36:23.000Z","dependencies_parsed_at":"2023-12-03T01:30:51.660Z","dependency_job_id":"0fdca91f-f7db-4293-acf5-81ba36de1c3c","html_url":"https://github.com/frgrisk/healthchecker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Fhealthchecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Fhealthchecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Fhealthchecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frgrisk%2Fhealthchecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frgrisk","download_url":"https://codeload.github.com/frgrisk/healthchecker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244919860,"owners_count":20531892,"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":["devops","golang","monitoring","notifications"],"created_at":"2024-11-28T16:39:42.709Z","updated_at":"2025-03-22T07:19:38.520Z","avatar_url":"https://github.com/frgrisk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# healthchecker\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/frgrisk/healthchecker)](https://goreportcard.com/report/github.com/frgrisk/healthchecker)\n\n`healthchecker` is a command-line utility for performing health checks on a\nspecified URL. The utility can be configured to send notifications when the\nHTTP response status code changes or when the URL recovers from a failure.\n\n## Installation\n\nIf your system has a [supported version of Go installed](https://go.dev/dl/),\nyou can build from source:\n\n```bash\ngo install github.com/frgrisk/healthchecker@latest\n```\n\n## Usage\n\nTo use the utility, run the `healthchecker run` command followed by the URL to\nmonitor and any configuration flags. For example:\n\n```bash\nhealthchecker run \\\n    --url https://example.com \\\n    --timeout 10s \\\n    --interval 1m \\\n    --failure-threshold 5 \\\n    --success-threshold 3 \\\n    --name example \\\n    --teams-webhook-url https://example.webhook.office.com/webhookb2/...\n```\n\nThe `healthchecker run` command takes the following flags:\n\n- `--url`: the URL to monitor (required)\n- `--timeout`: the maximum time to wait for a response from the URL (default 1s)\n- `--interval`: the interval at which to perform health checks (default 10s)\n- `--failure-threshold`: the number of consecutive failures before sending a down notification (default 5)\n- `--success-threshold`: the number of consecutive successes before sending a recovered notification (default 3)\n- `--name`: the name of the service for notifications (defaults to the URL\n  if not specified)\n- `--teams-webhook-url`: the URL of the Microsoft Teams webhook to use for sending notifications\n- `--dynamodb-table-name`: the name of the DynamoDB table to use for storing\n  health check results (default \"healthchecker-results\")\n- `--count`: the number of times to run the health check (0 = infinite)\n- `--log-filename`: the log file to write to (if not specified, write to stdout)\n- `--log-level`: logging level to use\n  (\"panic\"|\"fatal\"|\"error\"|\"warning\"|\"info\"|\"debug\"|\"trace\") (default \"info\")\n\nBy default, the `healthchecker run` command will run indefinitely,\nperforming health checks on the specified URL at the specified interval. If\nthe URL returns a status code indicating failure, the utility will send a\nnotification to the specified Microsoft Teams webhook. The utility will also\nkeep track of the URL's status in a AWS DynamoDB table to avoid sending\nduplicate notifications.\n\n## To-Do\n\n- [x] Add logging redirection\n- [ ] Add support for Lambda\n- [ ] Add support for other notification providers\n- [ ] Add support for other storage providers\n- [ ] Add support for other health check types (e.g. TCP, DNS, etc.)\n- [ ] Add support for custom headers\n- [ ] Add support for custom HTTP methods\n- [ ] Add support for custom HTTP bodies\n- [ ] Add configuration wizard\n- [ ] Add Docker images\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrgrisk%2Fhealthchecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrgrisk%2Fhealthchecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrgrisk%2Fhealthchecker/lists"}