前言
RRDtool对于图形展示很优秀,兵马未动粮草先行。
搞IT的得手册先行RRDtool的官方手册地址http://oss.oetiker.ch/rrdtool/doc/index.en.html
还有ailms整理的“RRDtool简体中文教程 v1.01” 该教材通俗易懂,先膜拜下!基本看了alims的 那个教程就对RRDtool清楚了。
我创建每台主机每张rrd文件用的是多线程,遍历每张图的时间大概12秒的样子,千张图的rrd文件创建大概2分钟的样子,主要受硬件的限制,如果有更快的硬盘和更多的线程应该会快不少。
rrd文件分类参考了cacti的风格,创建的rrd文件按主机ID分文件夹存放(hostid),每张图的名称由图形ID和.rrd后缀组成。graphid.rrd
。
创建单个rrd文件
创建每个rrd文件的py模块如下,写的有点笨,有多少个不同的item组成的图形就得定义不同的创建函数,我找了一个下午都没有找到更好的传参方法,先就用这个笨方法。
有几种DS就需要写对应的Item函数,下面列出Item03,我总共堆了24个,一直到Item24。createsub.py
1 | #!/usr/bin/env python |
创建rrd单文件的模块写好了,然后组织数据、调用函数传递相应的参数就可以创建不同类型的rrd文件。
创建主机所有rrd文件
下面是写的一个多线程脚本,同时启用16个线程工作(CPU线程数的2倍)。可更改线程数适应不同的硬件环境。
1 | #!/usr/bin/env python |
上面还有更新数据的函数没有写完,用pass站位。