绘图相关

本节讲解和绘图相关的运维操作

下面的文档都是针对rrdtool版本TSDB,着眼当下的话,建议大家使用M3DB作为存储,非常强大,如何接入请查看部署章节中的 存储切换M3方式

绘图功能高可用

默认情况下,用作看图的数据会通过分片的方式,存到单个tsdb实例,如果某个tsdb实例所在的机器宕机,部分曲线看图会受到影响,如果预算充足,可以部署双活集群,配置方式是修改transfer模块的配置文件,每个节点配置两个tsdb实例,样例如下,集群地址之间用逗号分隔

backend:
  cluster:
    tsdb01: cluster1.addr:5821,cluster2.addr:5821

通过配置双活实例,当有一个实例宕机的时候,查询链路会自动去从另一个实例查询数据,无需手动处理

置绘图数据的存储时长

tsdb默认的存储时长配置如下,可以根据自身需求在配置文件中修改,如果监控指标上报周期(step)为10s,则最久可以存储一年。

rrd:
  rra:
    1:    720   # 存储720个原始点
    6:    4320  # 6点个归档为一个点,保存4320个点
    180:  1440  # 180个点归档为一个点,保存1440个点
    1080: 2880  # 1080个点归档为一个点,保存2880个点

如果未来看图的时候,希望能看到跟一周之前的数据的对比,即周环比数据,第二条归档策略,建议由4320调整为11520,这样的话归档精度一致,比较容易看图,并且利于未来做环比告警策略,但是,这也带来了弊端,就是监控数据存储的量变大了。

什么情况需要看周环比数据?变化很规律的业务数据,比如订单量、用户在线数,而且还得是体量很大的情况,曲线才会比较平滑,如果只是看机器监控,或者业务体量比较小,意义不大。

存储扩容

当tsdb所在的机器资源不足的时候,可以对tsdb模块进行扩容,下面讲一下tsdb如何进行扩容

举个例子:
旧tsdb集群列表为 172.26.19.33,扩容之后tsdb集群列表为 172.26.19.33、172.26.19.34

  1. 首先修改tsdb模块的配置文件,打开migrate扩容开关,将旧的tsdb机器列表写在oldCluster下面,将新的tsdb机器列表写在newCluster下面
rrd:
  storage: data/5821
cache:
  keepMinutes: 120
logger:
  dir: logs/tsdb
  level: WARNING
  keepHours: 2
migrate:
  enabled: true
  oldCluster:
    tsdb01: 172.26.19.33:5821
  newCluster:
    tsdb01: 172.26.19.33:5821
    tsdb02: 172.26.19.34:5821
  1. 配置文件修改完成之后,将旧机器的tsdb模块重启,将新机器的tsdb模块启动
  2. 修改transfer配置文件中的backend.cluster字段,将待扩容的tsdb机器添加到cluster下面,然后重启transfer集群
backend:
  # in ms
  # connTimeout: 1000
  # callTimeout: 3000
  cluster:
    tsdb01: 172.26.19.33:5821
    tsdb02: 172.26.19.34:5821
  1. 在监控系统中查看监控指标 n9e.tsdb.migrate.old.out 的变化,当 n9e.tsdb.migrate.old.out 变为0时,表示扩容操作完成,关闭tsdb配置文件中的migrate开关,重启tsdb模块,完成扩容
诚邀各位小伙伴:

一起参与夜莺社区建设,多写一些夜莺的文章,咱们一起把夜莺做成最好用的国产智能监控。各位甲方上帝们,也可联系我们(18612185520,微信同号)寻求技术支持护航服务,贵司业务发展这么快,我们帮你做好监控!