把数据画成图,是我一直想要达到的,今日研究gnuplot,小有成就,下面我只举一个数据制图的例子

比如我想画个每小时nginx日志500错的图

需求:开启一个http服务,比如80端口

    web根目录为/var/www/html

实施:

   1.先针对nginx日志进行分析

   grep \"\ 500 access.log|wc -l >>/opt/yanchao/500.txt

   2.编写gnuplot脚本为

500zhitu.sh

set terminal png truecolor
set output "500.png"   输出文件为
set autoscale    
set key box
set key center at 20,150  表示位置
set xtics 1        x轴没个点走多少
set ytics 50        y轴没个点走多少
set yrange [0:1000]  y轴坐标
set ylabel "500error"   y轴注释
set xrange [01:24]   x轴坐标
set xlabel "Time"   x轴注释
set style data lines  选择线型
plot "/home/yanchao/500test5" using 1 w lp lc 3 lw 2 pt 7 ps 2 title "test"  针对于什么进行画图,using 1代表针对第一列进行制图  后面参数请查看参考手册


   3.cat 500zhitu.sh|gnuplot

   4.访问图片

想要获得动态图片,请修改crontab 你们懂得 我就不多说了


当然楼主给单位做的比这个复杂很多,楼主致力于用shell搭建一个全面的日志分析,动态站点

针对数据 gnuplot画图 初试_第1张图片

针对数据 gnuplot画图 初试_第2张图片