script/Ping多多/README.md

177 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.6DELL R73088G+1.7T"
10.10.30.215: "H3C CAS7.0X10主板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