sapcc/unbound_exporterUnbound Prometheus Exporter是一个用于收集Unbound DNS解析器运行指标的工具,通过Prometheus兼容格式暴露指标,便于监控系统(如Prometheus+Grafana)对Unbound服务的性能、健康状态进行实时跟踪和分析。
unbound-control)或统计信息文件(unbound-statistics)获取数据,无需修改Unbound核心配置。control-enable: yes)或统计信息输出(具体配置参考Unbound官方文档)。bashdocker run -d \ --name unbound-exporter \ -p 9167:9167 \ # Exporter监听端口,默认9167 -e UNBOUND_HOST=192.168.1.100 \ # Unbound服务器IP/主机名,默认localhost -e UNBOUND_PORT=8953 \ # Unbound控制接口端口,默认8953 -e UNBOUND_PASSWORD=your-unbound-control-password \ # 若Unbound控制接口启用密码认证 -e LISTEN_PORT=9167 \ # 自定义Exporter监听端口(可选,默认9167) -e METRICS_PATH=/metrics \ # 自定义指标暴露路径(可选,默认/metrics) prometheus-unbound-exporter:latest
yamlversion: '3' services: unbound-exporter: image: prometheus-unbound-exporter:latest container_name: unbound-exporter ports: - "9167:9167" environment: - UNBOUND_HOST=unbound-server # 可使用Docker网络内的服务名 - UNBOUND_PORT=8953 - UNBOUND_PASSWORD=secure-password - LISTEN_PORT=9167 restart: unless-stopped networks: - monitoring-network # 确保与Prometheus、Unbound在同一网络 networks: monitoring-network: external: true # 若已存在监控网络,设为true
在Prometheus的prometheus.yml中添加如下抓取配置,以收集Exporter暴露的指标:
yamlscrape_configs: - job_name: 'unbound' static_configs: - targets: ['unbound-exporter:9167'] # Exporter的地址和端口 scrape_interval: 15s # 抓取频率,根据需求调整
| 环境变量 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
UNBOUND_HOST | Unbound服务器IP或主机名 | localhost | 192.168.1.100 |
UNBOUND_PORT | Unbound控制接口端口 | 8953 | 8954 |
UNBOUND_PASSWORD | Unbound控制接口认证密码(若启用) | 空 | secure-password |
LISTEN_PORT | Exporter监听端口 | 9167 | 9200 |
METRICS_PATH | 指标暴露路径 | /metrics | /unbound-metrics |
UNBOUND_TIMEOUT | 连接Unbound的超时时间(秒) | 5 | 10 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | debug |
Exporter暴露的主要指标示例(完整列表可通过访问http://<exporter-ip>:<port>/metrics查看):
unbound_queries_total:DNS查询总次数(按查询类型、响应码等标签拆分)unbound_cache_hits_ratio:缓存命中率unbound_response_time_seconds:DNS响应时间(分位数,如p50/p90/p99)unbound_recursion_count_total:递归查询次数unbound_up:Exporter与Unbound的连接状态(1=正常,0=异常)control-interface、control-port、server-key-file等),否则Exporter可能无法获取指标。--memory=128m),避免异常占用过多资源。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务