V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
likexian
V2EX  ›  分享创造

如果你喜欢简单并且有多台 vps/服务器,你需要这个,状态数据了然了然

  •  
  •   likexian ·
    likexian · 2015-04-16 17:40:35 +08:00 · 11886 次点击
    这是一个创建于 3514 天前的主题,其中的信息可能已经有所发展或是发生改变。

    无图无XX,首先请看图。

    demo

    简单来说,这是一个收集众多vps/服务器状态数据并统一简单展示出来的玩意。
    你只需要在服务端(任选一台机器)放一个服务,客户端再放一个服务即可完成。
    我崇尚简单,并且会继续让它变得更简单,欢迎使用,专业求黑。谢谢大家。

    完整说明请移步:
    https://github.com/likexian/stathub-go/blob/master/README-ZH.md

    如果觉得不错,别忘了点赞(star):
    https://github.com/likexian/stathub-go

    第 1 条附言  ·  2015-05-13 14:31:13 +08:00
    新版本发布啦!
    欢迎大家试用,欢迎来黑。

    其实代码好早就写完了,不过近来忙抽了,一直没写完说明,直接现在才发布。这一版本主要更新了:SSL支持、自动刷新页面、新版本检查等,同时修复了很多反馈的bug和细节,再次感谢大家!

    下一版马上就开始了,将会支持月流量统计等实用功能,敬请期待。



    完整说明请移步:
    https://github.com/likexian/stathub-go/blob/master/README-ZH.md

    如果觉得不错,别忘了点赞(star):
    https://github.com/likexian/stathub-go
    第 2 条附言  ·  2015-05-20 14:28:44 +08:00
    新版本再次发布啦!
    欢迎大家试用,欢迎来黑。

    这个版本主要增加了月流量使用统计,你再也不需要一个个地登录服务器或VPS管理面板查看月使用流量了,集中展示,更方便更安心!

    同时这个版本修复了没有swap时无法正常收集数据的问题,之前很多人反馈说添加了节点但是不显示的问题终于解决了,欢迎再试。

    完整说明请移步:
    https://github.com/likexian/stathub-go/blob/master/README-ZH.md

    如果觉得不错,一定要记得点赞(star):
    https://github.com/likexian/stathub-go
    86 条回复    2015-06-07 03:42:00 +08:00
    anyforever
        1
    anyforever  
       2015-04-16 17:58:39 +08:00
    有意思,去玩玩。
    mashpolo
        2
    mashpolo  
       2015-04-16 18:15:01 +08:00
    看来很不错的样子,可惜我用nagios习惯了。
    ericFork
        3
    ericFork  
       2015-04-16 18:18:12 +08:00
    会有 stathub-python 么?
    likexian
        4
    likexian  
    OP
       2015-04-16 18:21:16 +08:00
    @anyforever 用力玩

    @mashpolo 这比nagios简单多了

    @ericFork 你猜

    感谢大家支持!
    cloverstd
        5
    cloverstd  
       2015-04-16 18:38:40 +08:00 via iPhone
    @ericFork python 中类似的有 psdash
    askfermi
        6
    askfermi  
       2015-04-16 18:39:23 +08:00
    VMware里安装的Centos 7 按操作之后无法访问?也没有错误提示之类的 @likexian
    soli
        7
    soli  
       2015-04-16 18:40:51 +08:00
    赞!
    cevincheung
        8
    cevincheung  
       2015-04-16 18:44:59 +08:00
    能像elasticsearch那样就更好了。自动发现同局域网内的所有主机。
    maja
        9
    maja  
       2015-04-16 18:53:04 +08:00
    不错,很清晰。

    另外提供两个类似的“比较重一点的”服务供楼主参考,

    - Longview from Linode https://www.linode.com/longview?r=4ac311e93fb17b63f700759e72b034f61f9414 不带 ref: https://www.linode.com/longview 10个以下节点免费,并且不需要是Linode的服务器
    - 第二个是 NewRelic Server Monitor http://newrelic.com/server-monitoring 。 如果注册的话从 http://newrelic.com/aws, 有免费的standard account,会比正常的功能多一点。
    maja
        10
    maja  
       2015-04-16 19:00:57 +08:00
    刚刚去GitHub看见楼主使用的Golang写的,心生感激。

    我原来用 papertrail 的时候,https://github.com/papertrail/remote_syslog 是惨无人道的居然用ruby写,为了这个logaggregation服务居然还得装很多ruby的gem。现在 https://github.com/papertrail/remote_syslog2 改写成了Golang,静态编译单文件直接拷贝上服务器就能直接用,puppet的文件也极大地得到了简化。
    wy315700
        11
    wy315700  
       2015-04-16 19:01:06 +08:00
    newrelic 吧
    likexian
        12
    likexian  
    OP
       2015-04-16 19:30:16 +08:00
    @cloverstd 是的,不过我的轻量也简单很多

    @askfermi 估计是nat之类的不通?没试过虚拟机。。。

    @soli 感谢!

    @cevincheung 这个不是我的目标哈。。。

    @maja 十分感谢!

    @maja golang在有些场景还是很好用的。

    @wy315700 不是一个东西哈。。。
    ddqp
        13
    ddqp  
       2015-04-16 19:30:56 +08:00
    赞楼主,请问如何修改密码?
    likexian
        14
    likexian  
    OP
       2015-04-16 19:31:39 +08:00
    @ddqp 登录进去,右上角有个 passwd,输入新密码即可
    miao
        15
    miao  
       2015-04-16 19:33:51 +08:00 via Android
    只会php如何安装
    ddqp
        16
    ddqp  
       2015-04-16 19:34:16 +08:00
    哦,看到了,要输两遍,很简洁。
    likexian
        17
    likexian  
    OP
       2015-04-16 19:36:12 +08:00
    @miao 很简单,把文件往服务器一丢就行了,不用装php,不用配环境,超省心

    @ddqp 一遍就行,另一次应该是登录了,这里偷懒用的同一个模板,后续我再优化下
    missdeer
        18
    missdeer  
       2015-04-16 19:45:40 +08:00
    Go做的,已star
    Verinda
        19
    Verinda  
       2015-04-16 19:46:14 +08:00
    @likexian 好奇怪,在DigitalOcean一个数据中心有2台VPS,其中一台作为服务端,在另一台上装了客户端,结果服务端这边就是显示不出来,客户端设置的时候也没有什么报错。还有的另一个服务商的一台VPS上也装了客户端,设置的时候完全一样,就能显示……
    PS. 如果服务端发生变化,在客户端上可以直接更新新的服务端配置吗?
    likexian
        20
    likexian  
    OP
       2015-04-16 19:55:37 +08:00
    @missdeer 感谢miss

    @Verinda url没写错吧。。。这版本没日志,下版本我加个日志吧,配置的话改 client.json就行了,或者把client.json删除了,重新运行client就会让你再次设置了
    likexian
        21
    likexian  
    OP
       2015-04-16 19:57:10 +08:00
    @Verinda 你看下client.log 里面有没写什么
    msg7086
        22
    msg7086  
       2015-04-16 20:00:21 +08:00
    顺便一提,我这边监控服务器用的是observium。
    Verinda
        23
    Verinda  
       2015-04-16 20:04:52 +08:00 via iPhone
    @likexian client.log是空的,URL应该没写错,试了好几次,URL写服务端的公网IP和内网IP都不行,要不我换个数据中心试试
    binux
        24
    binux  
       2015-04-16 20:18:22 +08:00   ❤️ 1
    现在用的是 https://nodequery.com/
    Slienc7
        25
    Slienc7  
       2015-04-16 22:15:42 +08:00
    English README 指向的还是ZH 中文版
    chuangbo
        26
    chuangbo  
       2015-04-17 04:03:36 +08:00 via iPhone
    推到 hacker news 吧
    imlonghao
        27
    imlonghao  
       2015-04-17 05:54:36 +08:00 via Android
    我64位的vps运行的是client_x86_64,显示的也是32 bit?
    几台都是这样
    fuge
        28
    fuge  
       2015-04-17 06:36:47 +08:00 via iPhone
    好东西 感谢楼主 一会试试
    likexian
        29
    likexian  
    OP
       2015-04-17 10:32:35 +08:00
    @msg7086 不是一个东西哈
    @Verinda 可能是某些发行版没兼容,我后续再多测试下各种系统。。。
    @binux 这个强大好多,我这个就是简单,再简单
    @xgowex 手误。。。马上fix
    @chuangbo 多谢创博,求推。。。
    @imlonghao 这个是bug,我尽快修复
    @fuge 感谢!
    ryd994
        30
    ryd994  
       2015-04-17 10:55:04 +08:00 via Android
    一直用ksysguard
    因为平时桌面就是kde,在服务器上装个服务端就好。不需要监听端口,通过ssh连接
    ryd994
        31
    ryd994  
       2015-04-17 10:55:44 +08:00 via Android
    用http安全性不要紧么……
    还有监听端口这是多一个端口对一个弱点的节奏啊……
    askfermi
        32
    askfermi  
       2015-04-17 11:13:00 +08:00
    @likexian 原来是防火墙把这个端口给封掉了,可能是Centos会默认封掉这些?
    Actrace
        33
    Actrace  
       2015-04-17 12:42:29 +08:00
    楼主,加个提醒吧。。
    likexian
        34
    likexian  
    OP
       2015-04-17 13:07:35 +08:00
    @ryd994 怕不安全可以限制端访问,反正内容也不是公开的

    @askfermi 可能有些系统会有默认策略,这种情况下除非用80,要不其它端也不通了

    @Actrace 你是说异常报警?这个是计划中的
    ryd994
        35
    ryd994  
       2015-04-17 13:17:15 +08:00   ❤️ 1
    @likexian 考虑无密码的wifi、钓鱼wifi、有线网络的嗅探………
    至少加上https的支持吧
    或者你可以参考ksysguard的做法,服务端不是daemon而是输出到stsout。靠ssh保证安全性
    因为你这个服务是用root权限跑的,一般来说用root跑网络服务的只有ssh了,其他的服务基本没有敢用root跑的。安全是木桶啊
    derek80
        36
    derek80  
       2015-04-17 13:56:15 +08:00
    点赞+fork
    along
        37
    along  
       2015-04-17 13:58:00 +08:00
    发现一个文字错误 readme里 的 Open on your PC brower 应该是 Open on your PC browser
    likexian
        38
    likexian  
    OP
       2015-04-17 14:10:13 +08:00
    @ryd994 之所以用root跑是因为golang突然把setuid干掉了(虽然以前支持的也有问题)这里后续会继续改进,包括ssl也会考虑的

    @derek80 十分感谢

    @along 好细心的汉子,fixed,感谢
    no13bus
        39
    no13bus  
       2015-04-17 14:43:19 +08:00
    @likexian 我怎么发现楼主有些眼熟,原来star过我的 redispapa. 楼主是大牛呀,这工具写的赞,还是golang写的。文档也写的很用心,中英文。 那楼主赶紧用用我的小玩具吧 https://github.com/no13bus/ohmyrepo

    http://ohmyrepo.ml

    看看自己这几天每天的小星星变化了多少,以及他们都在全世界哪里呢。嘻嘻。
    kenken
        40
    kenken  
       2015-04-17 15:17:36 +08:00
    加客户端一直显示 Access Denied.
    likexian
        41
    likexian  
    OP
       2015-04-17 15:25:04 +08:00   ❤️ 1
    @no13bus 你这么叼我已经follow你了

    @kenken 看下是不是没有 chmod +x client
    no13bus
        42
    no13bus  
       2015-04-17 15:33:55 +08:00
    @likexian dnspod的员工,还说我叼。哼。谦虚了不好。哈哈哈
    no13bus
        43
    no13bus  
       2015-04-17 15:35:40 +08:00
    @likexian 你这个是没有用数据库 直接数据就是存储到了内存上 是吧?利用redis的pub sub机制呢?
    Lucups
        44
    Lucups  
       2015-04-17 15:50:54 +08:00
    之前在用 Munin,感觉太强大了
    楼主这个我比较喜欢 :)
    huobazi
        45
    huobazi  
       2015-04-17 16:26:59 +08:00
    什么时候支持 windows client
    likexian
        46
    likexian  
    OP
       2015-04-17 17:00:03 +08:00
    @no13bus 第一版,没有历史,只写了两文件,不用环境,不用数据库,文件一扔就能用,就是简单
    @Lucups 感谢支持啊
    @huobazi 这个排得比较远啊。。。如果你愿意,可以参考api自己发数据过去,服务器端只能linux了
    qiuai
        47
    qiuai  
       2015-04-17 19:06:07 +08:00
    @likexian 1.不知道原因的,阿里云上的机器,怎么都不上线.
    qiuai
        48
    qiuai  
       2015-04-17 19:07:31 +08:00
    @likexian 2.是不是把本机的信息也列上去呢...?
    liuchen9586
        49
    liuchen9586  
       2015-04-17 19:32:39 +08:00
    感谢楼主分享 :)
    ghovik
        50
    ghovik  
       2015-04-17 19:38:56 +08:00
    感谢分享,还不错。
    可是为什么我的RAM一直显示在98%以上,可是实际上占用率大概是30%。何解?
    Verinda
        51
    Verinda  
       2015-04-17 19:45:46 +08:00 via iPhone
    @likexian DO的主机大概确实没法上线,设置时没有报错,服务端的data文件夹中没有DO的数据,用的CentOS/Debian 7.0 x64都不行
    likexian
        52
    likexian  
    OP
       2015-04-18 10:09:41 +08:00
    @qiuai 1. 有报错吗,也可能是iptables策略。2. 你在server本机也跑一个client就好了。

    @liuchen9586 感谢支持

    @ghovik buffer cache也算在使用量上了,这个地方我再想办法优化

    @Verinda 可能是iptables策略,看看开放下端口吧
    Livid
        53
    Livid  
    MOD
       2015-04-18 10:54:33 +08:00
    Server 和 client 端都只是一个可执行文件,赞。
    ghovik
        54
    ghovik  
       2015-04-18 11:14:07 +08:00
    @likexian 对,这个稍稍改一下就好了。再次赞。
    likexian
        55
    likexian  
    OP
       2015-04-18 11:47:24 +08:00
    @Livid 惊现livid,感谢点赞。简单是这个项目最大的目标,所以:不需环境、不需依赖、不需数据库,一扔就能用。

    @ghovik 这个改起来很简单的,当初也纠结了好久到底要不要算buffer,最后还是算上了,后续我再继续看看这里。
    Livid
        56
    Livid  
    MOD
       2015-04-18 11:50:25 +08:00
    @likexian 我们目前在大量服务器上用的是 Munin(通过 Puppet 统一部署),但是这个东西文件太多了,虽然插件很多是个最大的优点。

    如果能够把这块系统逐步转移到轻量级的 Go 做的监控软件上面,肯定是未来的方向。
    likexian
        57
    likexian  
    OP
       2015-04-18 11:50:33 +08:00
    在未读消息里发现这个贴被@Livid 置顶一个小时了,再次十分感谢livid的大力帮忙。在这里发了之后帖子也收到了上百的收藏和几十的赞。十分感谢这个社区,感谢以上所有阅读过、回复过、特别是试用过和提过意见的大神们,十分感谢!
    likexian
        58
    likexian  
    OP
       2015-04-18 12:00:27 +08:00
    @Livid 嗯,像munin nagios cacti zabbix这些都很强大。而stat hub旨在简单但提供足够的信息。以后go在这方面应该会越来越多这种方案,go在系统、网络方面支持很好还能快速开发。
    flame
        59
    flame  
       2015-04-18 12:03:09 +08:00
    [img]http://i2.tietuku.com/eb50882dc4305230.png[/img]
    请问我重复写了配置文件,控制端就出现了重复的了,有办法解决吗/
    gock
        60
    gock  
       2015-04-18 12:04:35 +08:00 via iPad
    好东西
    likexian
        61
    likexian  
    OP
       2015-04-18 12:07:37 +08:00
    @flame 简单,在server上进入data目录,将全部文件夹删除,等两分钟,数据全重新记录。
    flame
        62
    flame  
       2015-04-18 12:37:23 +08:00
    可不可以把登陆验证给去掉,访问直接。?
    qiuai
        63
    qiuai  
       2015-04-18 13:05:38 +08:00
    @likexian 1.完全没报错,log文件也是空的.
    2.为啥不直接内置了呢...
    likexian
        64
    likexian  
    OP
       2015-04-18 14:04:48 +08:00
    @gock 感谢!

    @flame 不要密码就直接公开了啊。。。

    @qiuai 1. 暂时判断不了原因,我下一版本加上详细日志吧。2.这等于把代码复制一遍,还是再运行一下吧。
    qiuai
        65
    qiuai  
       2015-04-18 14:10:53 +08:00
    @likexian 嗯.好~
    likexian
        66
    likexian  
    OP
       2015-04-18 14:16:19 +08:00
    @qiuai 感谢支持啊,多帮忙推广啊老板
    BlueWolf
        67
    BlueWolf  
       2015-04-18 15:00:39 +08:00
    @qiuai
    @likexian
    同阿里云,两台都没法显示数据,其中一台是server,两台上都运行了client。client.log文件空的,server里的data目录也为空,系统Ubuntu ,32bit的为server+client,64bit的client
    qiuai
        68
    qiuai  
       2015-04-18 16:38:25 +08:00
    @likexian 推广啥....?
    imlonghao
        69
    imlonghao  
       2015-04-18 16:39:56 +08:00 via Android
    楼主现在 32bit 的问题解决了么?
    echoing
        70
    echoing  
       2015-04-18 17:31:09 +08:00 via Android
    @likexian 有密码公开,别人就有修改密码的权限啦,不是傻逼了么!……
    likexian
        71
    likexian  
    OP
       2015-04-18 20:00:02 +08:00
    @BlueWolf 这个目前还不知道原因,我试了ubuntu没重现,下个版本我加个日志你再试试?

    @imlonghao 解决了,这两天会发一个版本,到时我告诉你

    @echoing 这个建议我会考虑加上
    imlonghao
        72
    imlonghao  
       2015-04-18 22:28:53 +08:00 via Android
    @likexian 感谢照顾。
    密码可以写在 json 里面吧,只能通过改文件来改密码
    zyqzyq
        73
    zyqzyq  
       2015-04-19 06:38:18 +08:00 via Android
    一直用nodequery
    xrui
        74
    xrui  
       2015-04-19 17:47:32 +08:00 via Android
    我拿Nginx反代15944端口,再套上cf的SSL。。。这样会有用吗
    likexian
        75
    likexian  
    OP
       2015-05-13 14:35:53 +08:00
    @imlonghao 32bit 的问题已解决,欢迎更新使用新版
    密码是加密后存在json里的,直接修改明文是无效的,目前可以在网页上改密码

    @xrui 这样是可以的啊,新版的FAQ里面有配置说明,你可以试试
    thonatos
        76
    thonatos  
       2015-05-14 10:13:48 +08:00
    暂时就一台服务器...先关注,再测试,O(∩_∩)O谢谢
    likexian
        77
    likexian  
    OP
       2015-05-20 14:30:52 +08:00
    @thonatos 一台服务器也可以用啊,有了这个你再也不用登录服务器去 uptime/free/df/ifconfig 了,只要有浏览器,随时随地查看服务器状态。

    并且最新的版本有了月流量统计,本月用了多少流量一眼就知道,方便又贴心。
    likexian
        78
    likexian  
    OP
       2015-05-20 14:31:47 +08:00
    之前有同学反馈添加了节点但没有数据的问题已经解决了,原因是没有swap之前的版本无法正常收集信息,欢迎有这个问题的同学再试一下新版。
    likexian
        79
    likexian  
    OP
       2015-05-20 14:36:13 +08:00
    @Verinda
    @imlonghao
    @qiuai
    @BlueWolf

    32/64位显示不正确的问题解决了
    没有数据的问题也解决了
    欢迎再试一下新版
    十分感谢!
    thonatos
        80
    thonatos  
       2015-05-20 16:40:19 +08:00
    @likexian

    我基本从来不登陆服务器查信息...差不多半年重启一次(以外情况除外。)

    O(∩_∩)O哈哈哈~,原谅我就是这么懒。
    likexian
        81
    likexian  
    OP
       2015-05-21 10:35:35 +08:00
    @thonatos 常回服务器看看
    thonatos
        82
    thonatos  
       2015-05-21 10:43:24 +08:00
    @likexian

    并没有什么好看の,就一黑框而已~
    likexian
        83
    likexian  
    OP
       2015-05-21 13:16:16 +08:00
    @thonatos 你赢了
    thonatos
        84
    thonatos  
       2015-05-21 16:21:20 +08:00
    @likexian

    ╮(╯▽╰)╭,我就比较诚实而已,其实我觉得吧,非公开的服务器,监控的最好功能是设置阀值,出现问题了自动去提醒;相反的,提供一个UI界面来看的意义略小,元芳,你怎么看?
    likexian
        85
    likexian  
    OP
       2015-05-21 19:09:09 +08:00
    @thonatos 你说的是几百万台服务器级别的监控系统,我这个是个人玩玩的小状态系统,不是一个东西。
    O21
        86
    O21  
       2015-06-07 03:42:00 +08:00
    服务器的名字能不能自己设置。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:20 · PVG 10:20 · LAX 18:20 · JFK 21:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.