监控PlanetLab网络的工具
项目描述
描述
plbmng 是一种用于监控 Planetlab 网络内外服务器工具。
- 为此,本项目内包含多个工具
从 PlanetLab 网络获取所有服务器并收集所有相关信息
创建服务器位置的地图
根据可用性、位置、软件、硬件等过滤服务器。
将不属于 Planetlab 网络的服务器添加到 plbmng 数据库中
将文件/文件从 plbmng 数据库复制到多个服务器/服务器
安排任务在远程服务器上运行命令
管理任务的生命周期
依赖关系
Python 3.8 或更高版本
对话框引擎(TUI)
- Python 模块(所有模块均可通过 pip 获取)
geocoder
folium
vincent
paramiko
pythondialog
dynaconf
loguru
parallel-ssh
pysftp
安装
要安装 plbmng 模块,请输入
$ pip3 install plbmng
安装类似对话框的引擎。如果您使用类似 Fedora 的发行版
$ sudo yum install -y dialog
在 Mac OS 上,您可以通过 brew 安装它
$ brew install dialog
基本用法
当您首次运行 plbmng 时,请将 Planetlab 网络的凭据添加到位于 ~/.plbmng/settings.yaml 的配置文件中。如果您不想立即添加凭据,您可以跳过此步骤,稍后在设置中添加。
添加凭据后,请使用监视服务器菜单中的 现在更新服务器列表 选项。默认情况下,您将拥有旧数据,可以通过此功能更新。它将下载您切片中的所有服务器并将其导出为 default.node 文件。
主菜单
访问服务器:如果您正在寻找某些特定节点或节点集,请使用 访问服务器 选项。在下一屏中,您可以选择四个选项:访问最后一个服务器、按 DNS、IP 或位置搜索。如果您选择按 DNS 或 IP 搜索,您将被提示输入字符串,该字符串表示您正在寻找的域。如果您想按位置搜索,您将需要选择一个大陆和国家。然后您将看到所选国家的所有可用节点,您可以从中选择一个来查看有关该特定节点的更多详细信息。在信息屏幕的底部,您可以选择三个选项。
- 监视服务器:这里提供了监视工具。
现在更新服务器列表,您可以在这里更新您的服务器列表。
现在更新服务器状态,您可以在这里更新您的可用服务器列表。
- 在地图上绘制服务器:
生成地图,将创建包含 planetlab.node 文件中所有或特定节点的地图。
- 在服务器上运行任务:
将文件复制到服务器(s) - 用户将被提示选择文件/文件、服务器/服务器以及 plbmng 数据库中的目标路径。请务必在配置文件中设置 SSH 密钥和切片名称(目标上的用户)的路径!
运行 one-off 远程命令 - 允许在服务器集上运行命令。
安排远程作业 - 允许用户安排在指定时间运行服务器上命令的远程作业。它使用本地数据库来存储有关所有已安排作业的详细信息。
显示作业状态 - 提供一个菜单来显示未完成的或已完成的作业。
刷新作业状态 - 刷新未完成的作业状态。
作业工件 - 允许用户查看作业产生的工件。
清理作业 - 提供用户删除旧/未使用作业的能力。
附加功能
在附加菜单中,您可以找到管理自己的服务器工具,通过将它们添加到数据库中来实现。附加菜单中新增的另一项功能是从数据库到服务器/服务器的并行复制。
将服务器添加到数据库:允许用户将服务器添加到plbmng数据库。通过将服务器信息添加到预定义文件中,您可以像在其他PlanetLab网络中的服务器一样使用此工具来过滤和监控您的服务器。
开发流程
检出项目
$ git clone git@gitlab.com:utko-planetlab/plbmng.git
通过以下方式安装所需的软件包和开发依赖项:
$ poetry install
安装代码检查的pre-commit
$ pre-commit install --install-hooks
进行您选择的变化并提交它们
$ git commit -m "Your beautiful commit message"
如果您想发布新版本,请运行以下命令。这将发布小版本。它将更新整个仓库中的版本字符串,并创建git提交和git标签。然后,将标签和提交推送到上游仓库。
$ bumpver update --patch
项目详情
plbmng-0.5.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a86661618a3aa655ecb823c99e7748c0f0d7a82006d3c8faf6c4126d9e0babeb |
|
MD5 | f4c94993a0b95d75b1224a520f0665e9 |
|
BLAKE2b-256 | d85fe7ed3ec93b6bb258db98042fb2b18796de3cb917f095421f70e1183bf2a0 |