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 two-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.
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.
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:
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 27. 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.
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” ) #>
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 145 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 145: 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.
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:
- host1(config)#service-management service-session-profile
isp1_tiered3
- host1(config-service-session-profile)#statistics
volume-time
- host1(config-service-session-profile)#
- 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