polysh安装与使用-同时查看多台机器日志

polysh简介

polysh 是一个交互式命令,可以在一台服务器上批量的对一批服务器进行处理,运行交互式命令。官方的简介如下:

Polysh is a tool to aggregate several remote shells into one. Itis used to launch an interactive remote shellon many machines at once. It is written in Python and requires Python ≥ 2.4.

注: Polysh 是一个由几个远程脚本集合而成的工具,它被用于在许多服务器上运行一个交互式的远程脚本,由 Python 编写,最低要求为 Python 2.4

当需要查看一个服务(部署在多台机器上)的日志的时候,可以使用ploysh在一台机器查看多台机器的日志,而不需要一台机器一台机器的登录查看,方便了问题的排查和定位。 

polysh安装

先在一台机器上执行如下命令安装polysh:

1、选择一个目录,下载解压文件:

wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz  
tar -zxvf polysh-0.4.tar.gz  

2、新建polysh的使用脚本,然后通过 chmod命令 赋予可执行权限:

vim polysh.sh

脚本内容如下:将需要访问的机器列表填写在最后
python /home/安装目录.../polysh-0.4/polysh.py {name1, name2, name3}

{}大括号里填写的是机器的名称,以逗号 "," 分隔。polysh也支持多种机器名的格式,假如机器很多的话,也可以写为:name<1-3>

3、如果出现如下提示信息:机器's passpord,则需要配置机器之间无密码访问。

① 通过 ssh-keygen -t rsa 生成本机器的密钥和公钥

② cat /用户目录.../.ssh/id_rsa.pub 获取公钥

③ 将公钥追加到所需要无密码访问目标机器(例如上面的name<1-3>的3台机器)的授权文件中(授权文件的路径为:/用户目录.../.ssh/authorized_keys)

polysh使用

运行刚刚新建的 ./polysh.sh 脚本

ready (3) 表示 3台机器已经连接完毕,可以执行查询命令。exit或Crtl+z都可以退出。

查看3台机器上面的日志信息:less test.log,如图所示,颜色不同的3行分别是3台机器输出的日志内容:

通过在一台机器上,实现对多个机器进行操作,再也不需要去记复杂的机器名称了,也不需要每个机器来回登录去执行重复指令,解放自己,减少了重复工作。最方便的场景就是查日志、查看机器信息(CPU、磁盘)这些小操作。

如果机器非常多的话(10台以上),就不建议使用了,还有对机器性能有影响的命令也不建议执行。

原文地址:https://www.cnblogs.com/butterfly100/p/9015531.html