V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Wien
V2EX  ›  DevOps

集群中所有服务器向监控服务器提交 metrics 的时间点无法统一?

  •  
  •   Wien · 2016-07-20 17:20:00 +08:00 · 5659 次点击
    这是一个创建于 3033 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设一个集群中的多台服务器每一分钟向监控服务器提交一次 metrics ( QPS 、 TPS 等),由于每台服务器的启动时间都不同,服务器自身的时间也可能不同,导致每台服务器发送 metrics 的时间节点都是不同的,有可能某一台发送的时间点在 17:19:01 ,另一台 17:19:31 ,这样一来就差了 30 秒,那怎么统计集群的总 QPS 、 TPS 呢?就算能统计误差应该也挺大的。

    14 条回复    2016-07-20 22:27:02 +08:00
    qingchn
        1
    qingchn  
       2016-07-20 17:30:25 +08:00   ❤️ 1
    首先集群时间不统一就是一个问题,我觉得你应该把这个问题解决了。
    1 ,在内网部署 NTP 服务。
    2 ,所有的服务器向这台 NTP 服务,同步时间。
    ryd994
        2
    ryd994  
       2016-07-20 18:14:23 +08:00   ❤️ 1
    简单办法:开 ntp 服务,就算不是内都行,几十毫秒的误差而已
    复杂办法:翻转,改 push 为 pull ,由统计服务器发起请求
    Livid
        3
    Livid  
    MOD
       2016-07-20 18:22:29 +08:00   ❤️ 1
    在每台服务器的 crontab 里添加:

    */10 * * * * ntpdate time.asia.apple.com > /dev/null
    chzyer
        4
    chzyer  
       2016-07-20 18:23:49 +08:00
    时间以到达监控服务器为准就行了吧.
    9hills
        5
    9hills  
       2016-07-20 19:13:21 +08:00 via iPad   ❤️ 1
    监控系统标准问题, ntp 是正道
    wsy2220
        6
    wsy2220  
       2016-07-20 19:30:25 +08:00 via Android
    即使时间同步了也不能同时往监控服务器发,机器多了就是对监控服务器的 DDOS
    clino
        7
    clino  
       2016-07-20 19:38:16 +08:00 via Android   ❤️ 1
    用自动构建软件如 jenkins buildbot 等控制 slave 做,因为是 master 触发的,所以时间会同步
    Wien
        8
    Wien  
    OP
       2016-07-20 19:59:05 +08:00
    @9hills @Livid @chzyer @clino @qingchn @ryd994 @wsy2220 监控这种个性化的数据(比如某个 Api 接口的调用次数)公司现在用的是在项目中加个定时器,定时向 opentsdb 发送监控数据。。。各位项目中一般怎么做的呢?
    lhbc
        9
    lhbc  
       2016-07-20 20:01:20 +08:00 via Android   ❤️ 1
    ntpdate 可能不是个好方案,建议每台机器都跑 ntpd
    ntpd 不会造成时间漂移
    ntpdate 适合对时间序列无感的场景
    Livid
        10
    Livid  
    MOD
       2016-07-20 20:19:04 +08:00 via iPhone   ❤️ 1
    @Wien AWS Cloud Watch 可以用于保存这种时间序列数据。国产支持这个的服务目前不太清楚有哪些。
    clino
        11
    clino  
       2016-07-20 20:23:08 +08:00 via Android   ❤️ 1
    @Wien 我觉得可以打在专门的 log 里然后另外处理
    zuo
        12
    zuo  
       2016-07-20 20:40:14 +08:00   ❤️ 1
    公司正在尝试使用 Elastic 的 beats ,里面有个 Metricbeat ,不知道能不能满足你的需求
    skydiver
        13
    skydiver  
       2016-07-20 20:40:53 +08:00
    插值就好了,误差不会那么大
    9hills
        14
    9hills  
       2016-07-20 22:27:02 +08:00 via iPad   ❤️ 1
    @Wien 日志分析,太多了。经典的 ELK
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.