summaryrefslogtreecommitdiff
path: root/lib/os_mon/mibs/OTP-OS-MON-MIB.mib
blob: e027e961547faddcdf143298366d71e197025e83 (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
--
-- %CopyrightBegin%
-- 
-- Copyright Ericsson AB 1997-2016. All Rights Reserved.
-- 
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
-- 
--     http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
-- 
-- %CopyrightEnd%
--

OTP-OS-MON-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE,
    Counter32, Gauge32, Integer32, Unsigned32, Counter64
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
        FROM SNMPv2-CONF
    otpModules, otpApplications
        FROM OTP-REG
    erlNodeId
        FROM OTP-MIB
    ;


otpOsMonModule MODULE-IDENTITY
    LAST-UPDATED  "0305090900Z"
    ORGANIZATION  "Ericsson"
    CONTACT-INFO
        "Contact:  Erlang Support see license agreement for Erlang/OTP."

    DESCRIPTION
        "This MIB is part of the OTP MIB.  It defines MIB objects
        for the os_mon application in OTP."

    REVISION	"0508260900Z"
    DESCRIPTION		
        "Removed dependeny on EVA."
    REVISION	"0305090900Z"
    DESCRIPTION		
        "Changed CONTACT-INFO as it was outdated, made it more generic
	to avoid such changes in the future."
    
    REVISION     "9807080900Z"
    DESCRIPTION
        "Changed MAX-ACCESS for diskDescr from not-accessible to
        read-only."

    REVISION     "9801270900Z"
    DESCRIPTION
        "Changed erroneous name of this module to otpOsMonModule."

    REVISION     "9712010900Z"
    DESCRIPTION
        "Converted to v2 SMI and placed in the OTP tree."

    REVISION     "9608191700Z"
    DESCRIPTION
        "The initial revision of MIB module OTP-OS-MON-MIB."
    ::= { otpModules 4 }

OTPCounterBasedGauge64 ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
        "The CounterBasedGauge64 type represents a non-negative
        integer, which may increase or decrease, but shall never
        exceed a maximum value, nor fall below a minimum value. The
        maximum value can not be greater than 2^64-1
        (18446744073709551615 decimal), and the minimum value can

        not be smaller than 0.  The value of a CounterBasedGauge64
        has its maximum value whenever the information being modeled
        is greater than or equal to its maximum value, and has its
        minimum value whenever the information being modeled is
        smaller than or equal to its minimum value.  If the
        information being modeled subsequently decreases below
        (increases above) the maximum (minimum) value, the
        CounterBasedGauge64 also decreases (increases).

        Note that this TC is not strictly supported in SMIv2,
        because the 'always increasing' and 'counter wrap' semantics
        associated with the Counter64 base type are not preserved.
        It is possible that management applications which rely
        solely upon the (Counter64) ASN.1 tag to determine object
        semantics will mistakenly operate upon objects of this type
        as they would for Counter64 objects.

        This textual convention represents a limited and short-term
        solution, and may be deprecated as a long term solution is
        defined and deployed to replace it."
  SYNTAX Counter64

otpOsMonMIB     OBJECT IDENTIFIER ::= { otpApplications 2 }
otpOsMonMIBConformance
                OBJECT IDENTIFIER ::= { otpOsMonMIB 1 }
otpOsMonMIBObjects
                OBJECT IDENTIFIER ::= { otpOsMonMIB 2 }
otpOsMonMIBAlarms
                OBJECT IDENTIFIER ::= { otpOsMonMIB 4 }
otpOsMonMIBAlarmsV2
                OBJECT IDENTIFIER ::= { otpOsMonMIBAlarms 0 }


-- Datatypes

-- Managed Objects

load            OBJECT IDENTIFIER ::= { otpOsMonMIBObjects 1 }
disk            OBJECT IDENTIFIER ::= { otpOsMonMIBObjects 2 }

loadMemorySystemWatermark OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION    
        "Threshold in percent of the total available system
        memory, which specifies how much memory can be allocated
        by the system before an alarm is sent."
    ::= { load 1 }

loadMemoryErlProcWatermark OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only    
    STATUS      current    
    DESCRIPTION
        "Threshold in percent of the total available system
        memory, which specifies how much memory can be allocated
        by one Erlang process before an alarm is sent."
    ::= { load 2 }

loadTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LoadEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table with load and memory information
        for each node."
    ::= { load 3 }

loadEntry OBJECT-TYPE
    SYNTAX      LoadEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the loadTable."
    INDEX   { loadErlNodeName }
    ::= { loadTable 1 }

LoadEntry ::= SEQUENCE {
    loadErlNodeName                   DisplayString,
    loadSystemTotalMemory             Gauge32,
    loadSystemUsedMemory              Gauge32,
    loadLargestErlProcess             DisplayString,
    loadLargestErlProcessUsedMemory   Gauge32,
    loadCpuLoad                       Integer32,
    loadCpuLoad5                      Integer32,
    loadCpuLoad15                     Integer32,
    loadOsWordsize                    Unsigned32,
    loadSystemTotalMemory64           OTPCounterBasedGauge64,
    loadSystemUsedMemory64            OTPCounterBasedGauge64,
    loadLargestErlProcessUsedMemory64 OTPCounterBasedGauge64
    }

loadErlNodeName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of the erlang node, e.g. erlnode@host1."
    ::= { loadEntry 1 }

loadSystemTotalMemory OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of total memory in the system."
    ::= { loadEntry 2 }

loadSystemUsedMemory OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of used memory."
    ::= { loadEntry 3 }

loadLargestErlProcess OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The process identifier (Pid) of the largest Erlang
        process."
    ::= { loadEntry 4 }

loadLargestErlProcessUsedMemory OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of memory used by the largest Erlang
        process."
    ::= { loadEntry 5 }

loadCpuLoad OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The average load the last minute in percent of the CPU
	where the Erlang node runs."
    ::= { loadEntry 6 }

loadCpuLoad5 OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The average load the last 5 minutes in percent of the CPU
	where the Erlang node runs."
    ::= { loadEntry 7}

loadCpuLoad15 OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The average load the last 15 minutes in percent of the CPU
	where the Erlang node runs."
    ::= { loadEntry 8}

loadOsWordsize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The wordsize of the operating operating system."
    ::= { loadEntry 9 }

loadSystemTotalMemory64 OBJECT-TYPE
    SYNTAX      OTPCounterBasedGauge64
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of total memory in the system for 64-bit operating system."
    ::= { loadEntry 10 }

loadSystemUsedMemory64 OBJECT-TYPE
    SYNTAX      OTPCounterBasedGauge64
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of used memory for 64-bit operating system."
    ::= { loadEntry 11 }

loadLargestErlProcessUsedMemory64 OBJECT-TYPE
    SYNTAX      OTPCounterBasedGauge64
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of memory used by the largest Erlang
        process for 64-bit operating system.."
    ::= { loadEntry 12 }

diskAlmostFullThreshold OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only    
    STATUS      current    
    DESCRIPTION    
        "Threshold in percent of the available disk space,
        which specifies how much disk space can be used by
        a disk or partition before an alarm is sent."
    ::= { disk 1 }

diskTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DiskEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "A table with all local disks or partitions on each
          node."
    ::= { disk 2 }

diskEntry OBJECT-TYPE
    SYNTAX      DiskEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "A conceptual row in the diskTable."
    INDEX      { erlNodeId, diskId }
    ::= { diskTable 1 }

DiskEntry ::= SEQUENCE {
    diskId          Integer32,
    diskDescr       DisplayString,
    diskKBytes      Gauge32,
    diskCapacity    Integer32
    }

diskId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An integer that uniquely identifies the disk
        or partition."
    ::= { diskEntry 1 }

diskDescr OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "A string that identifies the disk or partition."
    ::= { diskEntry 2 }

diskKBytes OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "kbytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of total disk/partition space. "
    ::= { diskEntry 3 }

diskCapacity OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "How much of the disk's/partition's total capacity has
        been used, in percent."
    ::= { diskEntry 4 }


-- conformance information

otpOsMonMIBCompliances
                OBJECT IDENTIFIER ::= { otpOsMonMIBConformance 1 }
otpOsMonMIBGroups
                OBJECT IDENTIFIER ::= { otpOsMonMIBConformance 2 }


-- compliance statements

otpOsMonBasicCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for SNMPv2 entities which
        implement the OTP-OS-MON-MIB."
    MODULE  -- this module
        GROUP loadGroup
        DESCRIPTION
            "This group is mandatory for systems implementing the
            load supervison functionality."
        GROUP loadAlarmsGroup
        DESCRIPTION
            "This group is optional for systems implementing the
            load supervison functionality."
        GROUP diskGroup
        DESCRIPTION
            "This group is mandatory for system implementing the
            disk supervison functionality."
        GROUP diskAlarmsGroup
        DESCRIPTION
            "This group is optional for systems implementing the
            disk supervison functionality."
    ::= { otpOsMonMIBCompliances 1 }


-- units of conformance

loadGroup OBJECT-GROUP
    OBJECTS { loadMemorySystemWatermark,
              loadMemoryErlProcWatermark,
              loadSystemTotalMemory,
              loadSystemUsedMemory,
              loadLargestErlProcess,
              loadLargestErlProcessUsedMemory,
              loadCpuLoad,
              loadCpuLoad5,
              loadCpuLoad15,
              loadOsWordsize,
              loadSystemTotalMemory64,
              loadSystemUsedMemory64,
              loadLargestErlProcessUsedMemory64}
    STATUS  current
    DESCRIPTION
            "A collection of objects providing basic instrumentation
            of the load of the OTP system."
    ::= { otpOsMonMIBGroups 1 }

diskGroup OBJECT-GROUP
    OBJECTS { diskAlmostFullThreshold,
              diskDescr,
              diskKBytes,
              diskCapacity }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing basic instrumentation
            of the disks in the OTP system."
    ::= { otpOsMonMIBGroups 3 }

END