# 集群操作
# 创建快照(用于备份)
在指定目录中创建 Typesense 节点状态和数据的即时快照。
之后您可以备份生成的快照目录,并根据需要将其恢复为数据目录。
# 示例响应
# 定义
POST ${TYPESENSE_HOST}/operations/snapshot
# 参数
参数名称 | 是否必填 | 描述 |
---|---|---|
snapshot_path | 是 | 服务器上用于保存快照的目录路径。 |
# 压缩磁盘数据库
Typesense 使用 RocksDB 将文档存储在磁盘上。如果您频繁进行写入或更新操作,运行底层 RocksDB 数据库的压缩操作可能会带来好处。这可以减少数据库的大小并降低读取延迟。
虽然数据库在此操作期间 不会 阻塞,但我们建议在非高峰时段运行此操作。
curl -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" -X POST http://localhost:8108/operations/db/compact
# 定义
POST ${TYPESENSE_HOST}/operations/db/compact
# 重新选举 Leader(领导者)
触发一个 follower 节点(跟随者节点)发起 raft 投票流程,从而触发 leader 重新选举。
一旦此命令执行成功,你执行该操作的 follower 节点将成为新的 leader。
# 示例响应
# 定义
POST ${TYPESENSE_HOST}/operations/vote
# 慢请求日志开关
启用对超过设定时间阈值的请求进行日志记录。
默认值:-1
(禁用慢请求日志记录)
慢请求会被记录到主日志文件中,前缀为 SLOW REQUEST
。
# 示例响应
# 定义
POST ${TYPESENSE_HOST}/config
# 清除缓存
使用 use_cache
参数发送的搜索请求响应会被缓存在 LRU 缓存中。要完全清除此缓存:
curl -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" -X POST \
http://localhost:8108/operations/cache/clear
# 定义
POST ${TYPESENSE_HOST}/operations/cache/clear
# 集群指标
获取当前 RAM、CPU、磁盘和网络使用指标。
# 示例响应
# 接口定义
GET ${TYPESENSE_HOST}/metrics.json
Prometheus 集成
如果您使用 Prometheus,这里有一个社区维护的项目可以定期轮询此端点并将数据导出到 Prometheus:
https://github.com/imatefx/typesense-prometheus-exporter (opens new window)
# API 统计信息
获取 API 端点的统计信息。
此端点返回过去 10 秒内所有请求的平均每秒请求数和延迟时间。
# 示例响应
# 定义
GET ${TYPESENSE_HOST}/stats.json
Prometheus 集成
如果您使用 Prometheus,这里有一个社区维护的项目,可以让您定期轮询此端点并将数据导出到 Prometheus:
https://github.com/imatefx/typesense-prometheus-exporter (opens new window)
# 健康状态
获取 Typesense 节点的健康信息。
# 示例响应
当节点内存/磁盘不足时,API 响应会额外包含一个 resource_error
字段,其值为 OUT_OF_DISK
(磁盘不足)或 OUT_OF_MEMORY
(内存不足)。
# 定义
GET ${TYPESENSE_HOST}/health
# 调试
获取 Typesense 节点的调试信息。
# 示例响应
version
表示当前运行的 Typesense 版本号。
通过 state
字段的值可以判断节点是主节点(LEADER)还是从节点(FOLLOWER):
状态值 | 节点角色 |
---|---|
1 | 主节点 |
4 | 从节点 |
# 定义
GET ${TYPESENSE_HOST}/debug