# Configuring Service Manager Statistics

The Service Manager application provides a flexible and efficient process for identifying and capturing statistics related to subscriber service sessions. Configuring Service Manager to collect statistics is a three- part process. First, you design the service definition macro file to identify the statistics that you want to collect. Second, you configure Service Manager to enable statistics collection when a service session is activated by either RADIUS or the CLI. Third, before you reference a policy in the service definition macro to enable Service Manager collect statistics, you must enable statistics collection for this policy using the statistics enabled keyword in the command used for policy attachment in the profile.

The following section describes how to configure the service definition macro file. For information about configuring Service Manager to enable statistics, see Enabling Statistics Collection with RADIUS if you are using RADIUS to activate services, or see Enabling Statistics Collection with the CLI if you are using the CLI.

## Setting Up the Service Definition File for Statistics Collection

Service Manager statistics are based on classifier lists—the classifier lists are referenced by policy lists that you define in your service definition macro file.

When you configure your service definition for statistics, you include the macro environment command env.setResult to indicate the type of statistics to track and to identify the classifier lists to use when generating statistics. The format of the environment command is:

<# env.setResult(“string” , “classifier-list-name” ) #>

The string variable specifies the type of statistics to track—Service Manager supports the following strings:

- input-stat-clacl—track input statistics
- output-stat-clacl—track output statistics
- secondary-input-stat-clacl—track input statistics for a policy attached at the secondary input stage

The classifier-list-name variable is the name of the classifier list that is associated with the policy list that is defined in the service definition. You can specify multiple classifier lists in the command.

Example 1

This example is a portion of the service definition macro file in Figure 29. The two highlighted commands specify the statistics used by the Service Manager application.

profile <# name; '\n' #>
ip policy secondary-input <# name #> statistics enabled merge
ip policy output <# oname #> statistics enabled merge
qos-profile triplePlayIP
qos-parameter maxSubscBW <# outputBW; '\n' #>
<# env.setResult("activate-profile", name) #> <# env.setResult("secondary-input-stat-clacl", "matchAll") #> <# env.setResult("output-stat-clacl", "matchAll") #>
<# endtmpl #>

The <# env.setResult("secondary-input-stat-clacl", "matchAll") #> command specifies that Service Manager track statistics associated with the classifier list named matchAll, and that this classifier list is associated with the policy that is attached at the secondary input stage.

The <# env.setResult("output-stat-clacl", "matchAll") #> command specifies that Service Manager track the output statistics associated with the matchAll classifier list, which is associated with the policy attached at the output stage.

| Note: Before you reference as policy in the service definition macro to enable Service Manager collect statistics, you must enable statistics collection for this policy using the statistics enabled keyword in the command used for policy attachment in the profile.

Example 2

This example shows how you can also configure your service definition to collect total statistics from multiple classifier lists. The following command specifies that three classifier lists are used to generate output statistics for a service created by the service definition. Each time statistics are reported for this service, Service Manager uses the total of the statistics for clacl1, clacl2, and clacl3.

<# env.setResult("output-stat-clacl", "clacl1 clacl2 clacl3” ) #>

## Enabling Statistics Collection with RADIUS

You use the Service-Statistics RADIUS VSA [26-69] with either the RADIUS login or CoA-Request method to enable statistics for RADIUS-activated service sessions. To enable statistics, configure the Service-Statistics VSA with a value of either 1 (timestamp only) or 2 (volume and timestamp).

Table 150 describes a partial RADIUS message in which the Service-Statistics attribute has a value of 2—this enables volume and timestamp statistics for the tiered service assigned to subscriber client1@isp1.com.

Table 150: RADIUS-Enabled Statistics

RADIUS Attribute | Tag | Value
--- | --- | ---
username | none | client1@isp1.com
activate-service | 6 | tiered(1280000, 5120000)
service-statistics | 6 | 2

When you enable statistics for a RADIUS-activated service, RADIUS accounting reports can use the statistics.

## Enabling Statistics Collection with the CLI

You use service session profiles to enable statistics when you activate a service session with the CLI. See Using Service Session Profiles for detailed information about creating and using service session profiles.

For example, you can use the following procedure to capture statistics that are defined in the service definition macro file for the tiered service:

1. Configure the service session profile to enable statistics. Specify the type of statistics you want to capture (either time or both volume and time).
   host1(config)#service-management service-session-profile isp1_tiered3 host1(config-service-session-profile)#statistics volume-time host1(config-service-session-profile)#
2. Apply the service session when you activate the subscriber service session.
   host1(config)#service-management subscriber-session client1@isp1.com interface atm 4/0.1 service-session “ tiered(1000000, 2000000)” service-session-profile isp1_tiered3

The captured statistics are now used when you use the Service Manager show service-management commands. For example:

    host1# show service-management subscriber-session client1@isp1.com interface atm 4/0.1 service-session
    User Name: client1@isp1.com, Interface: atm 4/0.1
    Service : tiered(1000000,2000000)
     Non-volatile : False
     Owner : CLI
     State : Config ApplySuccess
     Activate : True
     Statistics Type : time-based and volume-based
     Statistics Complete : False
     Poll Interval : 0
     Poll Expire : 0
     Activate Time : THU MAR 01 21:09:12 2006
     Time : 0
     Time Expire : 0
     Volume MBytes: 2
     Volume Expire MBytes: 1
     Input Bytes : 594
     Output Bytes : 1196
     Input Packets : 1
     Output Packets : 2

## External Parent Group Statistics Collection Setup

Policies for interface groups include external parent groups that are implicitly instantiated during policy attachment based on each unique interface group encountered. You can use external parent groups and policy parameters for sharing aggregate nodes across policy attachments. Each external parent group reference in a policy is accompanied by a parameter that is resolved during the attachment of the policy to an interface.

You can retrieve either external parent group statistics or classifier statistics from policy manager. However, you cannot retrieve both statistics for a single service definition. When a combined service is configured, you cannot retrieve classifier list-based based statistics. In such a scenario, you can only retrieve external parent group-based statistics from policy manager.

Only hierarchical policy parameters can have external parent group references. Each parameter has a single value, depending on the type of parameter. The hierarchical policy parameter can have a single numeric value or a keyword. When you configure your service definition for statistics, you include the macro environment command env.setResult to indicate the type of statistics to track and to identify the external parent groups to use when generating statistics. The format of the environment command is:

<# env.setResult("string" , "external-parent-grp-name policy-parameter-name") #>

The string variable specifies the type of statistics to track. Service Manager supports the following strings:

- input-stat-epg—Track input statistics for an external parent group in a hierarchical policy
- output-stat-epg—Track output statistics for an external parent group in a hierarchical policy
- secondary-input-stat-epg—Track input statistics for an external parent group in a hierarchical policy attached at the secondary input stage

The external-parent-grp-name variable is the name of the external parent group that a classifier group refers to in the policy list that is defined in the service definition. You must specify the external parent group and the hierarchical policy in the env.setResult command as a pair. You can specify multiple pairs of external parent groups and hierarchical policies in the command. The policy-parameter-name variable is the name of the hierarchical policy that allows classifier groups and parent groups within a policy to point to line module global parent groups. Each reference to a policy parameter in a policy is substituted with its value for all attachments of this policy at the interface.

For example, if v4v6 is the name of the hierarchical policy parameter and the external parent group names are vc-v4v6-in and vc-v4v6-out, you must configure both the external parent group names and the corresponding hierarchical policy parameter in the env.setResult method for the external parent group statistics to be calculated.

<# env.setResult("input-stat-epg", "vc-v4v6-in v4v6" ) #> <# env.setResult("output-stat-epg", "vc-v4v6-out v4v6" ) #>

The <# env.setResult("secondary-input-stat-epg", "vc-v4v6-in v4v6") #> command specifies that Service Manager track statistics associated with the external parent group named vc-v4v6-in and the corresponding hierarchical policy named v4v6, and that this external parent group is associated with the policy that is attached at the input stage.

The <# env.setResult("output-stat-epg", "vc-v4v6-out v4v6") #> command specifies that Service Manager track the output statistics associated with the external parent group named vc-v4v6-out and the corresponding hierarchical policy named v4v6, which is associated with the policy attached at the output stage.

The input and output statistics associated with the external parent group are collected and forwarded to the Service Manager to be displayed in the Acct-Stop and Interim-Acct messages.