{"id":21291498,"url":"https://github.com/postfinance/hostlookuper","last_synced_at":"2025-07-11T16:30:32.793Z","repository":{"id":65196838,"uuid":"564246070","full_name":"postfinance/hostlookuper","owner":"postfinance","description":"DNS monitoring tool","archived":false,"fork":false,"pushed_at":"2024-07-23T12:14:15.000Z","size":459,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-23T14:18:30.912Z","etag":null,"topics":["dns","grafana","grafana-dashboard","metrics","monitoring","monitoring-tool","prometheus"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postfinance.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":"2022-11-10T10:03:00.000Z","updated_at":"2024-07-23T12:14:12.000Z","dependencies_parsed_at":"2023-11-21T07:55:40.577Z","dependency_job_id":"d2ce230d-9b78-44a6-b28a-568dad475afc","html_url":"https://github.com/postfinance/hostlookuper","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postfinance%2Fhostlookuper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postfinance%2Fhostlookuper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postfinance%2Fhostlookuper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postfinance%2Fhostlookuper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postfinance","download_url":"https://codeload.github.com/postfinance/hostlookuper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225737827,"owners_count":17516434,"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":["dns","grafana","grafana-dashboard","metrics","monitoring","monitoring-tool","prometheus"],"created_at":"2024-11-21T13:33:55.333Z","updated_at":"2024-11-21T13:33:56.071Z","avatar_url":"https://github.com/postfinance.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hostlookuper\n\nHostlookuper periodically performs DNS requests, measures latency and exports\nthe data as Prometheus metrics.\n\nIt can be used to continuously monitor a list of DNS servers and procotols, so\nas to detect anomalies in the network early on. Lookup errors are logged, and\nalso accounted for in the `hostlookuper_dns_errors_total` metric.\n\n###\n\n⚠️ For the time being, and until\nhttps://github.com/VictoriaMetrics/metrics/pull/45 is merged into\nVictoriaMetrics Go instrumentation, the bucket metrics exported by hostlookuper\nare only compatible with VictoriaMetrics, not prometheus.\n\n## Usage\n\n`hostlookuper` is configured with the follwoing arguments:\n\n```bash\n$ hostlookuper -h\nUsage of hostlookuper:\n  -debug\n        enable verbose logging\n  -dns-servers string\n        comma-separated list of DNS servers. if the protocol is omitted, udp is implied, and if the port is omitted, 53 is implied (default \"udp://9.9.9.9:53,udp://8.8.8.8:53,udp://one.one.one.one:53\")\n  -hosts string\n        comma-separated list of hosts against which to perform DNS lookups (default \"google.ch,ch.ch\")\n  -interval duration\n        interval between DNS checks. must be in Go time.ParseDuration format, e.g. 5s or 5m or 1h, etc (default 5s)\n  -listen string\n        address on which hostlookuper listens. e.g. 0.0.0.0:9090 (default \":9090\")\n  -timeout duration\n        maximum timeout for a DNS query. must be in Go time.ParseDuration format, e.g. 5s or 5m or 1h, etc (default 5s)\n```\n\n## Metrics\n\n`hostlookuper` metrics are available under the `/metrics` URL. An example\n`/metrics` can be found in [`doc/example_metrics`](./doc/example_metrics)\n\n![Grafana dashboard](./doc/grafana_example.png)\n## Grafana Dashboard\n\nA Grafana dashboard is available under [`doc/hostlookuper_grafana.json`](./doc/hostlookuper_grafana.json)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostfinance%2Fhostlookuper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostfinance%2Fhostlookuper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostfinance%2Fhostlookuper/lists"}