Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / APM-MIB
1 APM-MIB DEFINITIONS ::= BEGIN
2 IMPORTS
3     MODULE-IDENTITY, OBJECT-TYPE,
4     NOTIFICATION-TYPE,
5     Counter32, Unsigned32                        FROM SNMPv2-SMI
6     TEXTUAL-CONVENTION, RowStatus, TimeStamp,
7     TimeInterval, TruthValue, DateAndTime,
8     StorageType                                  FROM SNMPv2-TC
9     MODULE-COMPLIANCE, OBJECT-GROUP,
10     NOTIFICATION-GROUP                           FROM SNMPv2-CONF
11     SnmpAdminString                              FROM SNMP-FRAMEWORK-MIB
12     rmon, OwnerString                            FROM RMON-MIB
13     protocolDirLocalIndex                        FROM RMON2-MIB;
14
15 --  Application Performance Measurement MIB
16
17 apm MODULE-IDENTITY
18     LAST-UPDATED "200402190000Z"  -- February 19, 2004
19     ORGANIZATION "IETF RMON MIB Working Group"
20     CONTACT-INFO
21         "Author:
22                      Steve Waldbusser
23
24
25
26              Phone:  +1-650-948-6500
27              Fax :   +1-650-745-0671
28              Email:  waldbusser@nextbeacon.com
29
30          Working Group Chair:
31                      Andy Bierman
32                      Cisco Systems, Inc.
33              Postal: 170 West Tasman Drive
34                      San Jose, CA USA 95134
35                 Tel: +1 408 527-3711
36              E-mail: abierman@cisco.com
37
38          Working Group Mailing List: <rmonmib@ietf.org>
39          To subscribe send email to: <rmonmib-request@ietf.org>
40         "
41     DESCRIPTION
42         "The MIB module for measuring application performance
43         as experienced by end-users.
44
45         Copyright (C) The Internet Society (2004). This version of
46         this MIB module is part of RFC 3729; see the RFC itself for
47         full legal notices."
48
49     REVISION "200402190000Z"    -- February 19, 2004
50     DESCRIPTION
51         "The original version of this MIB Module, published as
52         RFC3729."
53
54     ::= { rmon 23 }
55
56 apmMibObjects OBJECT IDENTIFIER ::= { apm 1 }
57 apmConformance OBJECT IDENTIFIER ::= { apm 2 }
58 apmCompliances    OBJECT IDENTIFIER ::= { apmConformance 1 }
59 apmGroups         OBJECT IDENTIFIER ::= { apmConformance 2 }
60
61
62 AppLocalIndex ::= TEXTUAL-CONVENTION
63     STATUS       current
64     DESCRIPTION
65         "A locally arbitrary unique identifier associated with an
66         application or application verb.
67
68         All objects of type AppLocalIndex are assigned by the agent
69         out of a common number space. In other words, AppLocalIndex
70         values assigned to entries in one table must not overlap with
71         AppLocalIndex values assigned to entries in another
72         table. Further, every protocolDirLocalIndex value registered
73         by the agent automatically assigns the same value out of the
74
75
76
77         AppLocalIndex number space.
78
79         For example, if the protocolDirLocalIndex values { 1, 3, 5, 7 }
80         have been assigned, and the apmHttpFilterAppLocalIndex values
81         { 6, 8, 9 } have been assigned:
82
83             - Assignment of new AppLocalIndex values must not use the
84               values { 1, 3, 5, 6, 7, 8, 9 }.
85             - AppLocalIndex values { 1, 3, 5, 7 } are automatically
86               assigned and are associated with the identical value of
87               protocolDirLocalIndex. In particular, an entry in the
88               apmAppDirTable indexed by a value provides further
89               information about a protocol indexed by the same value
90               in the protocolDirTable of RMON2.
91
92         The value for each supported application must remain constant
93         at least from one re-initialization of the entity's network
94         management system to the next re-initialization, except that
95         if an application is deleted and re-created, it must be
96         re-created with a new value that has not been used since the
97         last re-initialization.
98
99         The specific value is meaningful only within a given SNMP
100         entity. An AppLocalIndex value must not be re-used until the
101         next agent restart."
102     SYNTAX       Unsigned32 (1..2147483647)
103
104 ProtocolDirNetworkAddress ::= TEXTUAL-CONVENTION
105     STATUS       current
106     DESCRIPTION
107         "A network level address whose semantics and encoding are
108         specified by an associated protocolDirLocalIndex
109         value. Objects of this type must specify which
110         protocolDirLocalIndex value is used. This value is encoded
111         according to the encoding rules for the identified
112         protocolDirectory entry.
113
114         For example, if the associated protocolDirLocalIndex indicates
115         an encapsulation of ip, this object is encoded as a length
116         octet of 4, followed by the 4 octets of the ip address,
117         in network byte order.
118
119         Objects of this type may allow this value to be the zero
120         length string. If so, they must identify they meaning of this
121         value."
122     SYNTAX        OCTET STRING (SIZE(0..255))
123
124 DataSourceOrZero ::= TEXTUAL-CONVENTION
125
126
127
128     STATUS       current
129     DESCRIPTION
130         "Identifies the source of the data that the associated
131         function is configured to analyze. This source can be any
132         interface on this device.
133
134         In order to identify a particular interface, this
135         object shall identify the instance of the ifIndex
136         object, defined in [4], for the desired interface.
137
138         For example, if an entry were to receive data from
139         interface #1, this object would be set to ifIndex.1.
140
141         If the source of the data isn't an interface or cannot be
142         localized to an interface, this object would be set to 0.0"
143
144     REFERENCE    "The DataSource textual convention is defined in
145                  RFC 2021 [5]."
146     SYNTAX       OBJECT IDENTIFIER
147
148 RmonClientID ::= TEXTUAL-CONVENTION
149     STATUS      current
150     DESCRIPTION
151          "A long-lived unique ID assigned to an end-system. This ID is
152          assigned by the agent using an implementation-specific
153          algorithm.
154
155          Because a client machine may be assigned multiple addresses
156          over any time period it can be difficult to attribute
157          behavior to a particular client based solely on its
158          address. A ClientID may be assigned to provide a more
159          stable handle for referencing that client. The entity that
160          assigns the ClientID may use various implementation
161          techniques to keep track of a client but if the assigning
162          entity is unable to track client address mappings, it may map
163          client identifiers to client addresses rather than to
164          distinct client machines.
165
166          This is named ClientID because it helps to solve a problem
167          seen in network clients (servers usually have well-known,
168          long-lived addresses). However, ClientID's may be assigned to
169          any end-system regardless of its role on the network."
170     SYNTAX      Unsigned32 (0..4294967295)
171
172
173 TransactionAggregationType ::= TEXTUAL-CONVENTION
174     STATUS      current
175     DESCRIPTION
176
177
178
179         "Specifies one of 4 different techniques for aggregating
180         transactions.
181
182         The metrics for a single transaction are the responsiveness of
183         the transaction and whether the transaction succeeded (a
184         boolean). When such metrics are aggregated in this MIB Module,
185         these metrics are replaced by averages and distributions of
186         responsiveness and availability. The metrics describing
187         aggregates are constant no matter which type of aggregation is
188         being performed. These metrics may be found in the
189         apmReportTable.
190
191         The flows(1) aggregation is the simplest. All transactions
192         that share common application/server/client 3-tuples are
193         aggregated together, resulting in a set of metrics for all
194         such unique 3-tuples.
195
196         The clients(2) aggregation results in somewhat more
197         aggregation (i.e., fewer resulting records). All transactions
198         that share common application/client tuples are aggregated
199         together, resulting in a set of metrics for all such unique
200         tuples.
201
202         The servers(3) aggregation usually results in still more
203         aggregation (i.e., fewer resulting records). All transactions
204         that share common application/server tuples are aggregated
205         together, resulting in a set of metrics for all such unique
206         tuples.
207
208         The applications(4) aggregation results in the most
209         aggregation (i.e., the fewest resulting records). All
210         transactions that share a common application are aggregated
211         together, resulting in a set of metrics for all such unique
212         applications.
213
214         Note that it is not meaningful to aggregate applications, as
215         different applications have widely varying characteristics. As a
216         result, this set of aggregations is complete."
217     SYNTAX      INTEGER {
218                   flows(1),    -- Least Aggregation
219                   clients(2),
220                   servers(3),
221                   applications(4) -- Most Aggregation
222                 }
223
224 -- The APM Application Directory Group
225
226 -- The Application Directory Table contains a record for every
227
228
229
230 -- application monitored by this agent. This table is also used to
231 -- configure whether or not an application will be measured and which
232 -- bucket boundaries will be used for the application.
233 --
234 -- The bucket boundaries define the break-points between bins of a
235 -- histogram analysis for that application. As an example of how this
236 -- works, consider an entry representing response-time for http.
237 -- If the boundaries are set as follows:
238 -- Boundary1: 500 milliseconds
239 -- Boundary2: 1 second
240 -- Boundary3: 2 seconds
241 -- Boundary4: 5
242 -- Boundary5: 15
243 -- Boundary6: 60
244 --
245 -- If the following measurements are made (all in milliseconds):
246 -- 377, 8645, 1300, 487, 1405, 775, 1115, 850, 945, 1054, 7745, 9380
247 --
248 -- A report run during this interval would report the following
249 -- counts:
250 -- Bucket1: 2
251 -- Bucket2: 3
252 -- Bucket3: 4
253 -- Bucket4: 0
254 -- Bucket5: 3
255 -- Bucket6: 0
256 -- Bucket7: 0
257
258 apmAppDirTable OBJECT-TYPE
259     SYNTAX      SEQUENCE OF ApmAppDirEntry
260     MAX-ACCESS  not-accessible
261     STATUS      current
262     DESCRIPTION
263         "The APM MIB directory of applications and application
264         verbs. The agent will populate this table with all
265         applications/verbs of any responsivenessType it has the
266         capability to monitor. Since the agent populates this table
267         with every entry it has the capability to monitor, the
268         entries in this table are read-write, allowing the management
269         station to modify parameters in this table but not to add new
270         entries or delete entries (however, entries may be
271         disabled). If new entries are added to the apmHttpFilterTable
272         or the apmUserDefinedAppTable, the agent will add the
273         corresponding entries to this table.
274
275         It is an implementation-dependent matter as to how the agent
276         sets these default parameters. For example, it may leave
277         certain entries in this table 'off(0)' if the agent developer
278
279
280
281         believes that combination will be infrequently used, allowing
282         a manager that needs that capability to set it to 'on(1)'.
283
284         Some applications are registered in the RMON2 protocol
285         directory and some are registered in other tables in this
286         MIB Module. Regardless of where an application is originally
287         registered, it is assigned an AppLocalIndex value that is the
288         primary index for this table.
289
290         The contents of this table affect all reports and exceptions
291         generated by this agent. Accordingly, modification of this
292         table should be performed by a manager acting in the role of
293         administrator. In particular, management software should not
294         require or enforce particular configuration of this table - it
295         should reflect the preferences of the site administrator, not
296         the software author. As a practical matter, this requires
297         management software to allow the administrator to configure
298         the values it will use so that it can be adapted to the site
299         policy."
300     ::= { apmMibObjects 1 }
301
302 apmAppDirEntry OBJECT-TYPE
303     SYNTAX      ApmAppDirEntry
304     MAX-ACCESS  not-accessible
305     STATUS      current
306     DESCRIPTION
307         "The APM MIB directory of applications and application
308         verbs. An entry will exist in this table for all applications
309         for which application performance measurement is supported."
310     INDEX { apmAppDirAppLocalIndex,
311             apmAppDirResponsivenessType }
312     ::= { apmAppDirTable 1 }
313
314 ApmAppDirEntry ::= SEQUENCE {
315     apmAppDirAppLocalIndex            AppLocalIndex,
316     apmAppDirResponsivenessType       INTEGER,
317     apmAppDirConfig                   INTEGER,
318     apmAppDirResponsivenessBoundary1  Unsigned32,
319     apmAppDirResponsivenessBoundary2  Unsigned32,
320     apmAppDirResponsivenessBoundary3  Unsigned32,
321     apmAppDirResponsivenessBoundary4  Unsigned32,
322     apmAppDirResponsivenessBoundary5  Unsigned32,
323     apmAppDirResponsivenessBoundary6  Unsigned32
324 }
325
326 apmAppDirAppLocalIndex OBJECT-TYPE
327     SYNTAX      AppLocalIndex
328     MAX-ACCESS  not-accessible
329
330
331
332     STATUS      current
333     DESCRIPTION
334         "The AppLocalIndex assigned for this application Directory
335         entry."
336     ::= { apmAppDirEntry 1 }
337
338 apmAppDirResponsivenessType OBJECT-TYPE
339     SYNTAX      INTEGER {
340                   transactionOriented(1),
341                   throughputOriented(2),
342                   streamingOriented(3)
343                 }
344     MAX-ACCESS  not-accessible
345     STATUS      current
346     DESCRIPTION
347         "This object describes and configures the agent's support for
348         application performance measurement for this application.
349         There are 3 types of measurements for different types of
350         applications:
351
352         Transaction-Oriented applications have a fairly constant
353         workload to perform for all transactions. The responsiveness
354         metric for transaction-oriented applications is application
355         response time (from first request to final delivery of
356         service) and is measured in milliseconds. This is
357         commonly referred to as end-user response time.
358
359         Throughput-Oriented applications have widely varying workloads
360         based on the nature of the client request. In particular,
361         throughput-oriented applications vary widely in the amount of
362         data that must be transported to satisfy the request. The
363         responsiveness metric for throughput-oriented applications is
364         kilobits per second.
365
366         Streaming-Oriented applications deliver data at a constant
367         metered rate of speed regardless of the responsiveness of the
368         networking and computing infrastructure. This constant rate of
369         speed is generally specified to be below (sometimes well
370         below) the nominal capability of the infrastructure. However,
371         when the infrastructures cannot deliver data at this speed,
372         interruption of service or degradation of service can
373         result. The responsiveness metric for streaming-oriented
374         applications is the ratio of time that the service is degraded
375         or interrupted to the total service time. This metric is
376         measured in parts per million.
377
378         Note that for some applications, measuring more than one
379         responsiveness type may be interesting. For agents that wish
380
381
382
383         to support more than one measurement for a application, they
384         will populate this table with multiple entries for that
385         application, one for each type."
386     ::= { apmAppDirEntry 2 }
387
388 apmAppDirConfig OBJECT-TYPE
389     SYNTAX      INTEGER {
390                   off(1),
391                   on(2)
392                 }
393     MAX-ACCESS  read-write
394     STATUS      current
395     DESCRIPTION
396         "This object describes and configures support for application
397         performance measurement for this application.
398
399         If the value of this object is on(2), the agent supports
400         measurement of application performance metrics for this
401         application and is configured to measure such metrics for all
402         APM MIB functions and all interfaces.  If the value of this
403         object is off(1), the agent supports measurement of
404         application performance for this application but is configured
405         to not measure these metrics for any APM MIB functions or
406         interfaces.  Whenever this value changes from on(2) to off(1),
407         the agent shall delete all related entries in all tables in
408         this MIB Module.
409
410         The value of this object must persist across reboots."
411     ::= { apmAppDirEntry 3 }
412
413 apmAppDirResponsivenessBoundary1 OBJECT-TYPE
414     SYNTAX      Unsigned32
415     MAX-ACCESS  read-write
416     STATUS      current
417     DESCRIPTION
418         "The boundary value between bucket1 and bucket 2. If this
419         value is modified, all entries in the apmReportTable must be
420         deleted by the agent.
421
422         The value of this object must persist across reboots."
423     ::= { apmAppDirEntry 4 }
424
425 apmAppDirResponsivenessBoundary2 OBJECT-TYPE
426     SYNTAX      Unsigned32
427     MAX-ACCESS  read-write
428     STATUS      current
429     DESCRIPTION
430         "The boundary value between bucket2 and bucket 3. If this
431
432
433
434         value is modified, all entries in the apmReportTable must be
435         deleted by the agent.
436
437         The value of this object must persist across reboots."
438     ::= { apmAppDirEntry 5 }
439
440 apmAppDirResponsivenessBoundary3 OBJECT-TYPE
441     SYNTAX      Unsigned32
442     MAX-ACCESS  read-write
443     STATUS      current
444     DESCRIPTION
445         "The boundary value between bucket3 and bucket 4. If this
446         value is modified, all entries in the apmReportTable must be
447         deleted by the agent.
448
449         The value of this object must persist across reboots."
450     ::= { apmAppDirEntry 6 }
451
452 apmAppDirResponsivenessBoundary4 OBJECT-TYPE
453     SYNTAX      Unsigned32
454     MAX-ACCESS  read-write
455     STATUS      current
456     DESCRIPTION
457         "The boundary value between bucket4 and bucket 5. If this
458         value is modified, all entries in the apmReportTable must be
459         deleted by the agent.
460
461         The value of this object must persist across reboots."
462     ::= { apmAppDirEntry 7 }
463
464 apmAppDirResponsivenessBoundary5 OBJECT-TYPE
465     SYNTAX      Unsigned32
466     MAX-ACCESS  read-write
467     STATUS      current
468     DESCRIPTION
469         "The boundary value between bucket5 and bucket 6. If this
470         value is modified, all entries in the apmReportTable must be
471         deleted by the agent.
472
473         The value of this object must persist across reboots."
474     ::= { apmAppDirEntry 8 }
475
476 apmAppDirResponsivenessBoundary6 OBJECT-TYPE
477     SYNTAX      Unsigned32
478     MAX-ACCESS  read-write
479     STATUS      current
480     DESCRIPTION
481         "The boundary value between bucket6 and bucket 7. If this
482
483
484
485         value is modified, all entries in the apmReportTable must be
486         deleted by the agent.
487
488         The value of this object must persist across reboots."
489     ::= { apmAppDirEntry 9 }
490
491 -- Scalars related to the Application Directory table
492
493 apmBucketBoundaryLastChange OBJECT-TYPE
494     SYNTAX     TimeStamp
495     MAX-ACCESS read-only
496     STATUS     current
497     DESCRIPTION
498         "The value of sysUpTime the last time that any bucket boundary
499         in any appDirEntry was changed. This object can help to
500         determine if two managers are both trying to enforce different
501         configurations of this table."
502     ::= { apmMibObjects 2 }
503
504 apmAppDirID OBJECT-TYPE
505     SYNTAX     OBJECT IDENTIFIER
506     MAX-ACCESS read-write
507     STATUS     current
508     DESCRIPTION
509         "This object allows managers to avoid downloading application
510         directory information when the directory is set to a known
511         (usually fixed) configuration.
512
513         If the value of this object isn't 0.0, it signifies
514         that the entire contents of the apmAppDirTable,
515         apmHttpFilterTable, apmUserDefinedAppTable and
516         protocolDirTable are equal to a known state identified
517         by the value of this object. If a manager recognizes this
518         value as identifying a directory configuration it has a local
519         copy of, it may use this local copy rather than downloading
520         these tables. Note that it may have downloaded this local copy
521         (and the ID) from another agent and used this copy for all
522         other agents that advertised the same ID.
523
524         If an agent recognizes that the entire contents of the
525         apmAppDirTable, apmHttpFilterTable,
526         apmUserDefinedAppTable and protocolDirTable are equal to
527         a known state to which an ID has been assigned, it should set
528         this object to that ID.
529
530         In many cases when this feature is used, the application
531         directory information will be in read-only memory and thus the
532         tables may not be modified via SNMP requests. In the event
533
534
535
536         that the tables are writable and a modification is made, the
537         agent is responsible for setting this object to 0.0 if it
538         cannot determine that the state is equal to a known state.
539
540         An agent is not obligated to recognize and advertise all such
541         registered states as it may not have knowledge of all states.
542         Thus, a manager may encounter agents whose DirectoryID value
543         is 0.0 even though the contents of the directory were equal to
544         a registered state.
545
546         Note that the contents of those tables includes the
547         protocolDirLocalIndex and appLocalIndex values. In other
548         words, these values can't be assigned randomly on each agent,
549         but must be equal to values that are part of the known
550         state. While it is possible for a manager to download
551         application directory details using SNMP and to set the
552         appropriate directoryID, the manager would need to have some
553         scheme to ensure consistent values of LocalIndex variables
554         from agent to agent. Such schemes are outside the scope of
555         this specification.
556
557         Application directory registrations are unique within an
558         administrative domain.
559
560         Typically these registrations will be made by an agent
561         software developer who will set the application directory
562         tables to a read-only state and assign a DirectoryID to that
563         state. Thus, all agents running this software would share the
564         same DirectoryID. As the application directory might change
565         from one software release to the next, the developer may
566         register different DirectoryID's for each software release.
567
568         A customer could also create a site-wide application directory
569         configuration and assign a DirectoryID to that configuration
570         as long as consistent values of LocalIndex variables can be
571         ensured.
572
573         The value of this object must persist across reboots."
574      ::= { apmMibObjects 3 }
575
576 -- APM HTTP Filter Table
577
578 -- The HTTP Filter Table creates virtual applications which measure the
579 -- performance of certain web pages  or sets of web pages. Some
580 -- circumstances where this is particularly useful are:
581 --
582 --      - An Intranet or ASP scenario where a business application is
583 --        running on one or more web pages or scripts.
584
585
586
587 --        (i.e., /expense/submit.cgi?employeeID=3426&...)
588 --      - A web-hosting scenario where one wants to measure the
589 --        service level for a particular customer
590 --      - An e-commerce scenario where the performance of certain
591 --        pages needs to be monitored more closely.
592 --        (i.e., shopping cart, shipping, credit card authorization)
593
594 apmHttpFilterTable OBJECT-TYPE
595     SYNTAX      SEQUENCE OF ApmHttpFilterEntry
596     MAX-ACCESS  not-accessible
597     STATUS      current
598     DESCRIPTION
599         "A table that creates virtual applications which measure the
600         performance of certain web pages or sets of web pages.
601
602         When an entry is added to this table, the agent will
603         automatically create one or more entries in the
604         apmAppDirTable (one for each responsivenessType it is
605         capable of measuring).
606
607         Note that when entries exist in this table some HTTP
608         transactions will be summarized twice: in applications
609         represented here as well as the HTTP application. If entries
610         in this table overlap, these transactions may be summarized
611         additional times.
612
613         The contents of this table affect all reports and exceptions
614         generated by this agent. Accordingly, modification of this
615         table should be performed by a manager acting in the role of
616         administrator. In particular, management software should not
617         require or enforce particular configuration of this table - it
618         should reflect the preferences of the site administrator, not
619         the software author."
620     ::= { apmMibObjects 4 }
621
622 apmHttpFilterEntry OBJECT-TYPE
623     SYNTAX      ApmHttpFilterEntry
624     MAX-ACCESS  not-accessible
625     STATUS      current
626     DESCRIPTION
627         "A virtual application which measure the performance of certain
628         web pages or sets of web pages."
629     INDEX { apmHttpFilterIndex }
630     ::= { apmHttpFilterTable 1 }
631
632 ApmHttpFilterEntry ::= SEQUENCE {
633     apmHttpFilterIndex              Unsigned32,
634     apmHttpFilterAppLocalIndex      AppLocalIndex,
635
636
637
638     apmHttpFilterServerProtocol     Unsigned32,
639     apmHttpFilterServerAddress      ProtocolDirNetworkAddress,
640     apmHttpFilterURLPath            OCTET STRING,
641     apmHttpFilterMatchType          INTEGER,
642     apmHttpFilterOwner              OwnerString,
643     apmHttpFilterStorageType        StorageType,
644     apmHttpFilterRowStatus          RowStatus
645 }
646
647 apmHttpFilterIndex OBJECT-TYPE
648     SYNTAX      Unsigned32 (0..65535)
649     MAX-ACCESS  not-accessible
650     STATUS      current
651     DESCRIPTION
652         "An index that uniquely identifies an entry in the
653         apmHttpFilterTable."
654     ::= { apmHttpFilterEntry 1 }
655
656 apmHttpFilterAppLocalIndex OBJECT-TYPE
657     SYNTAX      AppLocalIndex
658     MAX-ACCESS  read-only
659     STATUS      current
660     DESCRIPTION
661         "The AppLocalIndex that represents HTTP transactions
662         that match this entry.
663
664         This object is read-only. A value is created by the agent from
665         an unused AppLocalIndex value when this apmHttpFilterEntry is
666         created."
667     ::= { apmHttpFilterEntry 2 }
668
669 apmHttpFilterServerProtocol OBJECT-TYPE
670     SYNTAX      Unsigned32 (1..2147483647)
671     MAX-ACCESS  read-create
672     STATUS      current
673     DESCRIPTION
674         "The protocolDirLocalIndex value of the network level protocol
675         of the apmHttpFilterServerAddress."
676     ::= { apmHttpFilterEntry 3 }
677
678 apmHttpFilterServerAddress OBJECT-TYPE
679     SYNTAX      ProtocolDirNetworkAddress
680     MAX-ACCESS  read-create
681     STATUS      current
682     DESCRIPTION
683         "This entry will only represent transactions coming from the
684         network address specified in this object.
685
686
687
688
689         This is represented as an octet string with
690         specific semantics and length as identified
691         by the associated apmHttpFilterServerProtocol object.
692
693         If this object is the zero-length string, then this entry will
694         match one of the addresses represented by the 'host' component
695         of the associated apmHttpFilterURLPath object, where the
696         format if a URL [9] is
697         http://<host>:<port>/<path>?<searchpart>."
698     ::= { apmHttpFilterEntry 4 }
699
700 apmHttpFilterURLPath OBJECT-TYPE
701     SYNTAX      OCTET STRING (SIZE(0..65535))
702     MAX-ACCESS  read-create
703     STATUS      current
704     DESCRIPTION
705         "This entry will only represent HTTP transactions
706         where the URL path component in the request matches this
707         value. This value represents the requested path regardless of
708         any substitution that the server might perform.
709
710         Prior to the matching, the URL is stripped of any server
711         address or DNS name and consists solely of the path name on
712         that server.
713
714         If the length of this object is zero, then this entry will
715         match if the associated apmHttpFilterServerAddress match. If
716         the length of that object is also zero, then this entry will
717         match nothing.
718
719         The value of the associated apmHttpFilterMatchType dictates
720         the type of matching that will be attempted."
721     ::= { apmHttpFilterEntry 5 }
722
723 apmHttpFilterMatchType OBJECT-TYPE
724     SYNTAX      INTEGER {
725                     exact(1),
726                     stripTrailingSlash(2),
727                     prefix(3)
728                 }
729     MAX-ACCESS  read-create
730     STATUS      current
731     DESCRIPTION
732         "The matching algorithm used to compare the URL pathname.
733
734         If the value is exact(1), then the pathname component will be
735         compared with the associated apmHttpFilterURLPath and
736         will only be associated with this entry if it matches exactly.
737
738
739
740         If the value is stripTrailingSlash(2), then the pathname
741         component will be compared with the associated
742         apmHttpFilterURLPath and will only be associated with this
743         entry if it matches exactly or if the pathname ends with a '/'
744         symbol and matches apmHttpFilterURLPath if the '/' symbol is
745         removed from the pathname. This option exists for those paths
746         where an optional trailing slash is possible but for which a
747         prefix match would be too broad.
748
749         If the value is prefix(3), then the pathname component will be
750         compared with the associated apmHttpFilterURLPath and will
751         only be associated with this entry if the beginning of the
752         pathname matches every octet of this value. Octets that extend
753         beyond the length of this value are ignored."
754     ::= { apmHttpFilterEntry 6 }
755
756 apmHttpFilterOwner OBJECT-TYPE
757     SYNTAX      OwnerString
758     MAX-ACCESS  read-create
759     STATUS      current
760     DESCRIPTION
761         "The entity that configured this entry and is
762         therefore using the resources assigned to it."
763     ::= { apmHttpFilterEntry 7 }
764
765 apmHttpFilterStorageType OBJECT-TYPE
766     SYNTAX      StorageType
767     MAX-ACCESS  read-create
768     STATUS      current
769     DESCRIPTION
770         "The storage type of this apmHttpFilterEntry. If the value of
771         this object is 'permanent', no objects in this row need to be
772         writable."
773     ::= { apmHttpFilterEntry 8 }
774
775 apmHttpFilterRowStatus OBJECT-TYPE
776     SYNTAX      RowStatus
777     MAX-ACCESS  read-create
778     STATUS      current
779     DESCRIPTION
780         "The status of this apmHttpFilterEntry. No objects in this row
781         may be modified while the row's status is 'active'."
782     ::= { apmHttpFilterEntry 9 }
783
784 apmHttpIgnoreUnregisteredURLs OBJECT-TYPE
785     SYNTAX      TruthValue
786     MAX-ACCESS  read-write
787     STATUS      current
788
789
790
791     DESCRIPTION
792         "When true, APM measurements of HTTP transactions will only
793         measure transactions relating to URLs that match a filter in
794         the apmHttpFilterTable. Thus, measurements for the HTTP
795         application will present aggregated statistics for
796         URL-matching HTTP transactions and measurements for the HTTP
797         GET application verb will present aggregated statistics for
798         URL-matching HTTP GET transactions.
799
800         This will be used in environments that wish to monitor only
801         targeted URLs and to ignore large volumes of internet web
802         browsing traffic.
803
804         This object affects all APM reports and exceptions generated
805         by this agent. Accordingly, modification of this object should
806         be performed by a manager acting in the role of
807         administrator. In particular, management software should not
808         require or enforce particular configuration of this object -
809         it should reflect the preferences of the site administrator,
810         not the software author.
811
812         The value of this object must persist across reboots."
813     ::= { apmMibObjects 5 }
814
815 apmHttp4xxIsFailure OBJECT-TYPE
816     SYNTAX      TruthValue
817     MAX-ACCESS  read-write
818     STATUS      current
819     DESCRIPTION
820         "When true, this agent will recognize HTTP errors in the range
821         of 400 through 499 and will treat them as unavailable
822         transactions. When false or when this object isn't supported,
823         they will be treated as successful transactions.
824
825         This object allows such error pages to be tracked at the
826         possible expense of having user typos treated as poor service
827         on the part of the web server.
828
829         This object affects all reports and exceptions generated by
830         this agent. Accordingly, modification of this object should be
831         performed by a manager acting in the role of administrator. In
832         particular, management software should not require or enforce
833         particular configuration of this object - it should reflect
834         the preferences of the site administrator, not the software
835         author.
836
837         The value of this object must persist across reboots."
838     ::= { apmMibObjects 6 }
839
840
841
842 -- The APM User-Defined Application Table
843
844 -- Many application protocols will never be registered with a
845 -- standards body (and thus included in a protocol directory standard)
846 -- because they are custom, in-house or proprietary
847 -- applications. Nevertheless, implementation strategies exist for
848 -- monitoring the end-user experience of these applications.
849 --
850 -- This read-only table provides a means for the agent to advertise
851 -- which user-defined applications it is monitoring and to associate
852 -- each with an AppLocalIndex value. It is an implementation-dependent
853 -- matter as to how the agent learns how to monitor these
854 -- applications.
855
856 apmUserDefinedAppTable OBJECT-TYPE
857     SYNTAX      SEQUENCE OF ApmUserDefinedAppEntry
858     MAX-ACCESS  not-accessible
859     STATUS      current
860     DESCRIPTION
861         "A table that advertises user-defined applications that the
862         agent is measuring.
863
864         The agent will automatically create one or more entries in the
865         apmAppDirTable (one for each responsivenessType it is
866         capable of measuring) for each entry in this table.
867
868         Note that when entries exist in this table some
869         transactions can be summarized more than once if there is
870         overlap between applications defined here and applications
871         defined in the protocol directory or in the httpFilter table."
872     ::= { apmMibObjects 7 }
873
874 apmUserDefinedAppEntry OBJECT-TYPE
875     SYNTAX      ApmUserDefinedAppEntry
876     MAX-ACCESS  not-accessible
877     STATUS      current
878     DESCRIPTION
879         "A user-defined application that the agent is measuring, along
880         with its AppLocalIndex assignment.
881
882         The apmAppDirAppLocalIndex value in the index identifies
883         the agent-assigned AppLocalIndex value for this user-defined
884         application."
885     INDEX { apmAppDirAppLocalIndex }
886     ::= { apmUserDefinedAppTable 1 }
887
888 ApmUserDefinedAppEntry ::= SEQUENCE {
889     apmUserDefinedAppParentIndex    Unsigned32,
890
891
892
893     apmUserDefinedAppApplication    SnmpAdminString
894 }
895
896 apmUserDefinedAppParentIndex OBJECT-TYPE
897     SYNTAX      Unsigned32 (1..2147483647)
898     MAX-ACCESS  read-only
899     STATUS      current
900     DESCRIPTION
901         "The protocolDirLocalIndex value of the highest-layer
902         protocol defined in the protocolDirTable that this
903         application is a child of."
904     ::= { apmUserDefinedAppEntry 1 }
905
906 apmUserDefinedAppApplication OBJECT-TYPE
907     SYNTAX      SnmpAdminString
908     MAX-ACCESS  read-only
909     STATUS      current
910     DESCRIPTION
911         "A human readable descriptive tag for this application."
912     ::= { apmUserDefinedAppEntry 2 }
913
914 -- The APM Name Table
915
916 apmNameTable OBJECT-TYPE
917     SYNTAX      SEQUENCE OF ApmNameEntry
918     MAX-ACCESS  not-accessible
919     STATUS      current
920     DESCRIPTION
921         "A client machine may have multiple addresses during a period
922         of monitoring. The apmNameTable assigns a long-lived
923         identifier to a client and records what addresses were
924         assigned to that client for periods of time. Various
925         implementation techniques exist for tracking this mapping but
926         if an agent is unable to track client address mappings, it may
927         map client identifiers to client addresses rather than to
928         distinct client machines.
929
930         A particular apmNameClientID should be a constant attribute of
931         a particular client. When available, the agent may also record
932         the machine name and/or user name which may be valuable for
933         displaying to humans. The apmNameMachineName and
934         apmNameUserName are relatively constant, changing only if
935         these attributes actually change on the client.
936
937         The agent will store a historical log of these entries, aging
938         out old entries as the log becomes too large. Since this table
939         contains information vital to the interpretation of other
940         tables (e.g., the apmReportTable), the agent should ensure that
941
942
943
944         the log doesn't age out entries that would be referenced by
945         data in those tables.
946
947         Note that an entry for a clientID is active from its
948         StartTime until the StartTime of another entry (for the same
949         clientID) that supersedes it, or 'now' if none supersede
950         it. Therefore, if a clientID only has a single entry, it is by
951         definition very new and should never be aged out. No entry for
952         a clientID should be aged out unless it has been updated by a
953         new entry for the client (i.e., with an updated address) and
954         only if the new entry is 'old' enough.
955
956         To determine how old is old enough, compute the maximum value
957         of Interval * (NumReports + 1) of all entries in the
958         apmReportControlTable (the '+ 1' is to allow a reasonable
959         period of time for the report to be downloaded). Then take the
960         larger of this value and the age in seconds of the oldest
961         entry in the current transaction table. If an entry for a
962         clientID is superseded by another entry whose StartTime is
963         more than this many seconds ago, then the older entry may be
964         deleted."
965     ::= { apmMibObjects 8 }
966
967 apmNameEntry OBJECT-TYPE
968     SYNTAX      ApmNameEntry
969     MAX-ACCESS  not-accessible
970     STATUS      current
971     DESCRIPTION
972         "An entry in the APM name table. An entry exists for each
973         period of time that a client has been associated with a
974         particular address.
975
976         The protocolDirLocalIndex value in the index identifies
977         the network layer protocol for the ClientAddress for this
978         entry.
979
980         Note that some combinations of index values may result in an
981         index that exceeds 128 sub-identifiers in length which exceeds
982         the maximum for the SNMP protocol. Implementations should take
983         care to avoid such combinations."
984     INDEX { apmNameClientID,
985             protocolDirLocalIndex, apmNameClientAddress,
986             apmNameMappingStartTime }
987     ::= { apmNameTable 1 }
988
989 ApmNameEntry ::= SEQUENCE {
990     apmNameClientID                  RmonClientID,
991     apmNameClientAddress             ProtocolDirNetworkAddress,
992
993
994
995     apmNameMappingStartTime          DateAndTime,
996     apmNameMachineName               SnmpAdminString,
997     apmNameUserName                  SnmpAdminString
998 }
999
1000 apmNameClientID OBJECT-TYPE
1001     SYNTAX      RmonClientID
1002     MAX-ACCESS  not-accessible
1003     STATUS      current
1004     DESCRIPTION
1005          "A unique ID assigned to the machine represented by this
1006          mapping. This ID is assigned by the agent using an
1007          implementation-specific algorithm."
1008     ::= { apmNameEntry 1 }
1009
1010 apmNameClientAddress OBJECT-TYPE
1011     SYNTAX      ProtocolDirNetworkAddress (SIZE(1..255))
1012     MAX-ACCESS  not-accessible
1013     STATUS      current
1014     DESCRIPTION
1015         "The network client address for this client when this mapping
1016         was active.
1017
1018         This is represented as an octet string with specific semantics
1019         and length as identified by the protocolDirLocalIndex
1020         component of the index. This object may not be the zero length
1021         string.
1022
1023         Since this object is an index variable, it is encoded in the
1024         index according to the index encoding rules.  For example, if
1025         the protocolDirLocalIndex component of the index indicates an
1026         encapsulation of ip, this object is encoded as a length octet
1027         of 4, followed by the 4 octets of the ip address, in network
1028         byte order. Care should be taken to avoid values of this
1029         object that, in conjunction with the other index variables,
1030         would result in an index longer than SNMP's maximum of 128
1031         subidentifiers."
1032     ::= { apmNameEntry 2 }
1033
1034 apmNameMappingStartTime OBJECT-TYPE
1035     SYNTAX      DateAndTime
1036     MAX-ACCESS  not-accessible
1037     STATUS      current
1038     DESCRIPTION
1039         "The time that the agent first discovered this mapping
1040         as active."
1041     ::= { apmNameEntry 3 }
1042
1043
1044
1045
1046 apmNameMachineName OBJECT-TYPE
1047     SYNTAX      SnmpAdminString
1048     MAX-ACCESS  read-only
1049     STATUS      current
1050     DESCRIPTION
1051         "The human readable name of the client machine.
1052
1053         If the client has no machine name or the agent is
1054         unable to learn the machine name, this object will be
1055         a zero-length string."
1056     ::= { apmNameEntry 4 }
1057
1058 apmNameUserName OBJECT-TYPE
1059     SYNTAX      SnmpAdminString
1060     MAX-ACCESS  read-only
1061     STATUS      current
1062     DESCRIPTION
1063         "The human readable name of a human user using the client
1064         machine. If more than one user name are available
1065         simultaneously, it is an implementation-dependent matter as to
1066         which is used here. However, if the user name changes, this
1067         object should change to reflect that change.
1068
1069         Non-human user names like 'root' or 'administrator' aren't
1070         intended as values for this object. If the client has no
1071         recorded user name or the agent is unable to learn a user
1072         name, this object will be a zero-length string."
1073     ::= { apmNameEntry 5 }
1074
1075 -- The APM Report Group
1076
1077 apmReportControlTable OBJECT-TYPE
1078     SYNTAX      SEQUENCE OF ApmReportControlEntry
1079     MAX-ACCESS  not-accessible
1080     STATUS      current
1081     DESCRIPTION
1082         "Parameters that control the creation of a set of reports that
1083         aggregate application performance."
1084     ::= { apmMibObjects 9 }
1085
1086 apmReportControlEntry OBJECT-TYPE
1087     SYNTAX      ApmReportControlEntry
1088     MAX-ACCESS  not-accessible
1089     STATUS      current
1090     DESCRIPTION
1091         "A conceptual row in the apmReportControlTable.
1092
1093         An example of the indexing of this table is
1094
1095
1096
1097         apmReportControlInterval.3"
1098     INDEX { apmReportControlIndex }
1099     ::= { apmReportControlTable 1 }
1100
1101 ApmReportControlEntry ::= SEQUENCE {
1102     apmReportControlIndex            Unsigned32,
1103     apmReportControlDataSource       DataSourceOrZero,
1104     apmReportControlAggregationType  TransactionAggregationType,
1105     apmReportControlInterval         Unsigned32,
1106     apmReportControlRequestedSize    Unsigned32,
1107     apmReportControlGrantedSize      Unsigned32,
1108     apmReportControlRequestedReports Unsigned32,
1109     apmReportControlGrantedReports   Unsigned32,
1110     apmReportControlStartTime        TimeStamp,
1111     apmReportControlReportNumber     Unsigned32,
1112     apmReportControlDeniedInserts    Counter32,
1113     apmReportControlDroppedFrames    Counter32,
1114     apmReportControlOwner            OwnerString,
1115     apmReportControlStorageType      StorageType,
1116     apmReportControlStatus           RowStatus
1117 }
1118
1119
1120 apmReportControlIndex OBJECT-TYPE
1121     SYNTAX      Unsigned32 (1..65535)
1122     MAX-ACCESS  not-accessible
1123     STATUS      current
1124     DESCRIPTION
1125         "An index that uniquely identifies an entry in the
1126         apmReportControlTable.  Each such entry defines a unique
1127         report whose results are placed in the apmReportTable on
1128         behalf of this apmReportControlEntry."
1129     ::= { apmReportControlEntry 1 }
1130
1131 apmReportControlDataSource OBJECT-TYPE
1132     SYNTAX      DataSourceOrZero
1133     MAX-ACCESS  read-create
1134     STATUS      current
1135     DESCRIPTION
1136         "The source of the data for APM Reports generated on
1137         behalf of this apmReportControlEntry.
1138
1139         If the measurement is being performed by a probe, this should
1140         be set to interface or port where data was received for
1141         analysis. If the measurement isn't being performed by a probe,
1142         this should be set to the primary interface over which the
1143         measurement is being performed. If the measurement isn't being
1144         performed by a probe and there is no primary interface or this
1145
1146
1147
1148         information isn't known, this object should be set to 0.0.
1149
1150         This object may not be modified if the associated
1151         apmReportControlStatus object is equal to active(1)."
1152     ::= { apmReportControlEntry 2 }
1153
1154 apmReportControlAggregationType OBJECT-TYPE
1155     SYNTAX      TransactionAggregationType
1156             --    INTEGER {
1157             --      flows(1),
1158             --      clients(2),
1159             --      servers(3),
1160             --      applications(4)
1161             --    }
1162     MAX-ACCESS  read-create
1163     STATUS      current
1164     DESCRIPTION
1165         "The type of aggregation being performed for this set of
1166         reports.
1167
1168         The metrics for a single transaction are the responsiveness of
1169         the transaction and whether the transaction succeeded (a
1170         boolean). When such metrics are aggregated in this MIB Module,
1171         these metrics are replaced by averages and distributions of
1172         responsiveness and availability. The metrics describing
1173         aggregates are constant no matter which type of aggregation is
1174         being performed. These metrics may be found in the
1175         apmReportTable.
1176
1177         The flows(1) aggregation is the simplest. All transactions
1178         that share common application/server/client 3-tuples are
1179         aggregated together, resulting in a set of metrics for all
1180         such unique 3-tuples.
1181
1182         The clients(2) aggregation results in somewhat more
1183         aggregation (i.e., fewer resulting records). All transactions
1184         that share common application/client tuples are aggregated
1185         together, resulting in a set of metrics for all such unique
1186         tuples.
1187
1188         The servers(3) aggregation usually results in still more
1189         aggregation (i.e., fewer resulting records). All transactions
1190         that share common application/server tuples are aggregated
1191         together, resulting in a set of metrics for all such unique
1192         tuples.
1193
1194         The applications(4) aggregation results in the most
1195         aggregation (i.e., the fewest resulting records). All
1196
1197
1198
1199         transactions that share a common application are aggregated
1200         together, resulting in a set of metrics for all such unique
1201         applications.
1202
1203         Note that it is not meaningful to aggregate applications, as
1204         different applications have widely varying characteristics.
1205         As a result, this set of aggregations is complete.
1206
1207         This object may not be modified if the associated
1208         apmReportControlStatus object is equal to active(1)."
1209     ::= { apmReportControlEntry 3 }
1210
1211 apmReportControlInterval OBJECT-TYPE
1212     SYNTAX      Unsigned32
1213     UNITS       "Seconds"
1214     MAX-ACCESS  read-create
1215     STATUS      current
1216     DESCRIPTION
1217         "The interval in seconds over which data is accumulated before
1218         being aggregated into a report in the apmReportTable.  All
1219         reports with the same apmReportControlIndex will be based on
1220         the same interval. This object must be greater than zero.
1221
1222         Many users desire that these reports be synchronized to within
1223         seconds of the beginning of the hour because the results may
1224         be correlated more meaningfully to business behavior and so
1225         that data from multiple agents is aggregated over the same
1226         time periods. Thus management software may take extra effort
1227         to synchronize reports to the beginning of the hour and to one
1228         another. However, the agent must not allow reports to 'drift'
1229         over time as they will quickly become unsynchronized. In
1230         particular, if there is any fixed processing delay between
1231         reports, the reports should deduct this time from the interval
1232         so that reports don't drift.
1233
1234         This object may not be modified if the associated
1235         apmReportControlStatus object is equal to active(1)."
1236     DEFVAL { 3600 }
1237     ::= { apmReportControlEntry 4 }
1238
1239 apmReportControlRequestedSize OBJECT-TYPE
1240     SYNTAX      Unsigned32
1241     MAX-ACCESS  read-create
1242     STATUS      current
1243     DESCRIPTION
1244         "The number of entries requested to be allocated for each
1245         report generated on behalf of this entry."
1246     ::= { apmReportControlEntry 5 }
1247
1248
1249
1250 apmReportControlGrantedSize OBJECT-TYPE
1251     SYNTAX      Unsigned32
1252     MAX-ACCESS  read-only
1253     STATUS      current
1254     DESCRIPTION
1255         "The number of entries per report the agent has allocated
1256         based on the requested amount in apmReportControlRequestedSize.
1257         Since multiple reports are saved, the total number of entries
1258         allocated will be this number multiplied by the value of
1259         apmReportControlGrantedReports, or 1 if that object doesn't
1260         exist.
1261
1262         When the associated apmReportControlRequestedSize object is
1263         created or modified, the agent should set this object as
1264         closely to the requested value as is possible for the
1265         particular implementation and available resources. When
1266         considering resources available, the agent must consider its
1267         ability to allocate this many entries for all reports.
1268
1269         Note that while the actual number of entries stored in the
1270         reports may fluctuate due to changing conditions, the agent
1271         must continue to have storage available to satisfy the full
1272         report size for all reports when necessary. Further, the agent
1273         must not lower this value except as a result of a set to the
1274         associated apmReportControlRequestedSize object."
1275     ::= { apmReportControlEntry 6 }
1276
1277 apmReportControlRequestedReports OBJECT-TYPE
1278     SYNTAX      Unsigned32 (0..65535)
1279     MAX-ACCESS  read-create
1280     STATUS      current
1281     DESCRIPTION
1282         "The number of saved reports requested to be allocated on
1283         behalf of this entry."
1284     ::= { apmReportControlEntry 7 }
1285
1286 apmReportControlGrantedReports OBJECT-TYPE
1287     SYNTAX      Unsigned32 (0..65535)
1288     MAX-ACCESS  read-only
1289     STATUS      current
1290     DESCRIPTION
1291         "The number of saved reports the agent has allocated
1292         based on the requested amount in
1293         apmReportControlRequestedReports. Since each report can have
1294         many entries, the total number of entries allocated will be
1295         this number multiplied by the value of
1296         apmReportControlGrantedSize, or 1 if that object doesn't
1297         exist.
1298
1299
1300
1301         When the associated apmReportControlRequestedReports object is
1302         created or modified, the agent should set this object as
1303         closely to the requested value as is possible for the
1304         particular implementation and available resources. When
1305         considering resources available, the agent must consider its
1306         ability to allocate this many reports each with the number of
1307         entries represented by apmReportControlGrantedSize, or 1 if
1308         that object doesn't exist.
1309
1310         Note that while the storage required for each report may
1311         fluctuate due to changing conditions, the agent must continue
1312         to have storage available to satisfy the full report size for
1313         all reports when necessary. Further, the agent must not lower
1314         this value except as a result of a set to the associated
1315         apmReportControlRequestedSize object."
1316     ::= { apmReportControlEntry 8 }
1317
1318 apmReportControlStartTime OBJECT-TYPE
1319     SYNTAX      TimeStamp
1320     MAX-ACCESS  read-only
1321     STATUS      current
1322     DESCRIPTION
1323         "The value of sysUpTime when the system began processing the
1324         report in progress. Note that the report in progress is not
1325         available.
1326
1327         This object may be used by the management station to figure
1328         out the start time for all previous reports saved for this
1329         apmReportControlEntry, as reports are started at fixed
1330         intervals."
1331     ::= { apmReportControlEntry 9 }
1332
1333 apmReportControlReportNumber OBJECT-TYPE
1334     SYNTAX      Unsigned32 (1..4294967295)
1335     MAX-ACCESS  read-only
1336     STATUS      current
1337     DESCRIPTION
1338         "The number of the report in progress. When an
1339         apmReportControlEntry is activated, the first report will be
1340         numbered one."
1341     ::= { apmReportControlEntry 10 }
1342
1343 apmReportControlDeniedInserts OBJECT-TYPE
1344     SYNTAX      Counter32
1345     MAX-ACCESS  read-only
1346     STATUS      current
1347     DESCRIPTION
1348         "The number of failed attempts to add an entry to reports for
1349
1350
1351
1352         this apmReportControlEntry because the number of entries
1353         would have exceeded apmReportControlGrantedSize.
1354
1355         This number is valuable in determining if enough entries have
1356         been allocated for reports in light of fluctuating network
1357         usage. Note that since an entry that is denied will often be
1358         attempted again, this number will not predict the exact number
1359         of additional entries needed, but can be used to understand
1360         the relative magnitude of the problem.
1361
1362         Also note that there is no ordering specified for the entries
1363         in the report, thus there are no rules for which entries will
1364         be omitted when not enough entries are available. As a
1365         consequence, the agent is not required to delete 'least
1366         valuable' entries first."
1367     ::= { apmReportControlEntry 11 }
1368
1369 apmReportControlDroppedFrames OBJECT-TYPE
1370     SYNTAX      Counter32
1371     MAX-ACCESS  read-only
1372     STATUS      current
1373     DESCRIPTION
1374        "The total number of frames which were received by the agent
1375         and therefore not accounted for in the *StatsDropEvents, but
1376         for which the agent chose not to count for this entry for
1377         whatever reason.  Most often, this event occurs when the agent
1378         is out of some resources and decides to shed load from this
1379         collection.
1380
1381         This count does not include packets that were not counted
1382         because they had MAC-layer errors.
1383
1384         This counter is only relevant if this apm report is based on
1385         a data source whose collection methodology is based on
1386         analyzing network traffic.
1387
1388         Note that if the apmReportTables are inactive because no
1389         applications are enabled in the application directory, this
1390         value should be 0.
1391
1392         Note that, unlike the dropEvents counter, this number is the
1393         exact number of frames dropped."
1394     ::= { apmReportControlEntry 12 }
1395
1396 apmReportControlOwner OBJECT-TYPE
1397     SYNTAX      OwnerString
1398     MAX-ACCESS  read-create
1399     STATUS      current
1400
1401
1402
1403     DESCRIPTION
1404         "The entity that configured this entry and is
1405         therefore using the resources assigned to it."
1406     ::= { apmReportControlEntry 13 }
1407
1408 apmReportControlStorageType OBJECT-TYPE
1409     SYNTAX      StorageType
1410     MAX-ACCESS  read-create
1411     STATUS      current
1412     DESCRIPTION
1413         "The storage type of this apmReportControlEntry. If the value
1414         of this object is 'permanent', no objects in this row need to
1415         be writable."
1416     ::= { apmReportControlEntry 14 }
1417
1418 apmReportControlStatus OBJECT-TYPE
1419     SYNTAX      RowStatus
1420     MAX-ACCESS  read-create
1421     STATUS      current
1422     DESCRIPTION
1423         "The status of this apmReportControlEntry.
1424
1425         An entry may not exist in the active state unless all
1426         objects in the entry have an appropriate value. The only
1427         objects in the entry that may be modified while the entry is
1428         in the active state are apmReportControlRequestedSize and
1429         apmReportControlRequestedReports.
1430
1431         If this object is not equal to active(1), all
1432         associated entries in the apmReportTable shall be deleted
1433         by the agent."
1434     ::= { apmReportControlEntry 15 }
1435
1436 -- The APM Report Table
1437
1438 apmReportTable OBJECT-TYPE
1439     SYNTAX      SEQUENCE OF ApmReportEntry
1440     MAX-ACCESS  not-accessible
1441     STATUS      current
1442     DESCRIPTION
1443         "The data resulting from aggregated APM reports. Consult the
1444         definition of apmReportControlAggregationType for the
1445         definition of the various types of aggregations."
1446     ::= { apmMibObjects 10 }
1447
1448 apmReportEntry OBJECT-TYPE
1449     SYNTAX      ApmReportEntry
1450     MAX-ACCESS  not-accessible
1451
1452
1453
1454     STATUS      current
1455     DESCRIPTION
1456         "A conceptual row in the apmReportTable.
1457         The apmReportControlIndex value in the index identifies the
1458         apmReportControlEntry on whose behalf this entry was created.
1459         The apmReportIndex value in the index identifies which report
1460         (in the series of reports) this entry is a part of.
1461         The apmAppDirAppLocalIndex value in the index identifies
1462         the common application of the transactions aggregated in this
1463         entry.
1464         The apmAppDirResponsivenessType value in the index
1465         identifies the type of responsiveness metric reported by
1466         this entry and uniquely identifies this entry when more
1467         than one responsiveness metric is measured for a flow.
1468         Entries will only exist in this table for those
1469         combinations of AppLocalIndex and ResponsivenessType
1470         that are configured 'on(1)'.
1471         The protocolDirLocalIndex value in the index identifies
1472         the network layer protocol of the apmReportServerAddress.
1473         When the associated apmReportControlAggregationType value is
1474         equal to applications(4) or clients(2), this
1475         protocolDirLocalIndex value will equal 0.
1476         The apmReportServerAddress value in the index identifies the
1477         network layer address of the server in transactions aggregated
1478         in this entry.
1479         The apmNameClientID value in the index identifies the
1480         client in transactions aggregated in this entry. If the
1481         associated apmReportControlAggregationType is equal to
1482         applications(4) or servers(3), then this protocolDirLocalIndex
1483         value will equal 0.
1484
1485         An example of the indexing of this entry is
1486         apmReportTransactionCount.3.15.3.1.8.4.192.168.1.2.3232235788
1487
1488         Note that some combinations of index values may result in an
1489         index that exceeds 128 sub-identifiers in length which exceeds
1490         the maximum for the SNMP protocol. Implementations should take
1491         care to avoid such combinations."
1492     INDEX { apmReportControlIndex, apmReportIndex,
1493             apmAppDirAppLocalIndex,
1494             apmAppDirResponsivenessType,
1495             protocolDirLocalIndex, apmReportServerAddress,
1496             apmNameClientID }
1497     ::= { apmReportTable 1 }
1498
1499 ApmReportEntry ::= SEQUENCE {
1500     apmReportIndex                  Unsigned32,
1501     apmReportServerAddress          ProtocolDirNetworkAddress,
1502
1503
1504
1505     apmReportTransactionCount       Unsigned32,
1506     apmReportSuccessfulTransactions Unsigned32,
1507     apmReportResponsivenessMean     Unsigned32,
1508     apmReportResponsivenessMin      Unsigned32,
1509     apmReportResponsivenessMax      Unsigned32,
1510     apmReportResponsivenessB1       Unsigned32,
1511     apmReportResponsivenessB2       Unsigned32,
1512     apmReportResponsivenessB3       Unsigned32,
1513     apmReportResponsivenessB4       Unsigned32,
1514     apmReportResponsivenessB5       Unsigned32,
1515     apmReportResponsivenessB6       Unsigned32,
1516     apmReportResponsivenessB7       Unsigned32
1517 }
1518
1519 apmReportIndex OBJECT-TYPE
1520     SYNTAX      Unsigned32 (1..4294967295)
1521     MAX-ACCESS  not-accessible
1522     STATUS      current
1523     DESCRIPTION
1524         "The value of apmReportControlReportNumber for the report to
1525         which this entry belongs."
1526     ::= { apmReportEntry 1 }
1527
1528 apmReportServerAddress OBJECT-TYPE
1529     SYNTAX      ProtocolDirNetworkAddress
1530     MAX-ACCESS  not-accessible
1531     STATUS      current
1532     DESCRIPTION
1533         "The network server address for this apmReportEntry.
1534
1535         This is represented as an octet string with
1536         specific semantics and length as identified
1537         by the protocolDirLocalIndex component of the index.
1538
1539         Since this object is an index variable, it is encoded in the
1540         index according to the index encoding rules.  For example, if
1541         the protocolDirLocalIndex indicates an encapsulation of ip,
1542         this object is encoded as a length octet of 4, followed by the
1543         4 octets of the ip address, in network byte order. Care
1544         should be taken to avoid values of this object that, in
1545         conjunction with the other index variables, would result in an
1546         index longer than SNMP's maximum of 128 subidentifiers.
1547
1548         If the associated apmReportControlAggregationType is equal to
1549         applications(4) or clients(2), then this object will be a null
1550         string and will be encoded simply as a length octet of 0."
1551     ::= { apmReportEntry 2 }
1552
1553
1554
1555
1556 apmReportTransactionCount OBJECT-TYPE
1557     SYNTAX      Unsigned32
1558     MAX-ACCESS  read-only
1559     STATUS      current
1560     DESCRIPTION
1561         "The total number of transactions aggregated into this record."
1562     ::= { apmReportEntry 3 }
1563
1564 apmReportSuccessfulTransactions OBJECT-TYPE
1565     SYNTAX      Unsigned32
1566     MAX-ACCESS  read-only
1567     STATUS      current
1568     DESCRIPTION
1569         "The total number of successful transactions aggregated into
1570         this record."
1571     ::= { apmReportEntry 4 }
1572
1573 apmReportResponsivenessMean OBJECT-TYPE
1574     SYNTAX      Unsigned32
1575     MAX-ACCESS  read-only
1576     STATUS      current
1577     DESCRIPTION
1578         "The arithmetic mean of the responsiveness metrics for all
1579         successful transactions aggregated into this record."
1580     ::= { apmReportEntry 5 }
1581
1582 apmReportResponsivenessMin OBJECT-TYPE
1583     SYNTAX      Unsigned32
1584     MAX-ACCESS  read-only
1585     STATUS      current
1586     DESCRIPTION
1587         "The minimum of the responsiveness metrics for all
1588         successful transactions aggregated into this record."
1589     ::= { apmReportEntry 6 }
1590
1591 apmReportResponsivenessMax OBJECT-TYPE
1592     SYNTAX      Unsigned32
1593     MAX-ACCESS  read-only
1594     STATUS      current
1595     DESCRIPTION
1596         "The maximum of the responsiveness metrics for all
1597         successful transactions aggregated into this record."
1598     ::= { apmReportEntry 7 }
1599
1600 -- Note that when updating a report entry, a transaction will not be
1601 -- counted in more than 1 bucket in an entry. It will be counted in
1602 -- the first bucket that matches, starting with Bucket 1 (B1). Note
1603 -- that if a transaction matches 2 application types, it will update
1604
1605
1606
1607 -- one bucket in each of 2 entries in this table.
1608
1609 apmReportResponsivenessB1 OBJECT-TYPE
1610     SYNTAX      Unsigned32
1611     MAX-ACCESS  read-only
1612     STATUS      current
1613     DESCRIPTION
1614         "The number of successful transactions aggregated into this
1615         record whose responsiveness was less than boundary1 value for
1616         this application."
1617     ::= { apmReportEntry 8 }
1618
1619 apmReportResponsivenessB2 OBJECT-TYPE
1620     SYNTAX      Unsigned32
1621     MAX-ACCESS  read-only
1622     STATUS      current
1623     DESCRIPTION
1624         "The number of successful transactions aggregated into this
1625         record whose responsiveness did not fall into Bucket 1 and was
1626         greater than or equal to the boundary1 value for this
1627         application and less than the boundary2 value for this
1628         application."
1629     ::= { apmReportEntry 9 }
1630
1631 apmReportResponsivenessB3 OBJECT-TYPE
1632     SYNTAX      Unsigned32
1633     MAX-ACCESS  read-only
1634     STATUS      current
1635     DESCRIPTION
1636         "The number of successful transactions aggregated into this
1637         record whose responsiveness did not fall into Bucket 1 or 2
1638         and as greater than or equal to the boundary2 value for this
1639         application and less than the boundary3 value for this
1640         application."
1641     ::= { apmReportEntry 10 }
1642
1643 apmReportResponsivenessB4 OBJECT-TYPE
1644     SYNTAX      Unsigned32
1645     MAX-ACCESS  read-only
1646     STATUS      current
1647     DESCRIPTION
1648         "The number of successful transactions aggregated into this
1649         record whose responsiveness did not fall into Buckets 1
1650         through 3 and was greater than or equal to the boundary3 value
1651         for this application and less than the boundary4 value for
1652         this application."
1653     ::= { apmReportEntry 11 }
1654
1655
1656
1657
1658 apmReportResponsivenessB5 OBJECT-TYPE
1659     SYNTAX      Unsigned32
1660     MAX-ACCESS  read-only
1661     STATUS      current
1662     DESCRIPTION
1663         "The number of successful transactions aggregated into this
1664         record whose responsiveness did not fall into Buckets 1
1665         through 4 and was greater than or equal to the boundary4 value
1666         for this application and less than the boundary5 value for
1667         this application."
1668     ::= { apmReportEntry 12 }
1669
1670 apmReportResponsivenessB6 OBJECT-TYPE
1671     SYNTAX      Unsigned32
1672     MAX-ACCESS  read-only
1673     STATUS      current
1674     DESCRIPTION
1675         "The number of successful transactions aggregated into this
1676         record whose responsiveness did not fall into Buckets 1
1677         through 5 and was greater than or equal to the
1678         boundary5 value for this application and less than the
1679         boundary6 value for this application."
1680     ::= { apmReportEntry 13 }
1681
1682 apmReportResponsivenessB7 OBJECT-TYPE
1683     SYNTAX      Unsigned32
1684     MAX-ACCESS  read-only
1685     STATUS      current
1686     DESCRIPTION
1687         "The number of successful transactions aggregated into this
1688         record whose responsiveness did not fall into Buckets 1
1689         through 6 and was greater than or equal to the boundary6 value
1690         for this application."
1691     ::= { apmReportEntry 14 }
1692
1693 -- APM Transaction Table
1694
1695 apmTransactionTable OBJECT-TYPE
1696     SYNTAX      SEQUENCE OF ApmTransactionEntry
1697     MAX-ACCESS  not-accessible
1698     STATUS      current
1699     DESCRIPTION
1700         "This table contains transactions that are currently running
1701         or have recently finished."
1702     ::= { apmMibObjects 11 }
1703
1704 apmTransactionEntry OBJECT-TYPE
1705     SYNTAX      ApmTransactionEntry
1706
1707
1708
1709     MAX-ACCESS  not-accessible
1710     STATUS      current
1711     DESCRIPTION
1712         "A conceptual row in the apmTransactionTable.
1713
1714         The apmAppDirAppLocalIndex value in the index identifies
1715         the application of the transaction represented by this entry.
1716         The apmAppDirResponsivenessType value in the index
1717         identifies the type of responsiveness metric reported by
1718         this entry and uniquely identifies this entry when more
1719         than one responsiveness metric is measured for a flow.
1720         Entries will only exist in this table for those
1721         combinations of AppLocalIndex and ResponsivenessType
1722         that are configured 'on(1)'.
1723         The protocolDirLocalIndex value in the index identifies
1724         the network layer protocol of the apmTransactionServerAddress.
1725         The apmTransactionServerAddress value in the index identifies
1726         the network layer address of the server in the transaction
1727         represented by this entry.
1728         The apmNameClientID value in the index identifies the
1729         client in the transaction represented by this entry.
1730
1731         An example of the indexing of this entry is
1732         apmTransactionCount.3.1.8.4.192.168.1.2.3232235788.2987
1733
1734         Note that some combinations of index values may result in an
1735         index that exceeds 128 sub-identifiers in length which exceeds
1736         the maximum for the SNMP protocol. Implementations should take
1737         care to avoid such combinations."
1738     INDEX { apmAppDirAppLocalIndex,
1739             apmAppDirResponsivenessType,
1740             protocolDirLocalIndex, apmTransactionServerAddress,
1741             apmNameClientID, apmTransactionID }
1742     ::= { apmTransactionTable 1 }
1743
1744 ApmTransactionEntry ::= SEQUENCE {
1745     apmTransactionServerAddress      ProtocolDirNetworkAddress,
1746     apmTransactionID                 Unsigned32,
1747     apmTransactionResponsiveness     Unsigned32,
1748     apmTransactionAge                TimeInterval,
1749     apmTransactionSuccess            TruthValue
1750 }
1751
1752 apmTransactionServerAddress OBJECT-TYPE
1753     SYNTAX      ProtocolDirNetworkAddress (SIZE (1..255))
1754     MAX-ACCESS  not-accessible
1755     STATUS      current
1756     DESCRIPTION
1757
1758
1759
1760         "The network server address for this apmTransactionEntry.
1761
1762         This is represented as an octet string with specific semantics
1763         and length as identified by the protocolDirLocalIndex
1764         component of the index. This object may not be the zero length
1765         string.
1766
1767         For example, if the protocolDirLocalIndex indicates an
1768         encapsulation of ip, this object is encoded as a length octet
1769         of 4, followed by the 4 octets of the ip address, in network
1770         byte order. Care should be taken to avoid values of this
1771         object that, in conjunction with the other index variables,
1772         would result in an index longer than SNMP's maximum of 128
1773         subidentifiers."
1774     ::= { apmTransactionEntry 1 }
1775
1776 apmTransactionID OBJECT-TYPE
1777     SYNTAX      Unsigned32 (0..4294967295)
1778     MAX-ACCESS  not-accessible
1779     STATUS      current
1780     DESCRIPTION
1781         "A unique value for this transaction amongst other
1782         transactions sharing the same application layer protocol and
1783         server and client addresses. Implementations may choose to use
1784         the value of the client's source port, when possible."
1785     ::= { apmTransactionEntry 2 }
1786
1787 apmTransactionResponsiveness OBJECT-TYPE
1788     SYNTAX      Unsigned32
1789     MAX-ACCESS  read-only
1790     STATUS      current
1791     DESCRIPTION
1792         "The current value of the responsiveness metric for this
1793         transaction. If this transaction has completed, the final
1794         value of the metric will be available.
1795
1796         Note that this value may change over the lifetime of the
1797         transaction and it is the final value of this metric that is
1798         recorded as the responsiveness of the transaction for use in
1799         other APM MIB functions."
1800     ::= { apmTransactionEntry 3 }
1801
1802 apmTransactionAge OBJECT-TYPE
1803     SYNTAX      TimeInterval
1804     MAX-ACCESS  read-only
1805     STATUS      current
1806     DESCRIPTION
1807         "If this transaction is still executing, this value shall be
1808
1809
1810
1811         the length of time since it was started. If it has completed,
1812         this value shall be the length of time it was executing."
1813     ::= { apmTransactionEntry 4 }
1814
1815 apmTransactionSuccess OBJECT-TYPE
1816     SYNTAX      TruthValue
1817     MAX-ACCESS  read-only
1818     STATUS      current
1819     DESCRIPTION
1820         "The success of this transaction up to this time. Once a
1821         transaction has been marked as failed, it cannot move back
1822         into the successful state."
1823     ::= { apmTransactionEntry 5 }
1824
1825 apmTransactionsRequestedHistorySize OBJECT-TYPE
1826     SYNTAX      Unsigned32
1827     MAX-ACCESS  read-write
1828     STATUS      current
1829     DESCRIPTION
1830         "The maximum number of completed transactions desired to be
1831         retained in the apmTransactionTable. If the agent doesn't have
1832         enough resources to retain this many, it will retain as many as
1833         possible. Regardless of this value, the agent must attempt to
1834         keep records for all current transactions it is monitoring.
1835
1836         The value of this object must persist across reboots."
1837     ::= { apmMibObjects 12 }
1838
1839 -- The APM Exception table
1840 -- The APM Exception Table creates filters so that a management
1841 -- station can get immediate notification of a transaction that has
1842 -- had poor availability or responsiveness.
1843 --
1844 -- This function is particularly helpful in unaggregated situations
1845 -- where the numbers of agents is relatively high and the transaction
1846 -- rate per agent is relatively low (such as agents for desktops or
1847 -- dedicated to small workgroups). Polling agents in such an
1848 -- environment would either cause scalability problems (high rate) or
1849 -- lead to long notification delays (low rate).
1850
1851
1852 apmExceptionTable OBJECT-TYPE
1853     SYNTAX      SEQUENCE OF ApmExceptionEntry
1854     MAX-ACCESS  not-accessible
1855     STATUS      current
1856     DESCRIPTION
1857         "This table creates filters so that a management station can
1858         get immediate notification of a transaction that has had poor
1859
1860
1861
1862         availability or responsiveness.
1863
1864         Each apmExceptionEntry is associated with a particular type of
1865         transaction and is applied to all transactions of that
1866         type. Multiple apmExceptionEntries may be associated with a
1867         particular type of transaction. A transaction type is
1868         identified by the value of the apmAppDirAppLocalIndex
1869         component of the index.
1870
1871         Because the quality of a transaction is not known until it is
1872         completed, these thresholds are only applied after the
1873         transaction has completed."
1874     ::= { apmMibObjects 13 }
1875
1876 apmExceptionEntry OBJECT-TYPE
1877     SYNTAX      ApmExceptionEntry
1878     MAX-ACCESS  not-accessible
1879     STATUS      current
1880     DESCRIPTION
1881         "A conceptual row in the apmExceptionTable.
1882
1883         The apmAppDirAppLocalIndex value in the index identifies
1884         the application this entry will monitor.
1885         The apmAppDirResponsivenessType value in the index
1886         identifies the type of responsiveness metric this entry will
1887         monitor."
1888
1889     INDEX { apmAppDirAppLocalIndex,
1890             apmAppDirResponsivenessType, apmExceptionIndex }
1891     ::= { apmExceptionTable 1 }
1892
1893 ApmExceptionEntry ::= SEQUENCE {
1894     apmExceptionIndex                       Unsigned32,
1895     apmExceptionResponsivenessComparison    INTEGER,
1896     apmExceptionResponsivenessThreshold     Unsigned32,
1897     apmExceptionUnsuccessfulException       INTEGER,
1898     apmExceptionResponsivenessEvents        Counter32,
1899     apmExceptionUnsuccessfulEvents          Counter32,
1900     apmExceptionOwner                       OwnerString,
1901     apmExceptionStorageType                 StorageType,
1902     apmExceptionStatus                      RowStatus
1903 }
1904
1905 apmExceptionIndex OBJECT-TYPE
1906     SYNTAX      Unsigned32 (1..65535)
1907     MAX-ACCESS  not-accessible
1908     STATUS      current
1909     DESCRIPTION
1910
1911
1912
1913         "An index that uniquely identifies an entry in the
1914         apmExceptionTable amongst other entries with equivalent index
1915         values for apmAppDirAppLocalIndex and
1916         apmAppDirResponsivenessType. Each such entry sets up
1917         thresholds for a particular measurement of a particular
1918         application."
1919     ::= { apmExceptionEntry 1 }
1920
1921 apmExceptionResponsivenessComparison OBJECT-TYPE
1922     SYNTAX      INTEGER {
1923                     none(1),
1924                     greater(2),
1925                     less(3)
1926                 }
1927     MAX-ACCESS  read-create
1928     STATUS      current
1929     DESCRIPTION
1930         "If this value is greater(2) or less(3), the associated
1931         apmExceptionResponsivenessThreshold will be compared to this
1932         value and an exception will be created if the responsiveness
1933         is greater than the threshold (greater(2)) or less than the
1934         threshold (less(3))."
1935     ::= { apmExceptionEntry 2 }
1936
1937 apmExceptionResponsivenessThreshold OBJECT-TYPE
1938     SYNTAX      Unsigned32
1939     MAX-ACCESS  read-create
1940     STATUS      current
1941     DESCRIPTION
1942         "The threshold that responsiveness metrics are compared to."
1943     ::= { apmExceptionEntry 3 }
1944
1945 apmExceptionUnsuccessfulException OBJECT-TYPE
1946     SYNTAX      INTEGER {
1947                     off(1),
1948                     on(2)
1949                 }
1950     MAX-ACCESS  read-create
1951     STATUS      current
1952     DESCRIPTION
1953         "If this value is on(2), an exception will be created if a
1954         transaction of the associated type is unsuccessful."
1955     ::= { apmExceptionEntry 4 }
1956
1957 apmExceptionResponsivenessEvents OBJECT-TYPE
1958     SYNTAX      Counter32
1959     MAX-ACCESS  read-only
1960     STATUS      current
1961
1962
1963
1964     DESCRIPTION
1965         "The total number of responsiveness exceptions generated. This
1966         counter will be incremented even if no notification was sent
1967         due to notifications not being configured or due to exceeding
1968         the apmNotificationMaxRate value."
1969     ::= { apmExceptionEntry 5 }
1970
1971 apmExceptionUnsuccessfulEvents OBJECT-TYPE
1972     SYNTAX      Counter32
1973     MAX-ACCESS  read-only
1974     STATUS      current
1975     DESCRIPTION
1976         "The total number of unsuccessful exceptions generated. This
1977         counter will be incremented even if no notification was sent
1978         due to notifications not being configured or due to exceeding
1979         the apmNotificationMaxRate value."
1980     ::= { apmExceptionEntry 6 }
1981
1982 apmExceptionOwner OBJECT-TYPE
1983     SYNTAX      OwnerString
1984     MAX-ACCESS  read-create
1985     STATUS      current
1986     DESCRIPTION
1987         "The entity that configured this entry and is
1988         therefore using the resources assigned to it."
1989     ::= { apmExceptionEntry 7 }
1990
1991 apmExceptionStorageType OBJECT-TYPE
1992     SYNTAX     StorageType
1993     MAX-ACCESS read-create
1994     STATUS     current
1995     DESCRIPTION
1996         "The storage type of this apmReportControlEntry. If the value
1997         of this object is 'permanent', no objects in this row need to
1998         be writable."
1999     ::= { apmExceptionEntry 8 }
2000
2001 apmExceptionStatus OBJECT-TYPE
2002     SYNTAX     RowStatus
2003     MAX-ACCESS read-create
2004     STATUS     current
2005     DESCRIPTION
2006         "The status of this apmExceptionEntry. The only objects in the
2007         entry that may be modified while the entry is in the active
2008         state are apmExceptionResponsivenessComparison,
2009         apmExceptionResponsivenessThreshold and
2010         apmExceptionUnsuccessfulException."
2011     ::= { apmExceptionEntry 9 }
2012
2013
2014
2015 apmThroughputExceptionMinTime OBJECT-TYPE
2016     SYNTAX      Unsigned32
2017     UNITS       "seconds"
2018     MAX-ACCESS  read-write
2019     STATUS      current
2020     DESCRIPTION
2021         "Because the responsiveness for throughput-oriented
2022         transactions is divided by the elapsed time, it can be very
2023         sensitive to short-term performance variations for
2024         transactions that take a short period of time. For example,
2025         when downloading a very short file, a single dropped packet
2026         could double or triple the total response time.
2027
2028         Further, throughput is usually examined for applications that
2029         transfer a lot of data, and when doing so it is helpful to
2030         conceptualize transaction costs that are proportional to the
2031         amount of data separately from those costs that are relatively
2032         fixed (i.e., independent of the amount of data).  For very
2033         short transactions, these fixed transaction costs (handshake,
2034         setup time, authentication, round-trip time) may dominate the
2035         total response time for the transaction, resulting in
2036         throughput measurements that aren't really proportional to the
2037         network's, server's and client's combined data throughput
2038         capability.
2039
2040         This object controls the minimum number of seconds that an
2041         throughput-based transaction must exceed before an exception
2042         can be generated for it. If this object is set to zero, then
2043         all throughput-based transactions are candidates for
2044         exceptions.
2045
2046         The value of this object must persist across reboots."
2047     DEFVAL     { 10 }
2048     ::= { apmMibObjects 14 }
2049
2050 apmNotificationMaxRate OBJECT-TYPE
2051     SYNTAX      Unsigned32
2052     MAX-ACCESS  read-write
2053     STATUS      current
2054     DESCRIPTION
2055         "The maximum number of notifications that can be generated
2056         from this agent by the apmExceptionTable in any 60 second
2057         period.
2058
2059         The value of this object must persist across reboots."
2060     DEFVAL { 1 }
2061     ::= { apmMibObjects 15 }
2062
2063
2064
2065
2066 -- APM Notifications
2067
2068 apmNotifications OBJECT IDENTIFIER ::= { apm 0 }
2069
2070 apmTransactionResponsivenessAlarm NOTIFICATION-TYPE
2071     OBJECTS     { apmExceptionResponsivenessThreshold,
2072                   apmTransactionResponsiveness }
2073     STATUS      current
2074     DESCRIPTION
2075         "Notification sent when a transaction exceeds a threshold
2076         defined in the apmException table. The index of the
2077         included apmExceptionResponsivenessThreshold object identifies
2078         the apmExceptionEntry that specified the threshold. The
2079         apmTransactionResponsiveness variable identifies the actual
2080         transaction and its responsiveness.
2081
2082         Agent implementors are urged to include additional data
2083         objects in the alarm that may explain the reason for the
2084         alarm. It is helpful to include such data in the alarm because
2085         it describes the situation at the time the alarm was
2086         generated, where polls after the fact may not provide
2087         meaningful information. Examples of such information are CPU
2088         load, memory utilization, network utilization, and transaction
2089         statistics."
2090     ::= { apmNotifications 1 }
2091
2092 apmTransactionUnsuccessfulAlarm NOTIFICATION-TYPE
2093     OBJECTS     { apmExceptionResponsivenessThreshold }
2094     STATUS      current
2095     DESCRIPTION
2096         "Notification sent when a transaction is unsuccessful.
2097         The index of the included apmExceptionResponsivenessThreshold
2098         object identifies both the type of the transaction that caused
2099         this notification as well as the apmExceptionEntry that
2100         specified the threshold.
2101
2102         Agent implementors are urged to include additional data
2103         objects in the alarm that may explain the reason for the
2104         alarm. It is helpful to include such data in the alarm because
2105         it describes the situation at the time the alarm was
2106         generated, where polls after the fact may not provide
2107         meaningful information. Examples of such information are CPU
2108         load, memory utilization, network utilization, and transaction
2109         statistics."
2110     ::= { apmNotifications 2 }
2111
2112 apmCompliance MODULE-COMPLIANCE
2113     STATUS  current
2114
2115
2116
2117     DESCRIPTION
2118         "Describes the requirements for conformance to
2119         the APM MIB"
2120     MODULE  -- this module
2121         MANDATORY-GROUPS { apmAppDirGroup, apmReportGroup }
2122
2123         GROUP apmUserDefinedApplicationsGroup
2124           DESCRIPTION
2125               "Implementation of the apmUserDefinedApplicationsGroup
2126               is optional."
2127
2128         GROUP apmTransactionGroup
2129           DESCRIPTION
2130               "Implementation of the apmTransactionGroup is optional."
2131
2132         GROUP apmExceptionGroup
2133           DESCRIPTION
2134               "Implementation of the apmExceptionGroup is optional."
2135
2136         GROUP apmNotificationGroup
2137           DESCRIPTION
2138               "Implementation of the apmNotificationGroup is optional."
2139
2140     ::= { apmCompliances 1 }
2141
2142 apmAppDirGroup OBJECT-GROUP
2143     OBJECTS { apmAppDirConfig,
2144               apmAppDirResponsivenessBoundary1,
2145               apmAppDirResponsivenessBoundary2,
2146               apmAppDirResponsivenessBoundary3,
2147               apmAppDirResponsivenessBoundary4,
2148               apmAppDirResponsivenessBoundary5,
2149               apmAppDirResponsivenessBoundary6,
2150               apmBucketBoundaryLastChange, apmAppDirID,
2151               apmNameMachineName, apmNameUserName }
2152     STATUS  current
2153     DESCRIPTION
2154         "The APM MIB directory of applications and application verbs."
2155     ::=  { apmGroups 1 }
2156
2157 apmUserDefinedApplicationsGroup OBJECT-GROUP
2158     OBJECTS {     apmHttpFilterAppLocalIndex,
2159                   apmHttpFilterServerProtocol,
2160                   apmHttpFilterServerAddress, apmHttpFilterURLPath,
2161                   apmHttpFilterMatchType, apmHttpFilterOwner,
2162                   apmHttpFilterStorageType, apmHttpFilterRowStatus,
2163                   apmHttpIgnoreUnregisteredURLs, apmHttp4xxIsFailure,
2164                   apmUserDefinedAppParentIndex,
2165
2166
2167
2168                   apmUserDefinedAppApplication }
2169     STATUS  current
2170     DESCRIPTION
2171         "Objects used for creating and managing user-defined
2172         applications."
2173     ::= { apmGroups 2 }
2174
2175 apmReportGroup OBJECT-GROUP
2176     OBJECTS { apmReportControlDataSource,
2177               apmReportControlAggregationType,
2178               apmReportControlInterval,
2179               apmReportControlRequestedSize,
2180               apmReportControlGrantedSize,
2181               apmReportControlRequestedReports,
2182               apmReportControlGrantedReports,
2183               apmReportControlStartTime,
2184               apmReportControlReportNumber,
2185               apmReportControlDeniedInserts,
2186               apmReportControlDroppedFrames,
2187               apmReportControlOwner,
2188               apmReportControlStorageType,
2189               apmReportControlStatus,
2190               apmReportTransactionCount,
2191               apmReportSuccessfulTransactions,
2192               apmReportResponsivenessMean,
2193               apmReportResponsivenessMin,
2194               apmReportResponsivenessMax,
2195               apmReportResponsivenessB1,
2196               apmReportResponsivenessB2,
2197               apmReportResponsivenessB3,
2198               apmReportResponsivenessB4,
2199               apmReportResponsivenessB5,
2200               apmReportResponsivenessB6,
2201               apmReportResponsivenessB7 }
2202     STATUS  current
2203     DESCRIPTION
2204         "The apm report group controls the creation and retrieval of
2205         reports that aggregate application performance."
2206     ::=  { apmGroups 3 }
2207
2208 apmTransactionGroup OBJECT-GROUP
2209     OBJECTS { apmTransactionResponsiveness,
2210               apmTransactionAge, apmTransactionSuccess,
2211               apmTransactionsRequestedHistorySize }
2212     STATUS  current
2213     DESCRIPTION
2214         "The apm transaction group contains statistics for
2215         individual transactions."
2216
2217
2218
2219     ::=  { apmGroups 4 }
2220
2221 apmExceptionGroup OBJECT-GROUP
2222     OBJECTS { apmExceptionResponsivenessComparison,
2223               apmExceptionResponsivenessThreshold,
2224               apmExceptionUnsuccessfulException,
2225               apmExceptionResponsivenessEvents,
2226               apmExceptionUnsuccessfulEvents,
2227               apmExceptionOwner, apmExceptionStorageType,
2228               apmExceptionStatus, apmThroughputExceptionMinTime,
2229               apmNotificationMaxRate }
2230     STATUS  current
2231     DESCRIPTION
2232         "The apm exception group causes notifications to be sent
2233         whenever transactions are detected that had poor availability
2234         or responsiveness."
2235     ::=  { apmGroups 5 }
2236
2237 apmNotificationGroup NOTIFICATION-GROUP
2238     NOTIFICATIONS { apmTransactionResponsivenessAlarm,
2239                     apmTransactionUnsuccessfulAlarm }
2240     STATUS        current
2241     DESCRIPTION
2242         "Notifications sent by an APM MIB agent."
2243     ::= { apmGroups 6 }
2244
2245 END