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运维监控的重要工具,合理使用可以大大提升系统可观测性和运维效率。