运维管理17 分钟阅读
InfluxDB 3 运维命令 100 条
InfluxDB 3 是基于 Apache Arrow、DataFusion、Parquet 和对象存储构建的新一代时序数据库。与 InfluxDB 1.x/2.x 相比,它使用新的 influxdb3 CLI,支持 SQL 和 InfluxQL,但不支持 Flux,数据库、表、Token、缓存和处理引擎的管理方式也发生了明显变化。
2026年8月19日阅读—点赞—收藏—
dba100influxdb墨力计划
在知识库中专注阅读,并随时返回相关工具与课程
InfluxDB 3 是基于 Apache Arrow、DataFusion、Parquet 和对象存储构建的新一代时序数据库。与 InfluxDB 1.x/2.x 相比,它使用新的 influxdb3 CLI,支持 SQL 和 InfluxQL,但不支持 Flux,数据库、表、Token、缓存和处理引擎的管理方式也发生了明显变化。
InfluxDB 3 是基于 Apache Arrow、DataFusion、Parquet 和对象存储构建的新一代时序数据库。与 InfluxDB 1.x/2.x 相比,它使用新的 influxdb3 CLI,支持 SQL 和 InfluxQL,但不支持 Flux,数据库、表、Token、缓存和处理引擎的管理方式也发生了明显变化。
下面整理 InfluxDB 3 Core 常用的 100 条命令,覆盖安装启动、数据库、表、Token、Line Protocol 写入、SQL、InfluxQL、缓存、Processing Engine、监控和备份检查。Enterprise 和 Cloud 提供的部分能力与 Core 不同,不能直接照搬。
本文以当前 InfluxDB 3 Core 文档为基线。Core 对查询时间范围、保留策略修改和集群能力存在产品边界,且不提供内置备份恢复命令。生产操作前应确认版本和 Edition。
1influxdb3 --version1influxdb3 --help1influxdb3 serve --help1influxdb3 serve \2 --node-id node01 \3 --object-store file \4 --data-dir /var/lib/influxdb31influxdb3 serve \2 --node-id test01 \3 --object-store memory内存存储重启后数据丢失,只适合测试。
1influxdb3 serve \2 --node-id node01 \3 --object-store s3 \4 --bucket influxdb3-prod \5 --aws-default-region ap-northeast-1访问密钥应通过安全的环境变量或实例角色提供。
1influxdb3 serve \2 --node-id node01 \3 --object-store s3 \4 --bucket influxdb3 \5 --aws-endpoint http://minio:9000 \6 --aws-allow-http生产环境应使用 TLS。
1export INFLUXDB3_HOST_URL=http://127.0.0.1:81811curl -s http://127.0.0.1:8181/health健康检查路径可能随版本调整,应以当前服务文档为准。
1curl -I http://127.0.0.1:8181/health1influxdb3 create token --adminToken 只在创建时显示一次,必须立即保存。
1export INFLUXDB3_AUTH_TOKEN='apiv3_Replace_With_Token'1influxdb3 create token \2 --admin \3 --name dba-admin \4 --expiry 30d1influxdb3 create token \2 --admin \3 --offline \4 --name bootstrap-admin \5 --output-file /secure/admin-token.json应限制文件权限并安全保管。
1influxdb3 show tokens1influxdb3 delete token dba-admin1curl -s \2 -H "Authorization: Bearer ${INFLUXDB3_AUTH_TOKEN}" \3 http://127.0.0.1:8181/health1influxdb3 create token --help1influxdb3 delete token --help1unset INFLUXDB3_AUTH_TOKEN1influxdb3 show databases1influxdb3 create database sensors1influxdb3 create database \2 --retention-period 30d \3 sensors_30dInfluxDB 3 Core 的保留期创建后不可修改。
1influxdb3 show system \2 --database sensors \3 table databases可用系统表随版本变化。
1influxdb3 query \2 --database sensors \3 "SHOW TABLES"1influxdb3 query \2 --database sensors \3 --language influxql \4 "SHOW MEASUREMENTS"1influxdb3 create table \2 --database sensors \3 --tags host,region \4 --fields usage:float64,temp:float64 \5 cpu参数形式应使用当前 CLI 的 create table --help 复核。
1influxdb3 query \2 --database sensors \3 "SELECT column_name, data_type4 FROM information_schema.columns5 WHERE table_name='cpu'"1influxdb3 query \2 --database sensors \3 "SELECT table_name4 FROM information_schema.tables5 WHERE table_schema='iox'"1influxdb3 delete table \2 --database sensors \3 cpu1influxdb3 delete table \2 --database sensors \3 --hard-delete now \4 cpu硬删除不可恢复,执行前应确认目标和备份。
1influxdb3 delete database sensors1influxdb3 delete database \2 --hard-delete now \3 sensors1influxdb3 write \2 --database sensors \3 'cpu,host=server01 usage=72.5,temp=61.2'1influxdb3 write \2 --database sensors \3 --precision ns \4 'cpu,host=server01 usage=72.5 1785148800000000000'1influxdb3 write \2 --database sensors \3 --precision s \4 'cpu,host=server01 usage=72.5 1785148800'1influxdb3 write \2 --database sensors \3 'cpu,host=server01 usage=72.54cpu,host=server02 usage=65.85memory,host=server01 used=78.2'1influxdb3 write \2 --database sensors \3 --file metrics.lp1printf '%s\n' \2'cpu,host=server01 usage=72.5' |3influxdb3 write --database sensors1influxdb3 write \2 --database sensors \3 --accept-partial \4 --file metrics.lp应检查返回结果,避免忽略失败行。
1influxdb3 write \2 --database sensors \3 --no-sync \4 'cpu,host=server01 usage=72.5'--no-sync 以数据可靠性换取响应速度,不适合关键数据。
1curl -sS -X POST \2 "http://127.0.0.1:8181/api/v3/write_lp?db=sensors" \3 -H "Authorization: Bearer ${INFLUXDB3_AUTH_TOKEN}" \4 --data-binary \5 'cpu,host=server01 usage=72.5'1curl -sS -X POST \2 "http://127.0.0.1:8181/write?db=sensors&precision=s" \3 -H "Authorization: Bearer ${INFLUXDB3_AUTH_TOKEN}" \4 --data-binary \5 'cpu,host=server01 usage=72.5 1785148800'1influxdb3 write \2 --database sensors \3 'service,host=server01 status="UP",connections=120i'1influxdb3 write \2 --database sensors \3 'health,host=server01 available=true'1influxdb3 query \2 --database sensors \3 "SELECT *4 FROM cpu5 ORDER BY time DESC6 LIMIT 10"1influxdb3 query \2 --database sensors \3 "SELECT *4 FROM cpu5 WHERE time >= now() - INTERVAL '1 hour'"1influxdb3 query \2 --database sensors \3 "SELECT time, host, usage4 FROM cpu5 WHERE host='server01'6 ORDER BY time DESC"1influxdb3 query \2 --database sensors \3 "SELECT host, avg(usage) AS avg_usage4 FROM cpu5 WHERE time >= now() - INTERVAL '1 hour'6 GROUP BY host"1influxdb3 query \2 --database sensors \3 "SELECT date_bin(4 INTERVAL '5 minutes',5 time,6 TIMESTAMP '1970-01-01T00:00:00Z'7 ) AS window,8 host,9 avg(usage) AS avg_usage10 FROM cpu11 WHERE time >= now() - INTERVAL '1 hour'12 GROUP BY window, host13 ORDER BY window"1influxdb3 query \2 --database sensors \3 "SELECT host,4 min(usage) AS min_usage,5 max(usage) AS max_usage6 FROM cpu7 GROUP BY host"1influxdb3 query \2 --database sensors \3 "SELECT time, host, usage,4 avg(usage) OVER (5 PARTITION BY host6 ORDER BY time7 ROWS BETWEEN 5 PRECEDING AND CURRENT ROW8 ) AS moving_avg9 FROM cpu"1influxdb3 query \2 --database sensors \3 "SELECT c.time, c.host,4 c.usage, m.used5 FROM cpu c6 JOIN memory m7 ON c.host=m.host AND c.time=m.time"1influxdb3 query \2 --database sensors \3 "EXPLAIN4 SELECT avg(usage)5 FROM cpu6 WHERE time >= now() - INTERVAL '1 hour'"1influxdb3 query \2 --database sensors \3 "EXPLAIN ANALYZE4 SELECT avg(usage)5 FROM cpu6 WHERE time >= now() - INTERVAL '1 hour'"1influxdb3 query \2 --database sensors \3 --format csv \4 "SELECT * FROM cpu LIMIT 100"1influxdb3 query \2 --database sensors \3 --format json \4 "SELECT * FROM cpu LIMIT 10"1influxdb3 query \2 --database sensors \3 --file report.sql1curl -sS -G \2 "http://127.0.0.1:8181/api/v3/query_sql" \3 -H "Authorization: Bearer ${INFLUXDB3_AUTH_TOKEN}" \4 --data-urlencode "db=sensors" \5 --data-urlencode "q=SELECT * FROM cpu LIMIT 10" \6 --data-urlencode "format=json"1influxdb3 query --help1influxdb3 query \2 --database sensors \3 --language influxql \4 "SELECT * FROM cpu LIMIT 10"1influxdb3 query \2 --database sensors \3 --language influxql \4 "SHOW FIELD KEYS FROM cpu"1influxdb3 query \2 --database sensors \3 --language influxql \4 "SHOW TAG KEYS FROM cpu"1influxdb3 query \2 --database sensors \3 --language influxql \4 "SHOW TAG VALUES FROM cpu WITH KEY=host"1influxdb3 query \2 --database sensors \3 --language influxql \4 "SELECT mean(usage)5 FROM cpu6 WHERE time > now() - 1h7 GROUP BY time(5m), host"1influxdb3 query \2 --database sensors \3 --language influxql \4 "EXPLAIN SELECT mean(usage) FROM cpu"1curl -sS -G \2 "http://127.0.0.1:8181/api/v3/query_influxql" \3 -H "Authorization: Bearer ${INFLUXDB3_AUTH_TOKEN}" \4 --data-urlencode "db=sensors" \5 --data-urlencode "q=SELECT * FROM cpu LIMIT 10"Flux 在 InfluxDB 3 中不受支持,不要使用 InfluxDB 2.x 的 Flux 示例。
1influxdb3 create last_cache \2 --database sensors \3 --table cpu \4 --key-columns host \5 --value-columns usage,temp \6 cpu_last1influxdb3 show system \2 --database sensors \3 table last_caches1influxdb3 query \2 --database sensors \3 "SELECT * FROM cpu_last"缓存对应的系统表和查询名称应以创建结果为准。
1influxdb3 delete last_cache \2 --database sensors \3 --table cpu \4 cpu_last1influxdb3 create distinct_cache \2 --database sensors \3 --table cpu \4 --columns host,region \5 cpu_tags1influxdb3 show system \2 --database sensors \3 table distinct_caches1influxdb3 query \2 --database sensors \3 "SELECT * FROM cpu_tags"1influxdb3 delete distinct_cache \2 --database sensors \3 --table cpu \4 cpu_tags缓存位于内存中,高基数配置会增加内存压力。
1influxdb3 show plugins1influxdb3 install package requests安装方式和可用依赖受当前版本及部署策略限制。
1influxdb3 create trigger \2 --database sensors \3 --plugin-filename hourly_check.py \4 --trigger-spec "every:1h" \5 hourly_check1influxdb3 create trigger \2 --database sensors \3 --plugin-filename alert.py \4 --trigger-spec "all_tables" \5 write_alertTrigger Spec 的支持形式应以当前 Processing Engine 文档为准。
1influxdb3 disable trigger \2 --database sensors \3 hourly_check1influxdb3 enable trigger \2 --database sensors \3 hourly_check1influxdb3 update trigger \2 --database sensors \3 --plugin-filename hourly_check_v2.py \4 hourly_check1influxdb3 delete trigger \2 --database sensors \3 hourly_check1influxdb3 delete trigger \2 --database sensors \3 --force \4 hourly_check1influxdb3 show system \2 --database sensors \3 table triggers1influxdb3 show system \2 --database sensors1journalctl -u influxdb3 \2 --since "30 minutes ago"1journalctl -u influxdb3 -f1systemctl status influxdb31ss -lntp | grep 81811ps -eo pid,cmd,%cpu,%mem,rss \2 | grep '[i]nfluxdb3'1du -sh /var/lib/influxdb32df -h /var/lib/influxdb3对象存储部署还应检查 Bucket 容量、请求错误和生命周期策略。
1ulimit -n1influxdb3 debug --help1docker ps \2 --filter name=influxdb31systemctl stop influxdb31rsync -a \2 /var/lib/influxdb3/node01/ \3 /backup/influxdb3/node01/InfluxDB 3 Core 没有内置备份命令。为保证一致性,应按官方文档规定的顺序复制 Catalog Checkpoint、Catalog、WAL、数据库文件和 Snapshot,并优先在停库或低负载窗口执行。
1systemctl start influxdb31influxdb3 show databases2influxdb3 query \3 --database sensors \4 "SELECT count(*) FROM cpu"还应抽样验证最近时间点、Tag、字段类型、缓存和触发器。
1systemctl status influxdb32curl -s http://127.0.0.1:8181/health3influxdb3 show databases4influxdb3 show tokens5influxdb3 show system --database sensors6df -h /var/lib/influxdb37journalctl -u influxdb3 --since "1 hour ago"每日巡检应同时关注写入错误、查询延迟、WAL、对象存储、磁盘容量、Token 到期、缓存内存、触发器失败和备份可恢复性。
InfluxDB 3 已经不是 InfluxDB 2.x 的简单升级版。运维时应围绕对象存储、Parquet、WAL、SQL/InfluxQL 和新 influxdb3 CLI 建立知识体系,避免继续套用 Bucket、Organization 和 Flux 的旧命令。
Core、Enterprise 与 Cloud 的功能边界变化较快,尤其是查询范围、Token 权限、备份、集群和 Processing Engine。生产使用前应固定版本,并用对应版本官方文档逐项核对。