# Ping多多 - IP连通性检测工具 ## 📋 功能说明 批量检测多个IP地址的连通性,支持并发ping测试,**实时显示检测进度**,结果分类显示并保存为JSON文件。 ## ✨ v2.0 新特性 - 🎨 **彩色输出**:使用颜色区分在线/离线状态 - 📊 **实时进度**:每检测一个IP立即显示结果 - 📈 **成功率统计**:自动计算并显示服务器在线率 - 💡 **智能提示**:根据成功率给出不同的处理建议 - 🔍 **更好的错误提示**:详细的配置错误信息 ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install pyyaml colorama ``` ### 2. 配置文件格式(YAML) 编辑 `config.yml` 文件: ```yaml # Ping多多配置文件 - YAML格式 # 每行一个IP地址,冒号后添加注释(可选) IP_LIST: # Oracle Rac集群 10.10.14.220: "Oracle Rac节点1" 10.10.14.222: "Oracle Rac存储节点(IP冲突,待调整)" # 虚拟化平台 10.10.30.161: "天融信3.5.6(DELL R730)(88G+1.7T)" 10.10.30.215: "H3C CAS7.0(X10主板)(128G+3.5T)" # 可选参数配置 SETTINGS: count: 2 # ping次数 timeout: 2 # 超时时间(秒) max_workers: 3 # 并发线程数 ``` ### 3. 运行脚本 ```bash python MyPing配置IP.py ``` ## 📝 配置说明 ### IP_LIST 部分 - **格式**:`IP地址: "注释"` - **注释可选**:可以留空字符串 `""` - **支持分组**:使用 `#` 注释进行逻辑分组 - **每行一个IP**:简洁明了,易于维护 ### SETTINGS 部分(可选) | 参数 | 默认值 | 范围 | 说明 | |------|--------|------|------| | count | 2 | 1-10 | 每个IP的ping次数 | | timeout | 2 | 1-10秒 | 超时时间 | | max_workers | 10 | 1-50 | 并发线程数 | ## 📊 输出示例 ``` ============================================================ 🔍 Ping多多 - IP连通性检测工具 v2.0 ============================================================ ============================================================ 开始检测 33 个IP地址的连通性... ============================================================ [1/33] ✓ 10.10.14.221 - Oracle Rac节点2 [2/33] ✓ 10.10.14.222 - Oracle Rac存储节点 [3/33] ✗ 10.10.14.220 - Oracle Rac节点1 ... ============================================================ 检测完成! ============================================================ ============================================================ 📊 检测结果汇总 ============================================================ 【开机】: ✓ 10.10.14.221 (Oracle Rac节点2) ✓ 10.10.30.161 (天融信3.5.6) ... 【关机】: ✗ 10.10.14.220 (Oracle Rac节点1) ... ============================================================ 📈 统计信息: 服务器总数 : 33 ✓ 开机: 14 ✗ 关机: 19 ⏱ 耗时: 31.47秒 📊 成功率: 42.4% ❌ 大量服务器离线,需要立即处理! ============================================================ ✓ 结果已保存到 ping_results.json ``` ## 🎯 性能优化建议 ### 1. 调整并发数 - **少量IP(<50)**:max_workers = 10 - **中等规模(50-200)**:max_workers = 20 - **大规模(>200)**:max_workers = 30-50 ### 2. 调整超时时间 - **局域网**:timeout = 1-2秒 - **跨网段**:timeout = 2-3秒 - **广域网**:timeout = 3-5秒 ### 3. 调整ping次数 - **快速检测**:count = 1 - **常规检测**:count = 2-3 - **精确检测**:count = 4-5 ## 🔄 版本历史 ### v2.0 (当前版本) - 2024 - ✅ 改用 YAML 配置文件格式 - ✅ 添加实时进度显示 - ✅ 彩色输出界面 - ✅ 成功率统计和智能提示 - ✅ 更清晰的配置结构,支持分组注释 - ✅ 简化配置解析逻辑 - ✅ 保持向后兼容(仍支持旧版INI格式) ### v1.x - 使用 INI 格式配置文件 - 需要 `ip1=`, `ip2=` 等前缀 - 无实时进度显示 ## 💡 优势 1. **更易读**:YAML格式天然支持层级和注释 2. **易维护**:添加/删除IP无需重新编号 3. **更灵活**:支持分组管理不同类型的服务器 4. **标准化**:YAML是业界标准的配置格式 5. **可视化**:彩色输出和实时进度提升用户体验 6. **智能化**:自动分析系统健康状态 ## ⚠️ 注意事项 - 首次运行时会自动创建示例配置文件 - 如果 `config.yml` 不存在,会尝试加载旧的 `config.ini` - 建议在修改配置后备份原文件 - Windows环境下colorama可能需要管理员权限才能正常显示颜色 ## 🛠️ 故障排除 ### 问题1:颜色不显示 **解决**:确保安装了colorama库 ```bash pip install colorama ``` ### 问题2:配置文件加载失败 **解决**:检查YAML格式是否正确,可以使用在线YAML验证器 ### 问题3:检测速度慢 **解决**:增加max_workers参数值,但注意不要超过50