简介

gnuplot 是一个用于生成趋势图和其他图形的工具。它通常用于收集基于时间的数据,但是不限于此;也可以使用静态数据。gnuplot 可以以批模式运行或动态运行,结果由图形查看程序或 Web 浏览器显示。本文演示如何使用 gnuplot 和批文件为从 sar 或其他数据源收集的数据生成图形。gnuplot 有许多命令选项,可以通过 set 操作符使用它们。但是,要想使用线或框生成图形,需要对文档有所了解。

在本文中,我将使用 Web 服务器提供图形。

gnuplot 概述

gnuplot 把原始表格数据转换为图形文件。流行的格式是 png、pdf 和 jpeg,然后可以把它们动态地或直接地传递给 X 终端、网页或通用的图形查看程序。还可以把图像导入文档。使用命令界面与 gnuplot 交互,使用 “set” 命令指定图像的格式和显示方式。这通常包括图像的大小、使用的颜色、刻度、x, y 坐标和输出图像名。然后,使用 plot 命令通过 gnuplot 引擎实际生成图像。还可以使用 splot 命令绘制 3D 图像。尽管可以使用命令界面以交互方式执行命令,但是最好的方法是使用配置文件,这样就可以通过 shell 'here' 文档方法使用文件中的变量(如果需要的话),从而重用配置文件。然后,通过管道把配置文件与 gnuplot 连接起来以生成图像文件。如果配置文件中有错误,在这个过程中会显示这些错误,并突出显示错误的位置。生成图像文件之后,就可以显示它们了。

与用于生成图形的任何数据收集过程一样,在把数据传递给 gnuplot 之前,必须对收集的数据做一些筛选。这可能包括删除数据文件中头尾不需要的信息;sed 和 awk 有助于满足任何文本筛选需求。

安装 gnuplot

可以从 AIX® 5L Source Packages 网站下载 rpm 形式的 gnuplot 4.2:http://www.perzl.org/aix/index.php

对于本文中的示例,除了 gnuplot,还需要一个正在运行的 http 服务器。

也可以从本文后面或 AIX toolbox 网站下载所需的依赖库和 http 服务器。

在安装 gnuplot 之前,一定要安装下面的 rpm 库,因为 gnuplot 需要这些库:

fontconfig-2.7.2-1.aix5.1.ppc.rpm
expat-2.0.1-2.aix5.1.ppc.rpm
freetype2-2.3.9-1.aix5.1.ppc.rpm
zlib-1.2.3-5.aix5.1.ppc.rpm
libpng-1.2.40-1.aix5.1.ppc.rpm
gd-2.0.35-4.aix5.1.ppc.rpm
libjpeg-7-1.aix5.1.ppc.rpm
libXpm-3.5.7-2.aix5.1.ppc.rpm
gettext-0.17-1.aix5.1.ppc.rpm
glib2-2.20.5-1.aix5.1.ppc.rpm

 

使用以下命令列出已经安装的 rpm:

# rpm –qa

 

最后,安装 gnuplot 包:

# rpm -ivh gnuplot-4.2.4-1.aix5.1.ppc.rpm 

 

运行 gnuplot 以测试它。这会显示 gnuplot 命令界面(用 quit 命令退出界面):

$ gnuplot
G N U P L O T
Version 4.2 patchlevel 4
last modified Sep 2008
System: 5.3
Copyright (C) 1986 - 1993, 1998, 2004, 2007, 2008
Thomas Williams, Colin Kelley and many others
Type `help` to access the on-line reference manual.
The gnuplot FAQ is available from http://www.gnuplot.info/faq/
Send bug reports and suggestions to <http://sourceforge.net/projects/gnu
plot>
Terminal type set to 'unknown'
gnuplot>

用 sar 创建图形

sar 可能是最常用的收集性能数据的方法,所以我们以它作为示例。清单 1(sarx.txt)是通过运行 sar 收集的数据,数据收集时间为 5 小时,每小时收集一次,输出已经经过筛选。


清单 1. sarx.txt

				
14:10:50 33 27 4 36 4.00
15:10:50 29 14 3 28 4.00
16:10:50 35 21 1 31 4.00
17:10:49 38 29 2 39 4.00
18:10:40 42 29 3 35 4.00

 

接下来,创建一个文件以包含生成图形所需的所有 gnuplot 命令。可以给这个文件起任何名字;在本文中,我把它命名为 sarx.conf。

为了能够生成图像,必须告诉 gnuplot 图形文件应该采用什么格式以及应该如何显示。清 单 2(sarx.conf)包含执行 set 操作的配置文件。以 # 字符开头的行是注释。我们仔细看看 清 单 2