summaryrefslogtreecommitdiff
path: root/MIBS/adtran/ADTRAN-AOSCPU
blob: fa72fe621e9506aac2cda9714c95162e655c6bad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
ADTRAN-AOSCPU DEFINITIONS ::= BEGIN

IMPORTS
    Integer32, Gauge32, OBJECT-TYPE, MODULE-IDENTITY, 
    Unsigned32, NOTIFICATION-TYPE, OBJECT-IDENTITY
        FROM SNMPv2-SMI 
    DisplayString, RowStatus
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    sysName
        FROM SNMPv2-MIB
    adIdentityShared
        FROM ADTRAN-MIB
    adGenAOSCommon, adGenAOSConformance
        FROM ADTRAN-AOS;

adGenAOSCpuUtilMib MODULE-IDENTITY
    LAST-UPDATED "200904300000Z"  -- April 30, 2009
    ORGANIZATION "ADTRAN, Inc."
    CONTACT-INFO
        "Technical Support Dept.
        Postal: ADTRAN, Inc.
        901 Explorer Blvd.
        Huntsville, AL 35806

        Tel: +1 800 726-8663
        Fax: +1 256 963 6217
        E-mail: support@adtran.com"

    DESCRIPTION
        "This MIB contains information regarding CPU utilization, Memory usage
         and system process status."

    REVISION    "200410040000Z"  -- October 24, 2004
    DESCRIPTION
        "Initial version of this MIB module."

    REVISION    "200904300000Z"  -- April 30, 2009
    DESCRIPTION
        "Added resource utilization OIDs for traps and tables."

    REVISION    "200908130000Z"  -- August 13, 2009
    DESCRIPTION
        "Added sysName to adGenAOSResUtilThreshAlarm and 
         adGenAOSResUtilThreshNormal."

    ::= { adIdentityShared 4 }

adGenAOSCpuUtil    OBJECT IDENTIFIER ::= {  adGenAOSCommon 4 }

--
--  Unit CPU and Memory Utilization Group
--

--  Trap OID
adGenAOSResUtilThreshTraps OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION	
        "These traps indicate that a resource's utilization status has changed 
        respective of a set threshold value. There are two types of traps,
        Alarm and Normal. The traps will return the adGenAOSResUtilThreshTable 
        indices and the number of seconds since epoch as a timestamp 
        indicating when the utilization status changed. The timestamp value is
        indicative of when the utilization status changed an not when the trap 
        was sent."
    ::= { adGenAOSCpuUtil 0 }

adGenAOSCurrentCpuUtil OBJECT-TYPE
    SYNTAX      Gauge32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU utilization over the last second."
    ::= { adGenAOSCpuUtil 1 }

adGenAOSClearUtilizationStats OBJECT-TYPE
    SYNTAX      INTEGER {
        reset(1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set value to 1 to clear CPU utilization statistics."
    ::= { adGenAOSCpuUtil 2 }

adGenAOS1MinCpuUtil OBJECT-TYPE
    SYNTAX      Gauge32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU utilization over the last minute."
    ::= { adGenAOSCpuUtil 3 }

adGenAOS5MinCpuUtil OBJECT-TYPE
    SYNTAX      Gauge32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average CPU utilization over the last 5 minutes."
    ::= { adGenAOSCpuUtil 4 }

adGenAOSMaxCpuUtil OBJECT-TYPE
    SYNTAX      Gauge32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum CPU utilization since last system reboot or
         statistics reset."
    ::= { adGenAOSCpuUtil 5 }

adGenAOSMemPool OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total memory pool available."
    ::= { adGenAOSCpuUtil 6 }

adGenAOSHeapSize OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total Heap size. This is the amount of memory available after the
         code is decompressed and packet buffers are allocated."
    ::= { adGenAOSCpuUtil 7 }

adGenAOSHeapFree OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current amount of heap available for use."
    ::= { adGenAOSCpuUtil 8 }

--
-- System Process Table
--
adGenAOSProcessTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenAOSProcessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table reporting the current run state of all current processes."
    ::= { adGenAOSCpuUtil 9 }

adGenAOSProcessEntry OBJECT-TYPE
    SYNTAX      AdGenAOSProcessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in the list is a current system process."
    INDEX   { adGenAOSProcID }
    ::= { adGenAOSProcessTable 1 }

AdGenAOSProcessEntry ::=
    SEQUENCE {
        adGenAOSProcID           Integer32,
        adGenAOSProcName         DisplayString,
        adGenAOSProcPriority     Integer32,
        adGenAOSProcState        INTEGER,
        adGenAOSProcCount        Gauge32,
        adGenAOSProcExecTime     Gauge32,
        adGenAOSProcRunTime      Gauge32,
        adGenAOSProc1SecLd       Gauge32
    }

adGenAOSProcID  OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Unique indentifier for the process."
    ::= { adGenAOSProcessEntry 1 }

adGenAOSProcName  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "System process name."
    ::= { adGenAOSProcessEntry 2 }

adGenAOSProcPriority  OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current system process priority."
    ::= { adGenAOSProcessEntry 3 }

adGenAOSProcState  OBJECT-TYPE
    SYNTAX      INTEGER {
        running(1),
        ready(2),
        wait(3)
    }
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
        "Current system process state."
    ::= { adGenAOSProcessEntry  4 }

adGenAOSProcCount  OBJECT-TYPE
    SYNTAX      Gauge32(0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current number of times the process has been invoked."
    ::= { adGenAOSProcessEntry 5 }

adGenAOSProcExecTime  OBJECT-TYPE
    SYNTAX      Gauge32(0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total amount of time spent executing this process. Result is
         in usec."
    ::= { adGenAOSProcessEntry 6 }

adGenAOSProcRunTime  OBJECT-TYPE
    SYNTAX      Gauge32(0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total amount of time spent executing this process.  Result is
         in usec."
    ::= { adGenAOSProcessEntry 7 }

adGenAOSProc1SecLd  OBJECT-TYPE
    SYNTAX      Gauge32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Percent system utilization for the process."
    ::= { adGenAOSProcessEntry 8 }

--
-- Resource Utilization Threshold Table
--
adGenAOSResUtilThreshTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenAOSResUtilThreshEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table reporting the current resource utilization threshold traps
         with abilities to configure the traps. The table supports create and
         destroy. To prevent abuse, the table will not support row creation
         once 20 or more entries exist within the table."
    ::= { adGenAOSCpuUtil 10 }

adGenAOSResUtilThreshEntry OBJECT-TYPE
    SYNTAX      AdGenAOSResUtilThreshEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in the table represents a current resource utilization
         threshold notification. The entry is composed of an enumerated
         integer representing the resource type, the numerical threshold and
         time interval settings. All entries are immutable and all columns are
         required for create."
    INDEX   {
        adGenAOSResType,
        adGenAOSResUtilThresh,
        adGenAOSResUtilTimeInterval
    }
    ::= { adGenAOSResUtilThreshTable 1 }

AdGenAOSResUtilThreshEntry ::=
    SEQUENCE {		
        adGenAOSResType                   INTEGER,
        adGenAOSResUtilThresh             Gauge32,
        adGenAOSResUtilTimeInterval       Gauge32,
        adGenAOSResUtilThreshRowStatus    RowStatus
    }

adGenAOSResType  OBJECT-TYPE
    SYNTAX      INTEGER {
        cpu(1),
        heap(2)
    }    
    MAX-ACCESS  read-create	
    STATUS      current
    DESCRIPTION
        "Indentifier specifying the resource type.
         Resource notes:
         (2) Heap - The heap resource will only display a time interval value
         of 1. Setting the value to a valid time interval value will always
         result in the inherent default value of 1. A heap notification will
         occur whenever the threshold is exceeded."
    ::= { adGenAOSResUtilThreshEntry 1 }

adGenAOSResUtilThresh  OBJECT-TYPE
    SYNTAX      Gauge32(1..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The utilization threshold value expressed as a whole number 
         percentage."
    ::= { adGenAOSResUtilThreshEntry 2 }

adGenAOSResUtilTimeInterval  OBJECT-TYPE
    SYNTAX      Gauge32(1..86400)	-- 86400 seconds = 1 day
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Time interval in seconds for actual to exceed threshold."
    ::= { adGenAOSResUtilThreshEntry 3 }

adGenAOSResUtilThreshRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus column for this table. Since each entry is immutable the
         only acceptable RowStatus values (for set) are createAndGo(4) and
         destroy(6). The only acceptable RowStatus value for get is
         active(1)."
    ::= { adGenAOSResUtilThreshEntry  4 }

adGenAOSResUtilThreshTimestamp  OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The time (seconds since epoch) that a resource utilization
         threshold trap condition occurred and not necessarily the when
         the trap was sent."
    ::= { adGenAOSCpuUtil  11 }

-- Traps
adGenAOSResUtilThreshAlarm     NOTIFICATION-TYPE
    OBJECTS {
        adGenAOSResType,
        adGenAOSResUtilThresh,
        adGenAOSResUtilTimeInterval, 
        adGenAOSResUtilThreshTimestamp,
        sysName
    }
    STATUS      current
    DESCRIPTION
        "This trap indicates the resource utilization exceeded the set
         threshold value for the entirety of the set time interval. The
         specific resource utilization is specified via the indexes
         adGenAOSResType, adGenAOSResUtilThresh, and
         adGenAOSResUtilTimeInterval. The adGenAOSResUtilThreshTimestamp
         indicates when this condition occurred and not necessarily when the
         trap was sent. The sysName is the exact same as defined in
         SNMPv2-MIB."
    ::= { adGenAOSResUtilThreshTraps 1 }

adGenAOSResUtilThreshNormal NOTIFICATION-TYPE
    OBJECTS {
        adGenAOSResType,
        adGenAOSResUtilThresh,
        adGenAOSResUtilTimeInterval,
        adGenAOSResUtilThreshTimestamp,
        sysName
    }
    STATUS      current
    DESCRIPTION
        "This trap indicates the resource utilization has been in a normal
         (non-alarm) state for at least 5 seconds. This condition can only
         occur after the alarm state has been triggered. The specific
         resource utilization is specified via the indexes adGenAOSResType,
         adGenAOSResUtilThresh, and adGenAOSResUtilTimeInterval. The
         adGenAOSResUtilThreshTimestamp indicates when this condition
         occurred and not necessarily when the trap was sent.The sysName is
         the exact same as defined in SNMPv2-MIB."
    ::= { adGenAOSResUtilThreshTraps 2 }

-- conformance information

adGenAOSCpuConformance
    OBJECT IDENTIFIER ::= { adGenAOSConformance 4 }

adAOSCpuCompliances
    OBJECT IDENTIFIER ::= { adGenAOSCpuConformance 1 }

adAOSCpuGroups
    OBJECT IDENTIFIER ::= { adGenAOSCpuConformance 2 }

-- compliance statements
adAOSCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for SNMPv2 entities which
         implement the adAosCPU.mib"

    MODULE
    MANDATORY-GROUPS {
        adGenAOSCpuGroup
    }
    GROUP       adGenAOSProcessGroup
    DESCRIPTION
        "This optional group is used to report the current run state of
        all processes."

    GROUP       adGenAOSThresholdGroup
    DESCRIPTION
        "This optional group is used to configure the trap thresholds."

    GROUP       adGenAOSThresholdTrapGroup
    DESCRIPTION
        "This optional group is used for the management of notifications."
    ::= { adAOSCpuCompliances 1 }

-- units of conformance
adGenAOSCpuGroup OBJECT-GROUP
    OBJECTS {
        adGenAOSCurrentCpuUtil,
        adGenAOSClearUtilizationStats,
        adGenAOS1MinCpuUtil,
        adGenAOS5MinCpuUtil,
        adGenAOSMaxCpuUtil,
        adGenAOSMemPool,
        adGenAOSHeapSize,
        adGenAOSHeapFree
    }
    STATUS      current
    DESCRIPTION
        "The Unit SNMP Config Group."
    ::= { adAOSCpuGroups 1 }

adGenAOSProcessGroup OBJECT-GROUP
    OBJECTS {
        adGenAOSProcName,
        adGenAOSProcPriority,
        adGenAOSProcState,
        adGenAOSProcCount,
        adGenAOSProcExecTime,
        adGenAOSProcRunTime,
        adGenAOSProc1SecLd
    }
    STATUS      current
    DESCRIPTION
        "This group is used to report the status of current processes."
    ::= { adAOSCpuGroups 2 }

adGenAOSThresholdGroup OBJECT-GROUP
    OBJECTS {
        adGenAOSResType,
        adGenAOSResUtilThresh,
        adGenAOSResUtilTimeInterval,
        adGenAOSResUtilThreshRowStatus,
        adGenAOSResUtilThreshTimestamp
    }
    STATUS      current
    DESCRIPTION
        "The threshold config group. Contains objects to set and get
         the threshold and time interval to trigger a trap."
    ::= { adAOSCpuGroups 3 }

adGenAOSThresholdTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        adGenAOSResUtilThreshAlarm,
        adGenAOSResUtilThreshNormal
    }
    STATUS      current
    DESCRIPTION
        "Traps which may be used to enhance event driven management of
         the CPU."
    ::= { adAOSCpuGroups 4 }

END