V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Wien
V2EX  ›  DevOps

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

  •  
  •   Wien · Jul 20, 2016 · 6363 views
    This topic created in 3579 days ago, the information mentioned may be changed or developed.

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

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

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