系统管理指南:IP 服务

第 36 章 使用流记帐和统计信息收集功能(任务)

本章介绍如何获取有关由 IPQoS 系统处理的流量的记帐和统计信息。本章包含以下主题:

设置流记帐(任务列表)

以下任务列表列出了使用 flowacct 模块获取有关通信流的信息的一般任务。此列表还链接到执行这些任务的过程。

任务 

说明 

参考 

1. 创建包含通信流的记帐信息的文件。 

使用 acctadm 命令创建一个文件,用来包含 flowacct 处理所得的结果。

如何为流记帐数据创建文件

2. 在 IPQoS 配置文件中定义 flowacct 参数。

timertimeoutmax_limit 参数定义值。

如何在 IPQoS 配置文件中为类启用记帐

记录有关通信流量的信息

您可以使用 IPQoS flowacct 模块来收集有关通信流的信息。例如,您可以收集源地址和目标地址、流中包的数量及类似数据。积累和记录有关流的信息的过程称为流记帐

对属于特定类的通信进行流记帐的结果会记录在一个流记录表中。每个流记录都包括一系列属性。这些属性包含有关一个时间间隔内特定类的通信流量的数据。有关 flowacct 属性列表,请参阅表 37–4

在记帐客户机的服务级别协议 (service-level agreement, SLA) 中定义的流记帐对于这些记帐客户机特别有用。您还可以使用流记帐来获取关键应用程序的流统计信息。本节包含使用 flowacct 和 Oracle Solaris : 扩展记帐功能来获取有关通信流量的数据的任务。

以下信息将在除本章以外的其他章节中介绍:

Procedure如何为流记帐数据创建文件

在向 IPQoS 配置文件添加 flowacct 操作之前,必须通过 flowacct 模块为流记录创建文件。为此,可以使用 acctadm 命令。acctadm 可以将基本属性或扩展属性记录到该文件中。表 37–4 中列出了所有的 flowacct 属性。有关 acctadm 的详细信息,请参阅 acctadm(1M) 手册页。

  1. 在启用 IPQoS 的系统上承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 创建基本流记帐文件。

    以下示例说明如何为示例 34–1 中配置的高级 Web 服务器创建基本流记帐文件。


    # /usr/sbin/acctadm -e basic -f /var/ipqos/goldweb/account.info flow
    
    acctadm -e

    调用带有 -e 选项的 acctadm-e 选项会启用后跟的参数。

    basic

    说明仅会在文件中记录 flowacct 的八个基本属性的数据。

    /var/ipqos/goldweb/account.info

    指定用于包含 flowacct 所获流记录的文件的全限定路径名。

    flow

    指示 acctadm 启用流记帐。

  3. 通过键入不带参数的 acctadm,查看有关 IPQoS 系统上的流记帐的信息。

    acctadm 会生成以下输出:

    Task accounting: inactive
           Task accounting file: none
         Tracked task resources: none
       Untracked task resources: extended
             Process accounting: inactive
        Process accounting file: none
      Tracked process resources: none
    Untracked process resources: extended,host,mstate
                Flow accounting: active
           Flow accounting file: /var/ipqos/goldweb/account.info
         Tracked flow resources: basic
       Untracked flow resources: dsfield,ctime,lseen,projid,uid

    所有项(最后四个项除外)都可用于 Solaris 资源管理器功能。下表介绍了特定于 IPQoS 的项。

    项 

    说明 

    Flow accounting: active

    指示流记帐已打开。 

    Flow accounting file: /var/ipqos/goldweb/account.info

    指定当前流记帐文件的名称。 

    Tracked flow resources: basic

    指示仅跟踪基本流属性。 

    Untracked flow resources: dsfield,ctime,lseen,projid,uid

    列出文件中未被跟踪的 flowacct 属性。

  4. (可选)将扩展属性添加到记帐文件中。


    # acctadm -e extended -f /var/ipqos/goldweb/account.info flow
  5. (可选)返回,仅记录记帐文件中的基本属性。


    # acctadm -d extended -e basic -f /var/ipqos/goldweb/account.info

    -d 选项可禁用扩展记帐。

  6. 查看流记帐文件的内容。

    有关查看流记帐文件内容的说明,请参阅《系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones》中的“libexacct 的 Perl 接口”

另请参见

收集统计信息

可以使用 kstat 命令生成 IPQoS 模块的统计信息。使用以下语法:


/bin/kstat -m ipqos-module-name

可以指定任何有效的 IPQoS 模块名称,如表 37–5 中所示。例如,要查看由 dscpmk 标记器生成的统计信息,请使用以下形式的 kstat


/bin/kstat -m dscpmk

有关详细技术信息,请参阅 kstat(1M) 手册页。


示例 36–1 IPQoS 的 kstat 统计信息

以下是运行 kstat 以获取有关 flowacct 模块的统计信息的可能结果示例。


# kstat -m flowacct
module: flowacct                        instance: 3     
name:   Flowacct statistics             class:    flacct 
        bytes_in_tbl                    84
        crtime                          345728.504106363
        epackets                        0
        flows_in_tbl                    1
        nbytes                          84
        npackets                        1
        snaptime                        345774.031843301
        usedmem                         256
class: flacct

指定通信流量所属的类的名称,在本示例中为 flacct

bytes_in_tbl

流表中的总字节数。总字节数是指当前驻留在流表中的所有流记录的字节总和。此流表的总字节数为 84。如果没有流在表中,则 bytes_in_tbl 的值为 0。

crtime

上次创建此 kstat 输出的时间。

epackets

在处理过程中导致错误的包的数量,在本示例中为 0。

flows_in_tbl

流表中的流记录的数量,在本示例中为 1。该表中没有记录时,flows_in_tbl 的值为 0。

nbytes

flowacct 操作实例发现的总字节数,在本示例中为 84。该值包括流表中当前的字节,还包括已超时而不再在流表中的字节。

npackets

flowacct 操作实例发现的包的总数,在本示例中为 1。npackets 包括当前位于流表中的包。npackets 还包括已超时(不再位于流表中)的包。

usedmem

由此 flowacct 实例维护的流表所使用的内存(以字节为单位)。在本示例中,usedmem 值为 256。当流表没有任何流记录时,usedmem 的值为 0。