webgame 运维自动化

别说谁变了你拦得住时间么 提交于 2020-08-05 05:17:44

发现bootstrap挺火的,趁着新项目还未上线,自己也把后台改成了bootstrap.由于时间仓促,暂时只实现了部分主要功能,以后功能做出来会定期更新.


下面的讲解主要是游戏中的清档和装服,还有自己写的一个syslog日志系统.因为对于webgame运维来说,最主要的就是清档和装服了,所以首先实现的这一块的功能.以后会慢慢添加监控还有批量执行命令、补丁、批量分发文件等功能.


监控这一块自己的想法是自己利用Python写一个agent,把数据发送到WEB这台机器上面,然后通过highcharts绘图.

之所以不用cacti的原因是,自己想监控的东西只有内存,CPU,硬盘等硬件信息,觉得想监控的东西不是很多,没有必要用cacti.还有就是喜欢用自己的东西,感觉更有成就感.

好了,废话不多说,直接上图解.如果有想交流的可以加群:330639584


下面是项目中的部分图解:


wKioL1OYG23gkK6NAAHyErLBJNM848.jpg

一个不错的项目(psdash),能清楚的返回机器的性能情况..而且每3秒钟会自动刷新,我自己改成了5秒.类似top吧.


wKiom1Oemi3zBcdIAAEygJJ3n6k107.jpg

一个设备信息管理,,可以看到每台机器的硬件信息,,实时监控就是上图的psdash,,历史监控用的是monitorix,类似cacti..能查询到服务器的性能使用情况,网络流量,等..同时也能查询到一些服务的流量等(mysql, ssh, ftp等).


wKioL1Oem9jhcUtMAAIlccIRyjs944.jpg

wKiom1OenAbgIxhwAAIpilYJojA542.jpg

wKiom1OenAeBlTm2AAH-0L6cI08665.jpg




wKiom1O1GfXBufzyAAD1AplO6pw546.jpg


以前修改客户端参数,,运营总需要到各个代理的分后台去修改游戏参数..为了他们方便,,自己写了一个统一接口...通过查询可以查询到所有代理所有服的相应参数,,然后点击修改按钮直接修改即可..写接口的时候出现了一个问题,,因为修改参数的时候,我是用sed修改的,,当参数值有特殊符号&的时候,,就会修改多次..这里感谢许培源找出的问题..



wKioL1NPQGmj53BnAAK9GIof62Q155.jpg

装服这一块的话,就是自己这堡垒机搭建了一个tornado TCPserver.这把WEB数据会发送一条安装数据过去,然后tcpServer就会执行相应的装服命令. 没有用Python socket搭建tcpServer是因为以前使用的时候经常会莫名其妙的卡死,ZeroMQ又需要返回数据给发送方.而且用tornado的另外一个好处就是与HTML的WEBSOCKET交互时特别方便.

wKiom1NPQJLxUlX1AAPvTz2B_hs164.jpg

清档其实还是挺方便的,当你想清某一天的所有服的数据时,先Search那一天,然后只需点击全选然后点击下面的清档按钮即可实现按天清档.


wKioL1NPQGrhe4IiAAW8-EeEtvs103.jpg

写个统一的日志系统,我觉得还是很有必要的.将所有服务器的rsyslog日志发送到统一的日志系统上,在WEB上面统一查询.可指定日志日期和服务器地址进行查询.


wKioL1NPSPOxn7j3AAHyu_QJbUY601.jpg

执行命令这块抄袭的triaquae的,感觉页面还是有点丑.而且会继续完善.



主要用的一些框架和模块是: Django、tornado、bootstrap、jQuery等.


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!