script/Ping多多
halliday 04eca9d126 提交修改 2026-06-24 11:14:37 +08:00
..
MyPing网段.py 提交修改 2026-06-24 11:14:37 +08:00
MyPing配置IP.py 提交修改 2026-06-24 11:14:37 +08:00
README.md 提交修改 2026-06-24 11:14:37 +08:00
config.ini 提交修改 2026-06-24 11:14:37 +08:00
config.yml 提交修改 2026-06-24 11:14:37 +08:00
ping_results.json 提交修改 2026-06-24 11:14:37 +08:00

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.6DELL R73088G+1.7T"
  10.10.30.215: "H3C CAS7.0X10主板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<50max_workers = 10
  • 中等规模50-200max_workers = 20
  • 大规模(>200max_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库

pip install colorama

问题2配置文件加载失败

解决检查YAML格式是否正确可以使用在线YAML验证器

问题3检测速度慢

解决增加max_workers参数值但注意不要超过50