腾讯云自动巡检python脚本

≯℡__Kan透↙ 提交于 2019-12-19 03:23:16

腾讯云自动巡检python脚本

最近在帮客户弄腾讯云自动脚本巡检的问题,并且需要部署在docker上,所以把问题记录一下:

由于腾讯云的api最近在更新,但是V3版本的api还没有完全发布,所以要两个版本混用来写。

环境:
centos7
docker19.03.5
python3.7
tencentcloud-sdk-python-master:包含V2和V3两个版本的api,V3api无则用V2
([https://github.com/TencentCloud/tencentcloud-sdk-python]

1、api获取数据时粒度

  • 腾讯云api目前支持10s,60s和5min粒度的监控数据查询,但是在实际使用时发现,使用个别项(如cvm)获取数据时,在不同的粒度下存在获取不到数据的问题,咨询腾讯云官方,给出的结论是不同粒度的产品使用的是不同的数据源,故需在测试时选择数据稳定的数据源。
  • 由于获取时数据粒度过小,故需在数据拿到后对数据进行聚合。
  • 由于数据时间跨度过长,建议在获取多类数据时使用多线程,加快数据获取和处理的速度。

2、邮件发送问题

  • 生成巡检报告并写入xls文件后,需要将文件发送给对应的客户,由于客户不想每次都下载文件,故需将汇总结果添加到邮件正文中,由于一开始未考虑部署的问题,使用了python的pywin32模块对xls文件进行截图展示,无法部署在docker上,故后边采用直接在邮件正文写入html表单的格式来显示数据。
  • 邮件参数直接使用docker环境变量。
  • 邮件在收件人为多人时,需对格式进行处理:
receive_users = 'haoguofeng@ucloudsupport.cn, 1158206706@qq.com'  # 收件人,可为list
msg['To'] = "".join(receive_users)  # 收件人
smtp.sendmail(send_user, msg['To'].split(','), msg.as_string())  # 发送邮件
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!