组织管理 #
一、组织概述 #
1.1 什么是组织 #
text
组织概念:
定义
├── 顶层容器
├── 用户和权限边界
├── 资源隔离单位
└── 多租户支持
作用
├── 隔离不同项目数据
├── 管理用户权限
├── 组织Bucket
└── 控制访问范围
1.2 组织结构 #
text
InfluxDB层级结构:
Instance(实例)
│
├── Organization: production
│ ├── Users
│ │ ├── admin
│ │ ├── developer
│ │ └── viewer
│ ├── Buckets
│ │ ├── metrics
│ │ └── logs
│ └── Tokens
│ ├── admin-token
│ └── read-token
│
└── Organization: development
├── Users
│ └── developer
└── Buckets
└── test-data
二、创建组织 #
2.1 初始化时创建 #
text
首次设置:
1. 访问 http://localhost:8086
2. 点击 "Get Started"
3. 填写组织信息
├── Organization Name: my-org
├── Bucket Name: my-bucket
└── Retention Period: 7 days
2.2 CLI创建 #
bash
# 创建组织
influx org create \
--name my-org \
--description "生产环境组织"
# 查看创建结果
influx org list
2.3 API创建 #
bash
# 使用API创建组织
curl -X POST "http://localhost:8086/api/v2/orgs" \
--header "Authorization: Token YOUR_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "my-org",
"description": "生产环境组织"
}'
三、查看组织 #
3.1 CLI查看 #
bash
# 列出所有组织
influx org list
# 查看特定组织
influx org list --name my-org
# 按ID查看
influx org list --id 1234567890abcdef
3.2 API查看 #
bash
# 获取所有组织
curl -X GET "http://localhost:8086/api/v2/orgs" \
--header "Authorization: Token YOUR_TOKEN"
# 获取特定组织
curl -X GET "http://localhost:8086/api/v2/orgs/ORG_ID" \
--header "Authorization: Token YOUR_TOKEN"
3.3 Flux查看 #
flux
// 列出所有组织
import "influxdata/influxdb"
influxdb.orgs()
// 过滤特定组织
import "influxdata/influxdb"
influxdb.orgs()
|> filter(fn: (r) => r.name == "my-org")
3.4 输出说明 #
text
组织列表输出:
ID Name Description
1234567890abcdef my-org 生产环境组织
0987654321fedcba dev-org 开发环境组织
字段说明:
├── ID: 组织唯一标识
├── Name: 组织名称
└── Description: 组织描述
四、更新组织 #
4.1 CLI更新 #
bash
# 更新组织名称
influx org update \
--id 1234567890abcdef \
--name new-org-name
# 更新描述
influx org update \
--id 1234567890abcdef \
--description "新的描述"
# 同时更新多个属性
influx org update \
--id 1234567890abcdef \
--name updated-org \
--description "更新后的组织"
4.2 API更新 #
bash
# 使用API更新组织
curl -X PATCH "http://localhost:8086/api/v2/orgs/ORG_ID" \
--header "Authorization: Token YOUR_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "updated-org",
"description": "更新后的组织"
}'
五、删除组织 #
5.1 CLI删除 #
bash
# 按ID删除
influx org delete --id 1234567890abcdef
# 按名称删除
influx org delete --name my-org
5.2 API删除 #
bash
# 使用API删除组织
curl -X DELETE "http://localhost:8086/api/v2/orgs/ORG_ID" \
--header "Authorization: Token YOUR_TOKEN"
5.3 删除警告 #
text
删除组织警告:
⚠️ 删除组织将删除:
├── 所有Bucket
├── 所有Token
├── 所有Dashboard
├── 所有Task
├── 所有用户关联
└── 所有数据(不可恢复)
建议:
├── 删除前备份重要数据
├── 确认组织ID正确
└── 先删除关联资源
六、用户管理 #
6.1 创建用户 #
bash
# 创建用户
influx user create \
--name developer \
--password Dev@123 \
--org my-org
# 创建用户并设置角色
influx user create \
--name admin \
--password Admin@123 \
--org my-org \
--operator
# 查看用户列表
influx user list
6.2 用户与组织关联 #
bash
# 将用户添加到组织
influx org members add \
--org my-org \
--member-id USER_ID
# 从组织移除用户
influx org members remove \
--org my-org \
--member-id USER_ID
# 查看组织成员
influx org members list --org my-org
6.3 更新用户 #
bash
# 更新用户密码
influx user password \
--name developer \
--password NewPass@123
# 更新用户名
influx user update \
--id USER_ID \
--name new-name
6.4 删除用户 #
bash
# 删除用户
influx user delete --id USER_ID
# 按名称删除
influx user delete --name developer
七、权限管理 #
7.1 权限类型 #
text
权限类型:
全局权限
├── owner - 所有者
│ └── 完全控制权限
├── operator - 操作员
│ └── 管理资源权限
└── member - 成员
└── 基本访问权限
资源权限
├── read - 读取权限
├── write - 写入权限
└── delete - 删除权限
权限范围
├── 组织级别
├── Bucket级别
└── 特定资源
7.2 创建Token #
bash
# 创建全权限Token
influx auth create \
--org my-org \
--operator
# 创建组织读写Token
influx auth create \
--org my-org \
--read-buckets \
--write-buckets
# 创建特定Bucket Token
influx auth create \
--org my-org \
--read-bucket my-bucket \
--write-bucket my-bucket
# 创建只读Token
influx auth create \
--org my-org \
--read-bucket my-bucket
7.3 管理Token #
bash
# 查看Token列表
influx auth list
# 查看特定Token
influx auth list --id AUTH_ID
# 删除Token
influx auth delete --id AUTH_ID
# 设置Token活跃状态
influx auth update \
--id AUTH_ID \
--inactive
7.4 权限示例 #
bash
# 创建开发环境Token
influx auth create \
--org development \
--read-buckets \
--write-buckets \
--description "开发环境Token"
# 创建只读监控Token
influx auth create \
--org production \
--read-bucket metrics \
--description "监控只读Token"
# 创建日志写入Token
influx auth create \
--org production \
--write-bucket logs \
--description "日志写入Token"
八、组织最佳实践 #
8.1 组织规划 #
text
组织规划建议:
按环境分
├── production(生产)
├── staging(预发布)
└── development(开发)
按业务分
├── iot-platform
├── monitoring-system
└── analytics-platform
按团队分
├── team-backend
├── team-frontend
└── team-devops
按客户分
├── customer-a
├── customer-b
└── customer-c
8.2 权限规划 #
text
权限规划建议:
管理员
├── owner权限
├── 管理所有资源
└── 创建/删除用户
开发者
├── 读写权限
├── 创建Bucket
└── 编写查询
运维人员
├── 读写权限
├── 配置监控
└── 管理Task
只读用户
├── 只读权限
├── 查看Dashboard
└── 导出数据
8.3 安全建议 #
text
安全最佳实践:
Token管理
├── 定期轮换Token
├── 使用最小权限原则
├── 不要共享Token
└── 删除不用的Token
用户管理
├── 强密码策略
├── 定期审计用户
├── 及时移除离职用户
└── 使用SSO集成
访问控制
├── 启用HTTPS
├── 限制IP访问
├── 审计日志
└── 监控异常访问
九、多租户架构 #
9.1 多租户设计 #
text
多租户架构:
方案一:组织隔离
├── 每个客户一个组织
├── 完全数据隔离
├── 独立权限管理
└── 适合大型客户
方案二:Bucket隔离
├── 共享组织
├── 每个客户独立Bucket
├── 通过Token隔离
└── 适合中小客户
方案三:标签隔离
├── 共享Bucket
├── 通过标签区分
├── 应用层过滤
└── 适合轻量级场景
9.2 多租户示例 #
bash
# 创建客户组织
influx org create --name customer-a
influx org create --name customer-b
# 为每个客户创建Bucket
influx bucket create --name metrics --org customer-a
influx bucket create --name metrics --org customer-b
# 创建客户专属Token
influx auth create \
--org customer-a \
--read-bucket metrics \
--write-bucket metrics \
--description "Customer A Token"
十、监控组织 #
10.1 查看组织资源 #
bash
# 查看组织下的Bucket
influx bucket list --org my-org
# 查看组织成员
influx org members list --org my-org
# 查看组织Token
influx auth list --org my-org
10.2 资源统计 #
flux
// 统计组织数据量
import "influxdata/influxdb"
influxdb.cardinality(
bucket: "my-bucket",
org: "my-org",
start: -30d
)
十一、完整示例 #
11.1 创建生产环境组织 #
bash
#!/bin/bash
# setup_production_org.sh
ORG="production"
# 创建组织
echo "Creating organization: $ORG"
influx org create \
--name "$ORG" \
--description "生产环境组织"
# 创建Bucket
echo "Creating buckets..."
influx bucket create \
--name metrics \
--org "$ORG" \
--retention 720h
influx bucket create \
--name logs \
--org "$ORG" \
--retention 168h
# 创建用户
echo "Creating users..."
influx user create \
--name admin \
--password Admin@123 \
--org "$ORG"
# 创建Token
echo "Creating tokens..."
influx auth create \
--org "$ORG" \
--read-buckets \
--write-buckets \
--description "生产环境Token"
echo "Setup complete!"
11.2 创建开发环境组织 #
bash
#!/bin/bash
# setup_dev_org.sh
ORG="development"
# 创建组织
influx org create \
--name "$ORG" \
--description "开发环境组织"
# 创建测试Bucket
influx bucket create \
--name test-data \
--org "$ORG" \
--retention 24h
# 创建开发者Token
influx auth create \
--org "$ORG" \
--read-buckets \
--write-buckets \
--description "开发环境Token"
十二、总结 #
组织管理要点:
- 合理规划:按环境、业务或团队划分组织
- 权限控制:遵循最小权限原则
- Token管理:定期轮换,及时清理
- 用户管理:强密码,定期审计
- 多租户设计:根据需求选择合适的隔离方案
下一步,让我们学习行协议!
最后更新:2026-03-27