koishi-plugin-jscn-aaaquery
v1.0.22
Published
江苏有线无锡分公司宽带信息查询插件
Readme
koishi-plugin-jscn-aaaquery
江苏有线运维系统和RADIUS系统查询插件
功能概述
本插件提供了江苏有线运维系统和RADIUS系统的查询功能,包括账号查询、终端查询、日志查询和用户查询等功能。支持智能识别输入内容自动选择查询类型。
命令列表
1. 账号查询
- 命令格式:
账号查询 <账号>或/账号查询 <账号> - 示例:
账号查询 GDC8510019239048或/账号查询 GDC8510019239048 - 功能:查询宽带账号的基本信息,包括在线状态、IP地址、MAC地址等。
- 返回信息:
- RADIUS用户信息:状态、密码等
- 账号基本信息:在线状态、认证状态、IP地址、MAC地址等
- 订购信息:订购状态、服务名称、生效时间、失效时间等
- 账号状态处理:
- 在线状态:显示IP地址、MAC地址、带宽、时长等完整信息
- 离线状态:显示最后IP地址、MAC地址、最后在线时间等基本信息
- 上线失败:显示MAC地址、失败时间、失败原因、回复消息、原因分析等故障信息
- 备注:账号会自动转换为大写,在线时长会以"天小时分钟"的形式显示。
2. 账号详情
- 命令格式:
账号详情 <账号>或/账号详情 <账号> - 示例:
账号详情 GDC8510019239048或/账号详情 GDC8510019239048 - 功能:查询宽带账号的详细记录,包括登录时间、登出时间等。
- 备注:账号会自动转换为大写。
3. 终端查询
- 命令格式:
终端查询 <MAC地址>或/终端查询 <MAC地址> - 示例:
终端查询 00:11:22:33:44:55或/终端查询 00:11:22:33:44:55 - 功能:查询终端的基本信息,包括光功率和业务配置信息。
- 返回信息:
- 设备基本信息:状态、设备名称等
- 光功率信息:发射光功率、接收光功率(包含正常/过高/过低评估)
- 业务配置信息:端口VLAN和工单VLAN
- MAC地址支持多种格式:
- 纯字符串:
001122334455 - 冒号分隔:
00:11:22:33:44:55 - 短横线分隔:
00-11-22-33-44-55 - 点号分隔:
00.11.22.33.44.55 - 中文符号分隔:
00:11。22-33|44:55
- 纯字符串:
4. 终端详细查询
- 命令格式:
终端详细查询 <MAC地址>或/终端详细查询 <MAC地址> - 示例:
终端详细查询 00:11:22:33:44:55或/终端详细查询 00:11:22:33:44:55 - 功能:查询终端的详细信息,包括机房、设备名称、OLT IP、工单信息等。
- 返回信息:
- 设备详细信息:状态、机房、设备名称、OLT IP、PON端口、逻辑号等
- 光功率信息:发射光功率、接收光功率(包含正常/过高/过低评估)
- 工单信息:工单编号、创建时间、更新时间
- 业务配置信息:端口VLAN和工单VLAN配置详情
5. 日志查询
- 命令格式:
日志查询 <MAC地址> [开始时间] [结束时间]或/日志查询 <MAC地址> [开始时间] [结束时间] - 示例:
日志查询 00:11:22:33:44:55或/日志查询 00:11:22:33:44:55日志查询 00:11:22:33:44:55 2024.3.1 2024.3.10或/日志查询 00:11:22:33:44:55 2024.3.1 2024.3.10日志查询 00:11:22:33:44:55 三月一日或/日志查询 00:11:22:33:44:55 三月一日
- 功能:查询终端的上线分析日志。
- 时间格式支持:
- 完整日期:
2024.3.1或2024/3/1 - 简写日期:
3.1或3/1(自动补全当前年份) - 中文日期:
三月一日或三月一号
- 完整日期:
6. 用户查询
- 命令格式:
用户查询 <账号>或/用户查询 <账号> - 示例:
用户查询 GDC8510013590471或/用户查询 GDC8510013590471 - 功能:查询RADIUS系统中的用户信息和订购状态。
- 返回信息:
- 用户基本信息:账号、密码、状态、漫游设置等
- 订购信息:订购状态、服务名称、生效时间、失效时间等
7. 智能查询
- 直接输入MAC地址或账号即可查询,无需输入命令。
- 示例:
00:11:22:33:44:55(自动识别为MAC地址并查询终端详情)GDC8510019239048(自动识别为账号并查询账号信息)
- 支持@机器人后发送查询内容
8. 系统管理命令
缓存统计
- 命令格式:
缓存统计或/缓存统计 - 功能:显示当前缓存的统计信息,包括总缓存项数量、缓存大小、命中率等。
- 返回信息:
- 总缓存项数量
- 估计的缓存大小(KB)
- 缓存命中率及命中/未命中次数
- 最老缓存项的年龄
- 缓存清理次数和已清理项目数
- 命令格式:
清理缓存
- 命令格式:
清理缓存或/清理缓存 - 功能:手动清理所有缓存项,释放内存并强制下次查询从服务器获取最新数据。
- 返回信息:清理的缓存项数量
- 命令格式:
系统状态
- 命令格式:
系统状态或/系统状态 - 功能:显示当前系统运行状态,包括缓存、并发请求和消息队列的实时状态。
- 返回信息:
- 缓存命中率(带可视化进度条)
- 缓存项数量和占用空间
- 当前并发请求数与最大限制(带可视化进度条)
- 等待中的请求数量
- 消息队列状态(带可视化进度条)
- 当前处理状态(空闲/处理中)
- 命令格式:
插件配置
必需配置项
loginName:运维系统登录账号password:运维系统登录密码baseUrl:运维系统API地址(默认:http://172.16.251.75:8090/nms/api)
可选配置项
radiusApiUrl:RADIUS API基础URL(默认:http://111.208.114.248:28210/api/radius)
性能优化
插件内置了以下优化机制:
- 缓存机制:缓存查询结果,减少重复请求(缓存时间默认5分钟)
- 令牌管理:自动处理登录令牌的获取和刷新
- 请求队列:防止相同请求重复发送,降低服务器负载
- 并发控制:限制最大并发请求数,防止请求过多导致系统不稳定
- 消息队列:使用消息处理队列,确保在高并发下消息不丢失
- 光功率评估:自动评估接收光功率是否在正常范围内(-24dBm ~ -8dBm)
- 超时处理:设置请求超时,自动处理长时间未响应的请求
- 格式优化:优化消息显示格式,使用直观的图标显示状态信息
- 错误处理:完善的错误处理机制,确保查询失败时有清晰的提示
- 并行查询:终端查询采用并行请求策略,在保持接口依赖关系的同时大幅提升查询速度
- 智能合并:具有相同VLAN配置的多个LAN端口会自动合并显示,提高信息的可读性
- 缓存监控:内置缓存统计和监控功能,可随时查看缓存状态并手动清理
- 系统状态可视化:提供系统状态的实时监控,包括直观的进度条显示各项指标
- 自动资源清理:定期自动清理过期的缓存项、请求队列和消息队列,优化内存使用
显示优化
状态指示:
- 在线/正常状态:✅
- 离线/错误状态:❌
- 警告状态:⚠️
光功率评估:
- 正常范围(-24dBm ~ -8dBm):🟢正常
- 光功率过高(> -8dBm):🔴过高
- 光功率过低(< -24dBm):🔴过低
时间格式:
- 在线时长显示为"天小时分钟"形式,例如"2天3小时15分钟"
消息格式:
- 丰富的图标使信息更加直观
- 分级显示使信息层次清晰
- 内容丰富的查询结果使用新行显示
- 简短提示直接显示在同一行
VLAN显示:
- 端口VLAN值为"-"时显示为"未配置"
- 工单VLAN值为0时正确显示为"0"
- 相同VLAN配置的多个LAN端口合并显示,如"LAN2,LAN3,LAN4"
系统状态可视化:
- 使用进度条直观显示缓存命中率、并发请求使用情况和消息队列状态
- 系统关键指标一目了然,方便管理员快速评估系统性能
注意事项
- 所有查询都需要正确的权限和配置。
- MAC地址不区分大小写,支持多种分隔符格式,包括中文符号。
- 账号查询时会自动转换为大写。
- 日期格式支持多种写法,但建议使用标准格式。
- 如果查询失败,请检查输入格式是否正确。
- 确保运维系统和RADIUS系统API能够正常访问。
- 账号查询时会先检查RADIUS授权,如授权有误将不继续查询账号信息。
- 光功率刷新功能将无论设备是否在线都会尝试刷新,确保获取最新数据。
- 针对上线失败或离线状态的账号,系统也能提供有用的信息,不会简单报错。
- 所有命令支持带斜杠(如
/账号查询)和不带斜杠(如账号查询)两种触发方式,提高命令输入的灵活性。 - 系统管理命令可用于监控和优化系统性能,建议定期查看系统状态,必要时手动清理缓存。
更新日志
最新更新
- 增加了系统管理命令,包括缓存统计、清理缓存和系统状态监控
- 新增缓存监控功能,支持查看缓存命中率、大小、项目数等统计信息
- 增加系统状态可视化展示,使用进度条直观呈现系统各项指标
- 优化了缓存管理机制,包括定期统计重置和性能数据收集
- 完善了资源自动清理,减少内存占用和提高系统稳定性
- 优化终端查询性能,实现并行请求,大幅减少查询响应时间
- 智能合并显示具有相同VLAN配置的LAN端口,使得信息展示更加清晰
- 优化VLAN值显示:端口VLAN为"-"时显示为"未配置",工单VLAN为0时正确显示为"0"
- 增加了对双触发词的支持,同时兼容带斜杠(如
/账号查询)和不带斜杠(如账号查询)的命令格式 - 增加了离线状态和上线失败状态的特殊处理,提供更多有用信息
- 修复了状态图标显示问题,确保"不在线"状态正确显示❌图标
- 优化了数据完整性检查,对不同状态采用不同的验证标准
- 增加了光功率评估功能,直观显示接收光功率是否在正常范围内
- 优化了在线时长显示,支持天/小时/分钟格式
- 增强了MAC地址格式处理,支持中文符号分隔
- 添加了状态指示图标,使查询结果更加直观
- 优化了消息格式,内容丰富的查询使用新行显示
- 增加了RADIUS用户查询前置验证
- 无论设备在线状态如何,都会尝试刷新光功率信息
- 增强了高并发下的消息处理能力
