gnuplot 是一个用于生成趋势图和其他图形的工具。它通常用于收集基于时间的数据,但是不限于此;也可以使用静态数据。gnuplot 可以以批模式运行或动态运行,结果由图形查看程序或 Web 浏览器显示。本文演示如何使用 gnuplot 和批文件为从 sar 或其他数据源收集的数据生成图形。gnuplot 有许多命令选项,可以通过 set 操作符使用它们。但是,要想使用线或框生成图形,需要对文档有所了解。
在本文中,我将使用 Web 服务器提供图形。
gnuplot 把原始表格数据转换为图形文件。流行的格式是 png、pdf 和 jpeg,然后可以把它们动态地或直接地传递给 X 终端、网页或通用的图形查看程序。还可以把图像导入文档。使用命令界面与 gnuplot 交互,使用 “set” 命令指定图像的格式和显示方式。这通常包括图像的大小、使用的颜色、刻度、x, y 坐标和输出图像名。然后,使用 plot 命令通过 gnuplot 引擎实际生成图像。还可以使用 splot 命令绘制 3D 图像。尽管可以使用命令界面以交互方式执行命令,但是最好的方法是使用配置文件,这样就可以通过 shell 'here' 文档方法使用文件中的变量(如果需要的话),从而重用配置文件。然后,通过管道把配置文件与 gnuplot 连接起来以生成图像文件。如果配置文件中有错误,在这个过程中会显示这些错误,并突出显示错误的位置。生成图像文件之后,就可以显示它们了。
与用于生成图形的任何数据收集过程一样,在把数据传递给 gnuplot 之前,必须对收集的数据做一些筛选。这可能包括删除数据文件中头尾不需要的信息;sed 和 awk 有助于满足任何文本筛选需求。
可以从 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 |
使用以下命令列出已经安装的 rpm:
# rpm –qa |
最后,安装 gnuplot 包:
# rpm -ivh gnuplot-4.2.4-1.aix5.1.ppc.rpm |
运行 gnuplot 以测试它。这会显示 gnuplot 命令界面(用 quit
命令退出界面):
$ gnuplot |
sar 可能是最常用的收集性能数据的方法,所以我们以它作为示例。清单 1(sarx.txt)是通过运行 sar 收集的数据,数据收集时间为 5 小时,每小时收集一次,输出已经经过筛选。
|
接下来,创建一个文件以包含生成图形所需的所有 gnuplot 命令。可以给这个文件起任何名字;在本文中,我把它命名为 sarx.conf。
为了能够生成图像,必须告诉 gnuplot 图形文件应该采用什么格式以及应该如何显示。清 单 2(sarx.conf)包含执行 set 操作的配置文件。以 # 字符开头的行是注释。我们仔细看看 清 单 2。