某群里面同学的投稿 -- 高性能可扩展的python自动化运维框架

Reboot运维开发千人群(365534424)即将爆满

一个用Python做运维自动化开发的同学,自己写下了这个文章。他原来的情况,和很多Python自学者一样的,Python的语法很熟悉,python代码也能看懂简单的。但就是不会用Python写实际项目。参加了Reboot的Python架构师实战培训之后,他有所感悟。下面是他的蝶变过程。为他点赞。


遇到瓶颈

1、一直在用Python写各种脚本,想做自动化运维平台却有心无力,没有见过大的运维平台怎么做,

2、自己写的脚本在大的场景下是否靠谱,每当讨论说一些基于ssh获取数据执行操作的方式都会被鄙视。

茅塞顿开

迷茫大半年找不到方向,最近在reboot系统学习了下,收获很多,很多疑惑和疑难问题终于解开了。

感谢PC老师讲解,程序对系统利用的深入讲解[cpu\内存的利用\系统的特性],以及怎么定义网络编程私有协议。

几款典型开源软件源码的网络模型剖析,如何真正控制多线程,守护进程如何fork的,封装socket非阻塞的框架,如何制定传输协议。

作品展现:

  • 监控和执行命令流程图

    wKiom1WPY_zQDscmAAHzFIomllI171.jpg

  • 软件目录 [根据需要分分钟撸出一个server]

  • wKiom1WPZlWyPqfkAARkVAneSRo480.jpg

    任务控制服务的传输数据

    wKioL1WPaBfAptUvAAP7oOxWNco661.jpg

    Flask数据接口的请求日志

    wKioL1WPaBeQCK1dAALrg-QE7rU855.jpg

  • Agent的执行日志

    wKiom1WPZljCc8nuAAWOWsJ7_mY203.jpg

  • Agent的4个线程,可随意扩展随意撸

    wKioL1WPaBiiydheAAKyWCOinQU362.jpg

  • 后台请求页面和数据接口

    wKiom1WPZlmhdtU9AAYHurd6u2w951.jpg

  • 页面ajax调用数据接口

    wKioL1WPaBmz3RYNAAOoQm9q0w4354.jpg




  • 监控数据出图

  • wKiom1WPZlmzk6htAAEy_ZDoVk8245.jpg

  • 前面的数据,6个server同时在一个机器上跑,毫无压力,监控图不好看。。。。我来搞几百个并发shell进程跑跑,把load压上来。

  • 执行命令

    发出ajax请求,agent异步处理,传回入库后,再用ajax动态调用数据库API显示

  • wKioL1WPaBmwynchAAKYmIduKQg139.jpg

总结:

此架构非常灵活,任意拆装拼接,如果小,可功能集成于一点,如果大,可随意扩展瓶颈,server全部守护进程方式。

以上是这段时间学习的成果,好多优秀的细节无法全面展示,有兴趣的可以联系Reboot运维开发群(365534424




你可能感兴趣的:(python,运维自动化,高性能可扩展,大规模监控系统)