51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2499|回复: 3
打印 上一主题 下一主题

自己实现了一个linux环境下的服务cpu mem的简易监控工具

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-2-18 16:35:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 haddis_123 于 2014-2-18 17:22 编辑

由于日常测试过程中经常会需要对linux环境下的服务做各种压力测试或者稳定性测试.
       而常见的监控工具更多的是针对服务器本身资源使用情况的监控,这样在同机器多服务的环境下很难将它们单个区分出来。
       自己使用golang+ html实现了一个简单的服务占用cpu mem实时统计工具,它包含的主要主要功能:
       1 . 定时轮询指定名称(或者指定端口)服务的cpu ,mem使用情况.(轮询间隔可自行指定,建议15秒或30秒)   ---  注意:对于多进程模型,本监控不再适应。
       2. 数据的存取. 目前只要进程存在,服务的cpu,mem使用情况会一直在内存中记录,进程结束后,数据全部消失。---  考虑到各种db并非在所有机器上都有部署,所以自己完成了数据存取的管理。
      3. 数据的展示. 自己实现一个简单的http server,将服务的占用情况通过html中图示的方法更加直观的展现出来。 ---  注意:图形化通过google chart api实现,需要联网环境,并且在大陆可能存在页面显示不稳定的问题。
      
      下面是一个图示统计展示的结果页面:
      
      
      工具地址:https://github.com/chengzii/tyrael  (配置中各个参数可以在read.me中查看)
      bin 目录下 是二进制可执行程序(启动命令: nohup ./tyrael >/dev/null &      sh control.sh用于杀死进程的)
      conf 目录下 是配置文件    (主要配置包括: http server要**的端口,和查询的服务名或者服务端口,轮询周期 等)
      log 目录下 是执行过程生成的日志文件  (可以查询执行过程中,记录的服务资源统计结果)
      public 目录下 是html相关的js css img等内容存放目录
      tpl  目录下 是html页面文件
      src 目录下 是二进制可执行程序编译前的源码( golang实现)

      注意事项:
      1.  配置中获取指定端口的进程时,通过lsof命令实现的,你必须保持你机器上lsof是个全局命令(否则请安装 yum install lsof ;   ln -s  /usr/sbin/lsof /usr/bin/lsof)
      2.  工具启动时,会占用一个端口,请保证该端口在你的服务器上,还没有被占用。
      3.  工具统计的服务占用资源情况,都是通过top 命令获取的,也就是结果是一个当时的实时占用情况,一般来说它会和ps aux中统计的结果有很大不同,更多解释,请自行google.
      4.  由于工具在执行过程中,随着时间增加,更多结果数据会保存到内存中,所以它会对系统内存造成一定开销(很小,15秒间隔,3天的数据大概在百兆级别),建议工具执行时间,不超过5天。
      5.  服务启动后,在完成一次轮询后,就可以通过前端来查看统计的结果了,统计页面包括:  $ipport/line  ---- 整体结果的统计,页面见示例图 ;   $ipport/show  ----  某一瞬间服务的cpu mem占用率。

      完成这个工具的几个目的:
     1. 一来,自己没有找到针对服务的比较好的cpu mem监控工具。
     2. 二来,学了3、4个月的golang,感觉刚好这个工具的需求正好用来实践一下。(简易http server ,多线程,相对高效的内存管理这三个工具需求太适合用golang)  
     3. 三来,如果能给自己或者给别人带来一点点的方便,就更惊喜了。      

     欢迎大家进行更多交流、拍砖.  qq : 66461311

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2019-3-7 09:49
  • 签到天数: 133 天

    连续签到: 1 天

    [LV.7]测试师长

    2#
    发表于 2014-7-23 11:44:18 | 只看该作者
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2014-8-16 10:53:43 | 只看该作者
    自已动手不错,不过感觉没有必要重复造轮子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2014-8-27 08:57:45 | 只看该作者
    自己都能写
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-6 06:27 , Processed in 0.074644 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表