当前位置: 首页 > web >正文

Docker安装influxdb以及python基本操作

简介

InfluxDB 是一个专为处理时间序列数据(Time-Series Data)设计的开源数据库,由 Go 语言编写,专注于高效存储、查询和分析随时间变化的数据流,如监控指标、传感器数据、应用程序性能日志等。

下载镜像

docker pull influxdb:latest

csdn下载

docker的influxdb镜像资源-CSDN下载

运行InfluxDB容器

docker run -d -p 8086:8086 --name influxdb -v influxdb-storage:/var/lib/influxdb influxdb:latest

页面访问

http://localhost:8086/

设置账号密码

admin admin123

保存token

EeeeBOImBXbKFTgd-vD5Fh-5Hgk1_4sPKPIKUGJhbXHQEusfrTWVEVMdlswgLnAVaNbPnH9028Po0E_dD1Xs5w==

Python基本操作

安装依赖

pip install influxdb-client

操作代码

from influxdb_client import InfluxDBClient, Point, WritePrecisionfrom influxdb_client.client.write_api import SYNCHRONOUSimport datetime# 配置 InfluxDB 连接参数url = "http://localhost:8086"token = "EeeeBOImBXbKFTgd-vD5Fh-5Hgk1_4sPKPIKUGJhbXHQEusfrTWVEVMdlswgLnAVaNbPnH9028Po0E_dD1Xs5w=="  # 替换为你的 API Tokenorg = "test"  # 替换为你的组织名bucket = "bucketName"  # 替换为你的桶名# 创建 InfluxDB 客户端client = InfluxDBClient(url=url, token=token, org=org)def write_data():"""写入数据到 InfluxDB"""write_api = client.write_api(write_options=SYNCHRONOUS)# 创建数据点(使用 Point 对象)point = Point("temperature") \.tag("location", "room-102") \.field("value", 25.7) \.time(datetime.datetime.utcnow(), WritePrecision.NS)try:write_api.write(bucket=bucket, record=point)print("数据写入成功")except Exception as e:print(f"写入失败: {e}")def query_data():"""从 InfluxDB 查询数据"""query_api = client.query_api()# 构建 Flux 查询语句 # |> filter(fn: (r) => r.location == "room-101")query = f'''from(bucket: "{bucket}")|> range(start: -1h)|> filter(fn: (r) => r._measurement == "temperature")'''try:result = query_api.query(query)print("\n查询结果:")for table in result:for record in table.records:print(f"时间: {record.get_time()}, 值: {record.get_value()}")except Exception as e:print(f"查询失败: {e}")if __name__ == "__main__":write_data()  # 执行数据写入query_data()  # 执行数据查询# 关闭客户端client.close()

执行结果

http://www.xdnf.cn/news/17820.html

相关文章:

  • 微店平台平台关键字搜索接口实战:从精准检索到智能推荐实现
  • JetPack系列教程(六):Paging——让分页加载不再“秃”然
  • 职场与生活如何在手机中共存?(二)
  • aliases 的意义和作用?
  • Harmony OS 开发入门 第三章
  • 四、深入剖析Java程序逻辑控制:从字节码到性能优化
  • Android 双屏异显技术全解析:从原理到实战的多屏交互方案
  • sqli-libs通关教程(51-65)
  • Linux系统编程Day13 -- 程序地址空间(进阶)
  • 18.9 BERT问答模型实战:从数据到部署的完整指南
  • dolphinscheduler 依赖节点不通过
  • 【Spring Boot 3.0 + JDK 17 新手指南:完整用户管理系统】
  • ADB 无线调试连接(Windows + WSL 环境)
  • AI一周事件(2025年8月6日-8月12日)
  • 字符串匹配算法
  • 深度学习——03 神经网络(3)-网络优化方法
  • cisco无线WLC flexconnect配置
  • latex中“itemize”
  • 了解 Linux 中的 /usr 目录以及 bin、sbin 和 lib 的演变
  • 肖臻《区块链技术与应用》第十一讲:比特币核心概念重温:一文读懂私钥、交易、挖矿与网络现状
  • 深入解析 AUTOSAR:汽车软件开发的革命性架构
  • Qt中定时器介绍和使用
  • 什么是跨域访问问题,如何解决?
  • 企业高性能web服务器(3)
  • cartographer 后端优化流程
  • 终端安全检测与防御技术
  • MySQL 存储过程终止执行的方法
  • [TryHackMe]Internal(hydra爆破+WordPress主题修改getshell+Chisel内网穿透)
  • MyBatis 缓存与 Spring 事务相关笔记
  • 安路Anlogic FPGA下载器的驱动安装与测试教程