LR+Jenkins性能自动化(三):加入linux监控nmon

jenkins调用shell命令,执行nmon思路:

1、jenkins系统管理处加上需要调用的服务器

2、新建任务A,用于执行shell命令

3、新建任务B,用于将所有nmon报告统一转移至.jenkins/workspace/B/report下(需要注意,任务B需要在任务A之后执行,具体时间间隔,可自行控制,小编设置时间为1小时)

4、发送邮件

5、定期删除生成的nmon文件

一:jenkins系统管理处加上需要调用的服务器

进入jenkins—>系统管理—>系统设置—>#Publish over SSH



二、新建任务A,用于执行shell命令

jenkins—>新建任务—>构建一个自由风格的软件项目—>构建—>send files or execute commands over SSH


若涉及多个Linux服务器,直接添加多个send files or execute commands over SSH即可

nmon命令如下:

nmon -s10 -c6 -f -m /root/nmon

-s10为每隔10s记录一次,-c6为共记录6次,/root/nmon为nmon监控生成的报告地址

三、新建任务B,用于将所有nmon报告统一转移至.jenkins/workspace/B/report下

由于执行nmon命令后,nmon需要持续的进行监控,而我们的一个项目,暂时没有发现有什么办法可以构建1小时后再进行操作,因此采用了折中的办法,即nmon监控为项目A,传输文件并发送报告,为项目B,设置运行时间为项目A运行时间后一个小时(具体时间可以根据自己需求进行更改)

两台服务器之间传输命令为

scp 服务器A文件地址 服务器B用户名@服务器BIP:服务器B文件地址(由服务器A向服务器B进行传输)

传输过程中发现,每次传输都需要输入服务器B的密码,因此需要我们设置为服务器A信任服务器B,跳过这一步骤。

建立A到B的信任关系

(1)Server1#ssh-keygen -t rsa

这个命令生成一个密钥对:id_rsa(私钥文件)和id_rsa.pub(公钥文件)。默认被保存在~/.ssh/目录下。

(2)公钥添加到远程主机的 authorized_keys 文件中

将文件上传到远程主机中

server1#scp /root/.ssh/id_rsa.pub [email protected]:/root/

SSH登陆到远程主机,将公钥追加到 authorized_keys 文件中

server2#cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

(3)重启生效

server2#service sshd restart

接下来是在jenkins中建立连接,进行操作,和步骤二类似,只是将nmon的执行命令换成了scp命令而已,因此不再赘述。

四、发送邮件

项目B添加构建后操作—>Editable Email Notification

选项正常添加即可,不会的可自行百度,需要注意的是,attachments中的附件必须为该项目下的workspace目录下内容才能进行发布,多个文件时,/*即可

结束

你可能感兴趣的:(LR+Jenkins性能自动化(三):加入linux监控nmon)