Loading... <blockquote><p>Via:http://blogread.cn/it/article/4573?f=wb</p> </blockquote> <p></p> <p>如果你有若干台数据库服务器,突然你想知道它们当前的即时负载情况,你会怎么办?挨个登录上去uptime一下?感觉有点傻,写个shell?浪费时间,直接用ClusterShell吧!</p> <h2>ClusterShell的安装与配置</h2> <p> ClusterShell的安装很Easy,如果使用APT或YUM包管理方式的话,基本就是一条命令的事儿,我就不说了,这里说一下如何从源代码安装,需要在源代码目录执行如下命令:</p> <pre>shell> python setup.py install</pre> <p> 为了使用的方便,还需要拷贝配置文件到指定目录:</p> <pre>shell> mkdir /etc/clustershell shell> cp conf/* /etc/clustershell</pre> <p> 接着配置我们要管理的节点,假设我们配置了一个db组,包含db_[1-3]三个节点:</p> <pre>shell> cat /etc/clustershell/groups db: db_1 db_2 db_3</pre> <p> 准备就绪,顺着文章开头的例子说:查询所有数据库服务器当前的负载情况:</p> <pre>shell> clush -g db "uptime"</pre> <p> 注:前提是需要在被操作服务器上设置免密码登录,如果不清楚,请看下面的内容。</p> <h2>番外篇:如何配置服务器免密码登录?</h2> <p> 如果没有事先生成ssh密匙的话,需要先生成:</p> <pre>shell> ssh-keygen</pre> <p> 可选操作:为了方便,我们可以给需要登录的服务器起一个可读性更好的别名,如果你做了类似的操作,那么后面的@都可以换成对应的:</p> <pre>shell> cat ~/.ssh/config Host db_1 Hostname User Port Host db_2 Hostname User Port Host db_3 Hostname User Port</pre> <p> 然后把生成的公钥添加到需要登录的服务器指定位置:</p> <pre>shell> cat ~/.ssh/id_rsa.pub | ssh @ "cat - >> ~/.ssh/authorized_keys"</pre> <p> 如果你和我一样总记不清如何正确拼写authorized_keys,可以接着学一下ssh-copy-id的用法,这个命令可以让操作更简单点:</p> <pre>shell> ssh-copy-id -i ~/.ssh/id_rsa.pub "@"</pre> <p> 注:每配置好一台免密码登录的服务器,最好手动实际操作一下,因为第一次连接会要求手动确认是否保存信息到~/.ssh/known_hosts文件。</p> <p> …</p> <p> 有的网友会说,监控服务器负载可以用Munin之<br /> 类的工具。不错确实如此,不过Munin之类的工具无法给你一个及时数据,另外,ClusterShell并不局限在查询负载的功能上,跟上不同的命令,<br /> 就可以查询不同的数据,而在Munin之类的工具里,如果你想监控某个数据,必须有对应的插件才行。ClusterShell是不可或缺的Linux运维<br /> 利器!</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信