把数据画成图,是我一直想要达到的,今日研究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搭建一个全面的日志分析,动态站点