Solr配置:系统信息处理器API详解与监控指南
系统信息处理器API提供了与管理界面Dashboard相同的信息,是监控Solr系统状态的重要工具。
API访问地址
系统信息可通过两个不同的URL获取:
全局系统信息
1 | http://localhost:8983/solr/admin/system |
特定集合系统信息
1 | http://localhost:8983/solr/<collection-name>/admin/system |
两者的区别在于是否在结果中填充core键的信息。
响应字段详解
核心响应字段
mode
- 类型:字符串
- 值:
solrcloud或std - 说明:指示Solr运行模式
lucene
- 类型:对象
- 说明:包含Solr和Lucene版本信息
jvm
- 类型:对象
- 说明:包含JVM相关信息
system
- 类型:对象
- 说明:系统信息
solr_home
- 类型:字符串
- 说明:Solr基础目录,仅在
/solr/admin/system下可用
zkHost
- 类型:字符串
- 说明:Zookeeper主机地址(云模式下)
node
- 类型:字符串
- 说明:节点名称(云模式下)
core
- 类型:对象
- 说明:核心基础信息,仅在提供核心/集合名称时出现
Lucene和Solr信息对象
lucene键包含以下子字段:
lucene-spec-version
- 说明:Lucene包的规范版本
lucene-impl-version
- 说明:Lucene包的实现版本
solr-spec-version
- 说明:Solr包的规范版本
solr-impl-version
- 说明:Solr包的实现版本
JVM信息对象
jvm键包含以下重要字段:
version
- 说明:JVM规范版本
name
- 说明:JVM名称
memory
- 类型:对象
- 说明:内存使用信息
- 包含字段:
free:可用内存total:总内存max:最大内存used:已用内存及百分比
processors
- 说明:处理器数量
jmx
- 类型:对象
- 说明:JMX相关信息
- 包含字段:
classpath:类路径commandLineArgs:命令行参数数组startTime:启动时间upTimeMS:运行时间(毫秒)
系统信息对象
system键包含以下字段:
name
- 说明:操作系统名称
arch
- 说明:系统架构
version
- 说明:操作系统版本
availableProcessors
- 说明:可用处理器数量
systemLoadAverage
- 说明:系统负载平均值
内存相关字段
freePhysicalMemorySize:空闲物理内存totalPhysicalMemorySize:总物理内存freeSwapSpaceSize:空闲交换空间totalSwapSpaceSize:总交换空间
CPU相关字段
processCpuLoad:进程CPU负载systemCpuLoad:系统CPU负载processCpuTime:进程CPU时间
文件描述符
maxFileDescriptorCount:最大文件描述符数openFileDescriptorCount:打开的文件描述符数
uname
- 说明:
uname -a命令结果(Windows不可用)
uptime
- 说明:
uptime命令结果(Windows不可用)
Core信息对象
当提供核心/集合名称时,响应包含core对象:
schema
- 说明:模式名称
host
- 说明:主机名(如不可用则为null)
start
- 说明:核心启动时间
now
- 说明:核心主机当前时间
directory
- 类型:对象
- 说明:与核心相关的目录信息
- 包含字段:
cwd:当前工作目录instance:实例目录data:数据目录index:索引目录dirimpl:目录实现类
API使用示例
云模式系统信息查询
1 | curl http://localhost:8983/solr/admin/info/system |
响应示例:
1 | { |
单机模式核心信息查询
1 | curl http://localhost:8983/solr/gettingstarted/admin/system |
响应示例:
1 | { |
监控最佳实践
1. 内存监控
1 | # 监控JVM内存使用率 |
2. 系统负载监控
1 | # 检查系统负载 |
3. 文件描述符监控
1 | # 监控文件描述符使用情况 |
4. 集群状态监控
1 | # 检查集群模式和节点状态 |
监控告警建议
内存告警阈值
- 内存使用率 > 80%:警告
- 内存使用率 > 90%:严重
系统负载告警
- 负载 > CPU核数:警告
- 负载 > CPU核数 * 2:严重
文件描述符告警
- 使用率 > 80%:警告
- 使用率 > 90%:严重
与其他监控工具集成
Prometheus监控
1 | # prometheus配置示例 |
日志监控
结合系统信息API和日志分析,建立完整的监控体系。
故障排查应用
1. 性能问题诊断
通过JVM内存信息和系统负载,快速定位性能瓶颈。
2. 集群状态检查
在集群环境中,通过节点信息和ZooKeeper连接状态判断集群健康度。
3. 版本兼容性检查
通过Lucene和Solr版本信息,确保组件兼容性。
系统信息处理器API是Solr运维监控的重要工具,合理使用可以大大提升系统可观测性和运维效率。