{"id":18388196,"url":"https://github.com/ccnmtl/hound","last_synced_at":"2025-08-10T22:07:29.156Z","repository":{"id":15833409,"uuid":"18573359","full_name":"ccnmtl/hound","owner":"ccnmtl","description":"Alert off graphite metrics","archived":false,"fork":false,"pushed_at":"2025-07-09T16:03:22.000Z","size":882,"stargazers_count":6,"open_issues_count":8,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-10T01:08:29.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"RichardLitt/open-source-protocol","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ccnmtl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2014-04-08T20:10:33.000Z","updated_at":"2024-08-27T21:30:42.000Z","dependencies_parsed_at":"2024-06-20T16:24:58.926Z","dependency_job_id":"90aa50b1-1b61-44e0-a025-eaf1b75324ba","html_url":"https://github.com/ccnmtl/hound","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ccnmtl/hound","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fhound","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fhound/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fhound/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fhound/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccnmtl","download_url":"https://codeload.github.com/ccnmtl/hound/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccnmtl%2Fhound/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269794099,"owners_count":24476743,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-06T01:32:25.035Z","updated_at":"2025-08-10T22:07:29.113Z","avatar_url":"https://github.com/ccnmtl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ccnmtl/hound.svg?branch=master)](https://travis-ci.org/ccnmtl/hound)\n[![Coverage Status](https://coveralls.io/repos/github/ccnmtl/hound/badge.svg?branch=master)](https://coveralls.io/github/ccnmtl/hound?branch=master)\n\n## Hound\n\nThis is a simple service that watches a number of Graphite metrics and\nsends alert emails when they cross a threshold.\n\nIt automatically backs off on failing metrics. You'll get an email\nwhen the metric first fails, another 5 minutes later, another 30\nminutes after that, one hour after that, 2 hours after that, 4 hours,\n8 hours, then every 24 hours thereafter. Finally, you will get an\nemail when the metric has recovered.\n\n### Docker image\n\nThere is a docker image for running hound and postfix. See\n\u003chttps://github.com/ccnmtl/postfix-docker\u003e,\n\u003chttps://hub.docker.com/r/graphiteapp/graphite-statsd\u003e and\n\u003chttps://github.com/ccnmtl/hound/blob/master/Dockerfile\u003e for more information.\n\n### Without docker\n\n#### Dependencies\n\n1. Obviously enough, hound needs a running graphite server, accessible via\n   network.\n2. In addition, an SMTP host is necessary (without authentication or\n   encryption) to send the emails out.\n\n### Configuration\n\nThere are a couple example configs in the `examples/` directory.\n\n* `CheckInterval` is how many minutes to wait between checks\n* `GlobalThrottle` is the maximum number of alerts that Hound will send in a\n  cycle. Ie, if there's a major network outage and all the metrics start\n  failing, you want to stop it once you've figured that out. Once this\n  threshold is passed, Hound sends just one more message saying how many\n  metrics are failing.\n\nThe rest of the values in this file should be self-explanatory.\n\nThe alerts configuration is set in `config.json` (by default - it is passed as\nan argument to `hound` in `run_nohup.sh`).\n\nEach Alert has:\n\n* `Name`: obvious.\n* `Type`: defaults to 'Alert'. You can also set it to 'Notice'. The\n  convention is that an alert means \"something is broken and a human\n  needs to fix it NOW\" while a Notice is just \"you should know about\n  this\" and it's either not directly actionable or not urgent. Eg,\n  high CPU load is probably a Notice, while high request error rates\n  would warrant an alert.\n* `Metric`: the actual Graphite metric being checked. This can be as\n  complicated as you like and use the full suite of Graphite\n  functions.\n* `Threshold`: fairly obvious. Format it as a float. Treat it as \"\u003e=\"\n  or \"\u003c=\". Ie, it will trigger if the metric matches the threshold.\n* `Direction`: \"above\" or \"below\". Specified whether a failure is when\n  the metric crosses above or below the threshold, respectively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccnmtl%2Fhound","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccnmtl%2Fhound","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccnmtl%2Fhound/lists"}