如果你喜欢简单并且有多台 vps/服务器,你需要这个,状态数据了然了然 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
likexian
V2EX    分享创造

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

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

    无图无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  
    PRO
       2015-04-17 19:06:07 +08:00
    @likexian 1.不知道原因的,阿里云上的机器,怎么都不上线.
    qiuai
        48
    qiuai/a>  
    PRO
       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
    PRO
       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
    PRO
       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  
    PRO
       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  
    PRO
       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  
    PRO
       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里面有配置说明,你可以试试
    SuYia
        76
    SuYia  
       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位显示不正确的问题解决了
    没有数据的问题也解决了
    欢迎再试一下新版
    十分感谢!
    SuYia
        80
    SuYia  
       2015-05-20 16:40:19 +08:00
    @likexian

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

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

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

    (),我就比较诚实而已,其实我觉得吧,非公开的服务器,监控的最好功能是设置阀值,出现问题了自动去提醒;相反的,提供一个UI界面来看的意义略小,元芳,你怎么看?
        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     Solana     5273 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 07:24 PVG 15:24 LAX 23:24 JFK 02:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86