
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
AdguardHome Prometheus Exporter是一个用于https://github.com/AdguardTeam/AdguardHome%EF%BC%88Raspberry Pi广告拦截器)的Prometheus导出器,基于知名的pihole-exporter开发。它能够收集AdguardHome的关键运行指标,供Prometheus抓取并通过Grafana进行可视化监控。
!https://raw.githubusercontent.com/ebrianne/adguard-exporter/master/grafana/dashboard.png
Grafana仪表盘可在Grafana官网获取,也可从https://raw.githubusercontent.com/ebrianne/adguard-exporter/master/grafana/dashboard.json%E4%B8%8B%E8%BD%BD%E3%80%82
适用于部署了AdguardHome广告拦截器的环境,特别是基于Raspberry Pi的设备。适合需要监控AdguardHome运行状态、DNS流量统计、广告拦截效果,并通过Prometheus+Grafana构建监控系统的用户。
下载二进制文件
可下载适用于不同架构的最新二进制文件:
从源码编译
获取项目源码:
bash$ go get -u github.com/ebrianne/adguard-exporter # 或 $ git clone https://github.com/ebrianne/adguard-exporter.git
安装依赖:
bash$ GO111MODULE=on go mod vendor
编译二进制(以Raspberry Pi ARM架构为例):
bash$ GOOS=linux GOARCH=arm GOARM=7 go build -o adguard_exporter .
基本Docker运行命令
通过环境变量配置并运行:
bashdocker run \ -e 'adguard_protocol=http' \ -e 'adguard_hostname=192.168.10.252' \ -e 'adguard_username=admin' \ -e 'adguard_password=mypassword' \ -e 'interval=10s' \ -e 'log_limit=10000' \ -e 'server_port=9617' \ -p 9617:9617 \ ebrianne/adguard_exporter:latest
使用.env文件
创建.env文件定义环境变量,然后运行:
bashdocker run --env-file=.env -p 9617:9617 ebrianne/adguard_exporter:latest
Docker Compose配置
本地环境变量文件方式
yamlversion: "3.7" services: adguard_exporter: image: ebrianne/adguard_exporter:latest restart: always ports: - "9617:9617" env_file: - .env
本地secret文件方式(Compose v3+)
yamlversion: "3.7" secrets: my-adguard-pass: file: ./my-adguard-pass.txt services: adguard_exporter: image: ebrianne/adguard_exporter:latest restart: always secrets: - my-adguard-pass ports: - "9617:9617" environment: - adguard_protocol=http - adguard_hostname=192.168.10.252 - adguard_username=admin - adguard_password=/run/secrets/my-adguard-pass - interval=10s - log_limit=10000
Swarm模式
创建secret:
bashecho "mypassword" | docker secret create my-adguard-pass -
Docker Compose配置:
yamlversion: "3.7" secrets: my-adguard-pass: external: true services: adguard_exporter: image: ebrianne/adguard_exporter:latest restart: always secrets: - my-adguard-pass ports: - "9617:9617" environment: - adguard_protocol=http - adguard_hostname=192.168.10.252 - adguard_username=admin - adguard_password=/run/secrets/my-adguard-pass - interval=10s - log_limit=10000
基本命令运行
(参数可选)使用密码认证运行:
bash$ ./adguard_exporter -adguard_protocol https -adguard_hostname 192.168.10.252 -adguard_username admin -adguard_password qwerty -log_limit 10000
运行日志示例:
2020/11/04 17:16:14 --------------------------------------- 2020/11/04 17:16:14 - AdGuard Home exporter configuration - 2020/11/04 17:16:14 --------------------------------------- 2020/11/04 17:16:14 AdguardProtocol : https 2020/11/04 17:16:14 AdguardHostname : 192.168.10.252 2020/11/04 17:16:14 AdguardUsername : admin 2020/11/04 17:16:14 AdGuard Authentication Method : AdguardPassword 2020/11/04 17:16:14 ServerPort : 9617 2020/11/04 17:16:14 Interval : 10s 2020/11/04 17:16:14 LogLimit : 10000 2020/11/04 17:16:14 --------------------------------------- ... 2020/11/04 17:16:30 New tick of statistics: 3824 ads blocked / 36367 total DNS queries
Prometheus配置
在prometheus.yml中添加抓取配置:
yamlscrape_configs: - job_name: 'adguard' static_configs: - targets: ['localhost:9617']
bash# 导出器从Adguard获取数据的时间间隔 -interval duration (可选) (默认 10s) # 用于查询Adguard的协议 -adguard_protocol string (可选: "http", "https") (默认 "http") # 安装Adguard的Raspberry Pi主机名 -adguard_hostname string (可选) (默认 "127.0.0.1") # Adguard Home登录用户名 -adguard_username string (可选) # Adguard界面定义的密码 -adguard_password string (可选) # 返回日志数据的限制 -log_limit string (可选) (默认 "1000") # 导出器使用的端口 -server_port string (可选) (默认 "9617")
| 指标名称 | 描述 |
|---|---|
| adguard_avg_processing_time | DNS查询的平均处理时间 |
| adguard_num_blocked_filtering | 被拦截的DNS查询数量 |
| adguard_num_dns_queries | DNS查询总数 |
| adguard_num_replaced_parental | 被拦截的DNS查询数量(parental控制) |
| adguard_num_replaced_safebrowsing | 被拦截的DNS查询数量(安全浏览) |
| adguard_num_replaced_safesearch | 被拦截的DNS查询数量(安全搜索) |
| adguard_top_blocked_domains | 顶级被拦截域名 |
| adguard_top_clients | 顶级客户端 |
| adguard_top_queried_domains | 顶级被查询域名 |
| adguard_query_types | DNS查询类型分布 |
| running | Adguard是否正在运行 |
| protection_enabled | 保护功能是否启用 |
Ubuntu
创建系统服务文件/etc/systemd/system/adguard-home.service:
[Unit] Description=AdGuard-Exporter After=syslog.target network-online.target Requires=AdGuardHome.Service [Service] ExecStart=/opt/adguard_exporter/adguard_exporter-linux-arm -adguard_protocol http -adguard_hostname <hostname> -adguard_username <username> -adguard_password <password> -log_limit 5000 Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target
启动服务:
bash$ sudo systemctl start adguard-home.service
设置开机自启:
bash$ sudo systemctl enable adguard-home.service
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务