|
|
||
|---|---|---|
| .. | ||
| MyPing网段.py | ||
| MyPing配置IP.py | ||
| README.md | ||
| config.ini | ||
| config.yml | ||
| ping_results.json | ||
README.md
Ping多多 - IP连通性检测工具
📋 功能说明
批量检测多个IP地址的连通性,支持并发ping测试,实时显示检测进度,结果分类显示并保存为JSON文件。
✨ v2.0 新特性
- 🎨 彩色输出:使用颜色区分在线/离线状态
- 📊 实时进度:每检测一个IP立即显示结果
- 📈 成功率统计:自动计算并显示服务器在线率
- 💡 智能提示:根据成功率给出不同的处理建议
- 🔍 更好的错误提示:详细的配置错误信息
🚀 快速开始
1. 安装依赖
pip install pyyaml colorama
2. 配置文件格式(YAML)
编辑 config.yml 文件:
# 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. 运行脚本
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=等前缀 - 无实时进度显示
💡 优势
- 更易读:YAML格式天然支持层级和注释
- 易维护:添加/删除IP无需重新编号
- 更灵活:支持分组管理不同类型的服务器
- 标准化:YAML是业界标准的配置格式
- 可视化:彩色输出和实时进度提升用户体验
- 智能化:自动分析系统健康状态
⚠️ 注意事项
- 首次运行时会自动创建示例配置文件
- 如果
config.yml不存在,会尝试加载旧的config.ini - 建议在修改配置后备份原文件
- Windows环境下colorama可能需要管理员权限才能正常显示颜色
🛠️ 故障排除
问题1:颜色不显示
解决:确保安装了colorama库
pip install colorama
问题2:配置文件加载失败
解决:检查YAML格式是否正确,可以使用在线YAML验证器
问题3:检测速度慢
解决:增加max_workers参数值,但注意不要超过50