Cacti 提供了一个工具为数据,图形和主机创建模板。这章将解释怎么创建这些模板并应用这些模板到各种设备。

这章包括以下主题:

u  模板介绍

u  定义一个数据模板

u  定义一个图形模板

u  定义一个主机模板

u  为设备分配一个主机模板

u  导入或者导出模板

u  参考模板库

现在开始啦……

模板介绍

Cacti 拥有一个模板,可以用来简单的创建和管理图形,分配到特殊类型的主机。这里有三个不同类型的模板:图形,主机和数据。

数据模板

数据模板描述Cacti将要存储到RRD文件里的数据。这基本地归结为RRDtool create 命令。RRDtool拥有一个模板,Cacti从内部发出create命令可保证最基本的方式是基于这个模板创建RRD文件

请记住,一旦一个数据模板正在被用来创建一个DDR文件,对这个模板进行的更改不会反应到这个RRD文件。

数据输入方法

数据模板是基于“数据输入方法”的。数据输入方法描述了Cacti检索数据插入到数据源的不同的方法。

图形模板

图形模板定义了图形的外观和感觉。他们给RRDtool图形作用提供了框架,定义了使用的数据源和显示的图形项目。对图形模板的更改将传播到所以基于这个模板的图形。

主机模板

主机模板像一个盛着图形模板和数据查询的购物篮。我们假设一个将需要包括集中不同图形的特殊的设备类型。我们将不再对每一个设备添加单个的图形模板和数据查询,而是简单地定义这些到一个主机模板并分配这个主机模板给这个设备。

数据查询

我们晋级听说了“数据查询”,但是什么是“数据查询”?数据查询是一个特殊的检索索引数据例如网络接口或者Linux服务器的运行线程的特殊方式。是XML格式的文件,定义着将被检索的本地数据和检索方法。除了这个XML文件之外,数据查询还需要定义在Cacti以让让Cacti获得数据给相关的图形模板。

定义一个数据模板

你即将为一个主机MIB hrSystemProceses定义一个数据模板. 尽管这已经存在一个数据模板,但是这个任务可提供一个很好的例子来演示怎样创建基于SNMP的数据模板。为了这个工作,我们假设你的基于CentosCacti 服务器已经配置了SNMP守护进程。你可以通过下列命令检查你的box

[root@localhost ~]# snmpwalk -On -c public -v 2c localhost HOST-RESOURCES-MIB::hrSystemProcesses.0

.1.3.6.1.2.1.25.1.6.0 = Gauge32: 101

 

 

实践—定义数据模板

hrSystemProcesses MIB提供了关于当前玉玺在支持这个主机资源MIB的线程的数量。MIB是特殊系统数据集,像通过SNMP检索到的用户登录,磁盘空间,软件安装包和其他的信息值。

1.      登录到Cacti系统,浏览到Templates | Data Templates

2.      点击列表右上角的Add链接。这样会打开一个可以定义数据模板的新页面。

3.      Name区域输入Host-Resource-Mib: Running Processes.

4.      输入 |host_description| - Running Processes 作为数据源的名字。|host_description|文本是个特殊的变量,它将被这个数据模板实际添加到的设备的主机描述所替代。你可以通过下面的这个链接找到关于这些变量的列表:http://docs.cacti.net/manual:087:6_reference.variables#variables.

5.      选择Get SNMP Data 作为Data Input Method.

6.      取消选择Hourly (1 Minute Average) RRA,轮询间隔设置无论如何都要有5分钟,并且打破这个设置到平均1分钟将不会提供更多的细节。

7.      输入runProcesses 作为Data Source ItemInternal Data Source Name.

8.      输入 1000作为Maximum Value. 这里设置永远不能同时运行1000个进程。

9.      Data Source Type应该为Gauge,因为这是snmpwalk从上面回复的样例。

10.   保持其他值为默认值,点击Create.

11.   你还没有完成。点击Create按钮应该已经增加了一些传统区域到这个页面的结尾。这里你可以增加SNMP-specific Custom Data.

12.   当你将检索活动进程,输入.1.3.6.1.2.1.25.1.6.0作为OID.

13.   点击Save按钮就完成了。

 

至此,创建了你的第一个基于SNMP的数据模板。基于SNMP的数据模板是Cacti中最普通的模板。在这个样例中,你使用hrSystemProcesses MIB的模板Get SNMP data输入方法以获得系统中实际运行的进程。你也定义了一个Maximum Value 以致Cacti知道返回值的范围在允许的范围内。

 

提示:要设定一个合适的最大值

“如果这个值设置为0,那么SNMP轮询会经常出现失败的错误警告WARNING: Result from SNMP not valid. Partial Result: U, 所以要确定设置了一个合适的值。”

这个基本的样例可以适用于创建各种类型SNMP的数据模板。

 

一展身手—当前建立的TCP连接建立模板

我们假设你有一个有性能问题的服务器。可能用户在某天的特殊时间不能连接。让在这个服务器上存储一些可以为进一步解决问题提供重要信息或者在用户知道之前识别问题的数据岂不是更好? 在这些特殊的情况下,我想知道当前系统建立的TCP连接的数量,识别积聚在某个已经不能再创建更多连接的点的可能性。数据模板是怎样的呢?一个小小的提示:看一下TCP-MIB.

Solution:找到数据模板样例,复制一下。打开并选择Template | Data Templates ,从下拉列表选择Duplicate按钮后点击Go.在下面的页面输入TCP-MIB: Established TCP Connections作为标题,然后点击Continue.再一次编辑模板并更改名称区域以适合新的数据。输入tcpCurrEstab作为Internal Data Source Name,使用.1.3.6.1.2.1.6.9.0 作为OID.点击Save就完成了。