
iotechsys/sparkplug-historianSparkplug Historian 是一款专为工业物联网(IIoT)环境打造的时序数据存储组件,基于Eclipse Sparkplug协议标准开发。该镜像提供了从Sparkplug协议设备高效采集、持久化存储和查询历史数据的完整能力,适用于工业自动化、智能制造等场景下的设备数据管理需求。
通过以下命令启动基础功能容器:
bashdocker run -d \ --name sparkplug-historian \ -p 8080:8080 \ -e SPARKPLUG_BROKER_URL=mqtt://mqtt-broker:1883 \ -e DB_TYPE=influxdb \ -e DB_CONNECTION_STRING=[***] \ -e DATA_RETENTION_DAYS=90 \ eclipse/sparkplug-historian:latest
yamlversion: '3.8' services: sparkplug-historian: image: eclipse/sparkplug-historian:latest container_name: sparkplug-historian restart: always ports: - "8080:8080" environment: - SPARKPLUG_BROKER_URL=mqtt://mosquitto:1883 - SPARKPLUG_USERNAME=sparkplug-user - SPARKPLUG_PASSWORD=secure-password - DB_TYPE=timescale - DB_CONNECTION_STRING=postgresql://tsdb-user:tsdb-pass@timescale:5432/sparkplug_tsdb - DATA_RETENTION_DAYS=180 - LOG_LEVEL=INFO - API_AUTH_ENABLED=true - API_KEY=your-api-key-here depends_on: - mosquitto - timescale mosquitto: image: eclipse-mosquitto:2.0 container_name: sparkplug-mqtt volumes: - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data ports: - "1883:1883" timescale: image: timescale/timescaledb:latest-pg14 container_name: sparkplug-tsdb environment: - POSTGRES_USER=tsdb-user - POSTGRES_PASSWORD=tsdb-pass - POSTGRES_DB=sparkplug_tsdb volumes: - timescale-data:/var/lib/postgresql/data ports: - "5432:5432" volumes: timescale-data:
| 参数名 | 环境变量对应 | 描述 | 可选值 | 默认值 |
|---|---|---|---|---|
| MQTT Broker地址 | SPARKPLUG_BROKER_URL | Sparkplug消息源MQTT服务地址 | 标准MQTT URL格式 | mqtt://localhost:1883 |
| 数据库类型 | DB_TYPE | 后端存储引擎类型 | influxdb/timescale/postgres | influxdb |
| 数据库连接串 | DB_CONNECTION_STRING | 存储引擎连接参数 | 各数据库标准连接格式 | http://localhost:8086?db=sparkplug |
| 数据保留天数 | DATA_RETENTION_DAYS | 历史数据保留周期 | 正整数 | 365 |
| API服务端口 | API_PORT | REST API监听端口 | 1-65535 | 8080 |
| 日志级别 | LOG_LEVEL | 系统日志输出级别 | DEBUG/INFO/WARN/ERROR | INFO |
| Sparkplug命名空间 | SPARKPLUG_NAMESPACE | 协议命名空间版本 | spBv1.0/spAv1.0 | spBv1.0 |
| API认证开关 | API_AUTH_ENABLED | 是否启用API密钥认证 | true/false | false |
| API访问密钥 | API_KEY | 启用认证时的访问密钥 | 字符串 | 随机生成 |
获取指定设备的温度历史数据:
bashcurl -X GET "http://localhost:8080/api/v1/history?deviceId=motor-pump-01&metric=temperature&start=2024-05-01T08:00:00Z&end=2024-05-01T18:00:00Z" \ -H "Authorization: Bearer your-api-key-here"
API_AUTH_ENABLED=true并设置强密钥,防止未授权数据访问-v参数挂载配置文件目录,实现配置持久化与版本控制





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务