
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
MQTT Prometheus Message Exporter是一个轻量级服务,用于将MQTT消息转换为Prometheus可识别的监控指标。它能够订阅MQTT主题,解析JSON格式的消息内容,通过自定义模式语法提取数值型数据,并生成符合Prometheus规范的指标,便于用户对物联网设备、传感器等产生的MQTT数据进行统一监控和分析。
示例:
主题为my/thermostat,消息内容为:
json{ "num": 10, "inner": { "num": 5, "bool": false }, "so": { "deep": { "really": { "really": 8 } } } }
生成路径:
"my/thermostat/num" -> 10, "my/thermostat/inner/num" -> 5, "my/thermostat/inner/bool" -> 0, "my/thermostat/so/deep/really/really" -> 8
通过以下操作符将路径匹配并转换为Prometheus指标:
[[prefix]]:将匹配的路径段用作指标名称[[prefixes]]:仅用于尾部,将所有剩余路径段用作指标名称[[any]]:匹配任意路径段并忽略<<label>>:创建标签,标签名为label,值为路径段内容示例:
针对路径my/thermostat/so/deep/really/really:
my/[[prefix]]/so/deep/really/really → 指标名thermostatmy/<<device>>/[[prefix]]/deep/really/[[prefix]] → 指标名so_really,标签{device=thermostat}my/<<device>>/[[prefix]]/deep/[[prefixes]] → 指标名so_really_really,标签{device=thermostat}通过|符号优化MQTT订阅范围:
my/<<device>>/[[prefix]]/deep/[[prefixes]] → 订阅my/#my/<<device>>/[[prefix]]/|/deep/[[prefixes]] → 订阅my/+/+(限制路径段数量)需提供配置文件定义MQTT连接参数、指标转换模式等。配置示例可参考项目的example.conf。
核心配置项:
mqtt.broker:MQTT broker地址(必填)mqtt.port:MQTT端口(必填)mqtt.username/mqtt.password:MQTT认证信息(可选,不填则***连接)mqtt.useTls:是否启用TLS(可选,默认false)mqtt.maxPacketSize:最大数据包大小(可选,默认4096)patterns:指标转换模式列表(必填,每个模式需包含pattern和namePrefix)selfMetrics:是否启用服务自身监控指标(可选,用于监控服务 uptime 等)Docker Compose配置
yamlmqtt-prom-exp: restart: unless-stopped image: tg44/mqtt-prometheus-message-exporter volumes: - /path/to/your/exporter.conf:/app/exporter.conf ports: - "9324:9000" # 宿主机端口:容器内端口(容器内默认9000) environment: - CONF_PATH=/app/exporter.conf # 配置文件路径
直接运行Docker命令
bashdocker run -p 9324:9000 \ -v ${PWD}/exporter.conf:/app/exporter.conf \ -e CONF_PATH=/app/exporter.conf \ tg44/mqtt-prometheus-message-exporter
部署后,Prometheus指标可通过 http://<主机IP>:9324/metrics 访问。
namePrefix,确保指标名称唯一(如iot_pressure而非pressure)_)/、|以及<<、>>、[[prefix]]、[[prefixes]]等特殊字符串[[prefix]]和[[prefixes]]会被直接用作指标名的一部分若对功能、配置或模式语法有改进建议,可通过GitHub提交issue或PR进行讨论。
本项目使用自定义的Prometheus exporter库,详情可参考 https://github.com/tg44/prometheus-scala-exporter%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务