# os-param-diff **Repository Path**: anolis/os-param-diff ## Basic Information - **Project Name**: os-param-diff - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-11-22 - **Last Updated**: 2024-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OS-Diff 比较两个操作系统发行版之间关键参数的区别,提高性能分析的效率。 ## Step 0: 准备 事先需要使用pip安装一些必备的软件包。 ``` pip3 install pandas tqdm paramiko tabulate numpy openpyxl beautifulsoup4 ``` ## Step 1: 配置 config.py 存储了配置信息。这是一个例子: ``` from os.path import expanduser home = expanduser("~") # your ssh key path, ~/.ssh/id_rsa by default keypath=home+"/.ssh/id_rsa" # hosts that you care about hosts=[ ("1.1.1.1", 22, "root", "CENTOS8 ECS" ), ("2.2.2.2", 22, "root", "ANOLIS 8.2 ECS" ) ] # performance checklist path checklist_xlsx="checklist.xlsx" # output html & xlsx prefix output_filename="result_checklist" ``` - keypath: 你的私钥路径。本工具*仅使用公私钥*方式登录远程主机。 - hosts: 你可以指定很多远程ssh主机。之后我们将比较这些主机的各项关键参数。这里可以配置每台主机的信息,格式为:【IP地址,端口,用户名,自定义的标签名】。 - checklist_xlsx: 以xlsx格式存储的checklist,可以直接从语雀中选择“导出”->“Excel .xlsx”。 - output_filename: checklist检查输出的文件名(不包括拓展名)。checklist的检查会输出xlsx、html两种格式。 ``` hosts=[ ("xxx.xxx.xxx.xxx", 22, "root", "CENTOS8 ECS" ), ... ] ``` checklist表格可以自定义,请按照以下格式填写。列名是程序读取表格时的唯一参考,请格外注意。之后程序会读取表格内容。“检查命令”列的内容将会在每台机器上被执行。 | 大类 | 描述 | 检查项 | 检查命令 | |------------|-------------|--------|------------------------| | 前置需求 | 安装sysstat | | yum install -y sysstat | | 快速检查项 | | uptime | uptime | | | | mpstat | mpstat | 你还可以在config.py里指定checklist表格的路径。 ## Step 2: 获取汇总报告 根据checklist获取每项: ``` python3 collect_checklist.py ``` 获取sysctl及kernel config的对比: ``` python3 collect_sysctl_kconfig.py ```