之前提高日志流量统计的问题。并给出了分时流量的计算方法。当是想的是用perl调用rrd或者gd画图,甚至有把日志统计也写成perl的打算。 不过今天发现了一个小工具gnuplot,画图功能相当强大(在找资料的时候看到台湾有人用这个画台湾的三维地形图!),上手相当简单,尤其适合日志统计分析,相比来说,rrd还是比较适合实时监控画图的情况。 比如当初的脚本输出如下: [root@Zabbix cache]# tail test.log 23:14 506.877 23:19 501.068 23:24 493.254 23:29 469.184 23:34 460.161 23:39 426.065 23:44 429.734 23:49 409.255 23:54 423.512 23:59 390.676 然后编写gnuplot的配置文件如下:
[root@Zabbix cache]# cat log.conf
set terminal png truecolor size 550,250 #指定输出成png图片,且图片大小为550×250,需要ligpng支持,采用默认颜色设定
set output "log.png" #指定输出png图片的文件名
set autoscale #轴向标记自动控制
set xdata time #X轴数据格式为时间
set timefmt "%H:%M" #时间输入格式为"小时:分钟"
set style data lines #数据显示方式为连线
set xlabel "time per day" #X轴标题
set ylabel "Mbps" #Y轴标题
set title "image.tuku.china.com flow" #图片标题
set grid #显示网格
plot "test.log" using 1:2 title "access_flow" #从test.log文件中读取第一列和第二列作为X轴和Y轴数据,示例名"log_flow"
最后运行cat log.conf | gnuplot命令,就生成了log.png文件,如下: 就是不知道X轴上这个01/01怎么消除掉…… 对比帝联提供的flash图片如下: 可以看出基本是一致的。