jenkins执行jmeter和python文件,jenkins实现定时检查服务稳定性

jenkins定时检查服务稳定性

背景:由于最近线上某些服务不稳定,产品需要对于线上环境服务的稳定性进行检查,针对不同的服务设置每隔15分钟检查一次和每隔2小时检查一次,检查服务是否可用。
设计:同步的服务用jmeter检查接口,然后python检查jmeter生成的报告,异步的服务用python进行检查,jenkins定时执行。如果有问题给相关人员发邮件。
先在本地调整,本地Windows环境调整成功,贴下配置。
15分钟执行一次的jenkins配置如下:

定时执行配置
执行命令
之所以不把python和jmeter放在一起执行是因为,jmeter执行之后会自动关闭窗口
每隔2小时执行项目
每隔2小时执行一次
在这里插入图片描述

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_172
set JMETER_HOME=C:\2services\apache-jmeter-4.0
set path=C:\2services\apache-jmeter-4.0\bin;C:\Program Files\Java\jdk1.8.0_172\bin;C:\Program Files\Java\jdk1.8.0_172\jre\bin;%SystemRoot%/system32;%SystemRoot%;

cd \2services\apache-tomcat-7.0.78\webapps\jmeter
rd /s /q report2
del listener2.jtl
jmeter -n -t twohours.jmx -l listener2.jtl -e -o report2
set path=C:\Users\fir\AppData\Local\Programs\Python\Python37\
cd \2services\apache-tomcat-7.0.78\webapps\ui-test\test
python check_timer_twohours.py
python check_report_twohours.py

其中发邮件部分都是写在python文件中的,没有使用jenkins本身的构建发送邮件功能,因为我只需要出错的时候发送邮件

后面转入服务器,jmeter和jenkins安装如下

Linux下安装jmeter

jmeter把zip压缩包放到Linux下对应位置解压就好

rz 命令和unzip命令
解压之后去bin目录执行./jmeter.sh -v
在这里插入图片描述
说明安装成功了
由于需要运行jmeter文件,输入jmeter不识别,配置环境变量
去/etc下编辑profile文件, vim profile
在这里插入图片描述
执行命令source profile 让配置生效,当前窗口命令已生效
重新打开一个窗口没有生效
重启docker也没生效
把这个配置复制到用户文件中,vim ~/.bashrc 追加到最后一行,这样就好了运行下
到jmeter文件所在目录运行

jmeter -n -t onedaytest.jmx -l listener.jtl -e -o report

jmeter运行样子

Linux下安装jenkins

2.安装jenkins,下载jenkins的war包放到Tomcat项目中直接运行(我用的我Windows环境下使用的war包)
访问地址端口号后面增加/jenkins
在这里插入图片描述
然后一步步安装下去
在这里插入图片描述
配置完成之后直接访问一片空白,重启Tomcat之后访问正常
在这里插入图片描述
在这里插入图片描述

Linux下安装python

3.Linux下安装python
uname -a查看系统版本
在这里插入图片描述
执行命令安装

sudo apt-get update
sudo apt-get install python3.7

不识别sudo。。。
执行

apt-get update
apt-get install python3.7

选择Y,一直安装下去,安装成功。。识别的是python3.7。。。
然后发现不能使用pip命令
执行以下命令安装pip

apt-get install python3-pip

在这里插入图片描述
然后把HTMLTestRunner.py文件放到lib目录下
在这里插入图片描述

Linux下安装chrome浏览器

apt install wget
wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  |  apt-key add -
apt update
apt install google-chrome-stable

查看是否安装成功

google-chrome -version

在这里插入图片描述
然后在启动浏览器中增加配置

opt.add_argument('--no-sandbox')

在这里插入图片描述

jenkins运行

配置好后差不多可以自动运行了
在这里插入图片描述
贴一下配置
在这里插入图片描述
在这里插入图片描述

注意点

运行脚本的时候监控下shm内存,我的docker只有64M,启动浏览器就占用超过50%了,很容易就崩溃了(不关闭浏览器不会释放内存的,所以异常了要关闭浏览器)
后面加到1G就好些了
截图
其中有一次没关浏览器,后面一直占用内存,我重启docker才会释放
在这里插入图片描述
jmeter在Linux下执行不会存在Windows下关闭窗口的问题,所以 直接写在一起是可以的

Windows下写路径没注意,用的是\连接坑死自己了,全部需要改,用路径拼接函数os.path.join()

由于有截图,发现Linux中中文都是显示口口口的,
在这里插入图片描述
这是缺少字体,把Windows下C:\Windows\Fonts文件打包上传到docker的/usr/share/fonts/windows/truetype文件夹下(后面两级是我新建的),解压之后执行

fc-cache -fv

在这里插入图片描述
后面邮件截图OK了
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值