xref: /freebsd/usr.sbin/bsnmpd/modules/snmp_hast/BEGEMOT-HAST-MIB.txt (revision 0b3105a37d7adcadcb720112fed4dc4e8040be99)
1--
2-- Copyright (c) 2013 Mikolaj Golub <trociny@FreeBSD.org>
3-- All rights reserved.
4--
5-- Redistribution and use in source and binary forms, with or without
6-- modification, are permitted provided that the following conditions
7-- are met:
8-- 1. Redistributions of source code must retain the above copyright
9--    notice, this list of conditions and the following disclaimer.
10-- 2. Redistributions in binary form must reproduce the above copyright
11--    notice, this list of conditions and the following disclaimer in the
12--    documentation and/or other materials provided with the distribution.
13--
14-- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
15-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17-- ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
18-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24-- SUCH DAMAGE.
25--
26-- $FreeBSD$
27--
28
29BEGEMOT-HAST-MIB DEFINITIONS ::= BEGIN
30
31IMPORTS
32    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
33    Counter64, Integer32
34	FROM SNMPv2-SMI
35    TEXTUAL-CONVENTION, RowStatus
36	FROM SNMPv2-TC
37    InterfaceIndex, ifIndex
38	FROM IF-MIB
39    begemot
40	FROM BEGEMOT-MIB;
41
42begemotHast MODULE-IDENTITY
43    LAST-UPDATED "201304130000Z"
44    ORGANIZATION "FreeBSD"
45    CONTACT-INFO
46	    "		Mikolaj Golub
47
48	     Postal:	Bluhera 27v 11
49			61146 Kharkiv
50			Ukraine
51
52	     Fax:	N/A
53
54	     E-Mail:	trociny@FreeBSD.org"
55    DESCRIPTION
56	    "The Begemot MIB for managing HAST."
57    REVISION     "201304130000Z"
58    DESCRIPTION
59	    "Initial revision."
60    REVISION     "201307010000Z"
61    DESCRIPTION
62	    "Added hastResourceWorkerPid."
63    REVISION     "201312290000Z"
64    DESCRIPTION
65	    "Added hastResourceLocalQueue, hastResourceSendQueue,
66	    hastResourceRecvQueue, hastResourceDoneQueue,
67	    hastResourceIdleQueue."
68    ::= { begemot 220 }
69
70begemotHastObjects	OBJECT IDENTIFIER ::= { begemotHast 1 }
71
72-- ---------------------------------------------------------- --
73-- Configuration parameters
74-- ---------------------------------------------------------- --
75
76hastConfig	OBJECT IDENTIFIER ::= { begemotHastObjects 1 }
77
78hastConfigFile OBJECT-TYPE
79    SYNTAX	OCTET STRING
80    MAX-ACCESS	read-only
81    STATUS	current
82    DESCRIPTION
83	    "HAST configuration file location."
84    ::= { hastConfig 1 }
85
86-- ---------------------------------------------------------- --
87-- Resource Table
88-- ---------------------------------------------------------- --
89hastResourceTable OBJECT-TYPE
90    SYNTAX	SEQUENCE OF HastResourceEntry
91    MAX-ACCESS	not-accessible
92    STATUS	current
93    DESCRIPTION
94	"A table containing information about all HAST resources."
95    ::= { begemotHastObjects 2 }
96
97hastResourceEntry OBJECT-TYPE
98    SYNTAX	HastResourceEntry
99    MAX-ACCESS	not-accessible
100    STATUS	current
101    DESCRIPTION
102	"Table entry that describes one HAST resource."
103    INDEX	{ hastResourceIndex }
104    ::= { hastResourceTable 1 }
105
106HastResourceEntry ::= SEQUENCE {
107    hastResourceIndex			Integer32,
108    hastResourceName			OCTET STRING,
109    hastResourceRole			INTEGER,
110    hastResourceProvName		OCTET STRING,
111    hastResourceLocalPath		OCTET STRING,
112    hastResourceExtentSize		Integer32,
113    hastResourceKeepDirty		Integer32,
114    hastResourceRemoteAddr		OCTET STRING,
115    hastResourceSourceAddr		OCTET STRING,
116    hastResourceReplication		INTEGER,
117    hastResourceStatus			INTEGER,
118    hastResourceDirty			Counter64,
119    hastResourceReads			Counter64,
120    hastResourceWrites			Counter64,
121    hastResourceDeletes			Counter64,
122    hastResourceFlushes			Counter64,
123    hastResourceActivemapUpdates	Counter64,
124    hastResourceReadErrors		Counter64,
125    hastResourceWriteErrors		Counter64,
126    hastResourceDeleteErrors		Counter64,
127    hastResourceFlushErrors		Counter64,
128    hastResourceWorkerPid		INTEGER,
129    hastResourceLocalQueue		UNSIGNED32,
130    hastResourceSendQueue		UNSIGNED32,
131    hastResourceRecvQueue		UNSIGNED32,
132    hastResourceDoneQueue		UNSIGNED32,
133    hastResourceIdleQueue		UNSIGNED32
134}
135
136hastResourceIndex OBJECT-TYPE
137    SYNTAX	Integer32
138    MAX-ACCESS	read-only
139    STATUS	current
140    DESCRIPTION
141	"Resource index."
142    ::= { hastResourceEntry 1 }
143
144hastResourceName OBJECT-TYPE
145    SYNTAX	OCTET STRING
146    MAX-ACCESS	read-only
147    STATUS	current
148    DESCRIPTION
149	"Resource name."
150    ::= { hastResourceEntry 2 }
151
152hastResourceRole OBJECT-TYPE
153    SYNTAX	INTEGER { undef(0), init(1), primary(2), secondary(3) }
154    MAX-ACCESS	read-write
155    STATUS	current
156    DESCRIPTION
157	"Resource role."
158    ::= { hastResourceEntry 3 }
159
160hastResourceProvName OBJECT-TYPE
161    SYNTAX	OCTET STRING
162    MAX-ACCESS	read-only
163    STATUS	current
164    DESCRIPTION
165	"Resource GEOM provider name that appears as /dev/hast/<name>."
166    ::= { hastResourceEntry 4 }
167
168hastResourceLocalPath OBJECT-TYPE
169    SYNTAX	OCTET STRING
170    MAX-ACCESS	read-only
171    STATUS	current
172    DESCRIPTION
173	"Path to the local component which is used as a backend
174	provider for the resource."
175    ::= { hastResourceEntry 5 }
176
177hastResourceExtentSize OBJECT-TYPE
178    SYNTAX	Integer32
179    MAX-ACCESS	read-only
180    STATUS	current
181    DESCRIPTION
182	"Size of an extent.  Extent is a block which is
183	used for synchronization.  hastd(8) maintains a
184	map of dirty extents and extent is the smallest
185	region that can be marked as dirty.  If any part
186	of an extent is modified, entire extent will be
187	synchronized when nodes connect."
188    ::= { hastResourceEntry 6 }
189
190hastResourceKeepDirty OBJECT-TYPE
191    SYNTAX	Integer32
192    MAX-ACCESS	read-only
193    STATUS	current
194    DESCRIPTION
195	"Maximum number of dirty extents to keep dirty all
196	the time.  Most recently used extents are kept
197	dirty to reduce number of metadata updates."
198    ::= { hastResourceEntry 7 }
199
200hastResourceRemoteAddr OBJECT-TYPE
201    SYNTAX	OCTET STRING
202    MAX-ACCESS	read-only
203    STATUS	current
204    DESCRIPTION
205	"Address of the remote hastd(8) daemon for the resource."
206    ::= { hastResourceEntry 8 }
207
208hastResourceSourceAddr OBJECT-TYPE
209    SYNTAX	OCTET STRING
210    MAX-ACCESS	read-only
211    STATUS	current
212    DESCRIPTION
213	"Local address the resource is bound to."
214    ::= { hastResourceEntry 9 }
215
216hastResourceReplication OBJECT-TYPE
217    SYNTAX	INTEGER { fullsync(0), memsync(1), async(2) }
218    MAX-ACCESS	read-only
219    STATUS	current
220    DESCRIPTION
221	"Resource replication mode."
222    ::= { hastResourceEntry 10 }
223
224hastResourceStatus OBJECT-TYPE
225    SYNTAX	INTEGER { complete(0), degraded(1) }
226    MAX-ACCESS	read-only
227    STATUS	current
228    DESCRIPTION
229	"Resource replication status."
230    ::= { hastResourceEntry 11 }
231
232hastResourceDirty OBJECT-TYPE
233    SYNTAX	Counter64
234    MAX-ACCESS	read-only
235    STATUS	current
236    DESCRIPTION
237	"Current number of dirty extents for the resource."
238    ::= { hastResourceEntry 12 }
239
240hastResourceReads OBJECT-TYPE
241    SYNTAX	Counter64
242    MAX-ACCESS	read-only
243    STATUS	current
244    DESCRIPTION
245	"Count of resource local read operations."
246    ::= { hastResourceEntry 13 }
247
248hastResourceWrites OBJECT-TYPE
249    SYNTAX	Counter64
250    MAX-ACCESS	read-only
251    STATUS	current
252    DESCRIPTION
253	"Count of resource local write operations."
254    ::= { hastResourceEntry 14 }
255
256hastResourceDeletes OBJECT-TYPE
257    SYNTAX	Counter64
258    MAX-ACCESS	read-only
259    STATUS	current
260    DESCRIPTION
261	"Count of resource local delete operations."
262    ::= { hastResourceEntry 15 }
263
264hastResourceFlushes OBJECT-TYPE
265    SYNTAX	Counter64
266    MAX-ACCESS	read-only
267    STATUS	current
268    DESCRIPTION
269	"Count of resource local flush operations."
270    ::= { hastResourceEntry 16 }
271
272hastResourceActivemapUpdates OBJECT-TYPE
273    SYNTAX	Counter64
274    MAX-ACCESS	read-only
275    STATUS	current
276    DESCRIPTION
277	"Count of resource local activemap updates."
278    ::= { hastResourceEntry 17 }
279
280hastResourceReadErrors OBJECT-TYPE
281    SYNTAX	Counter64
282    MAX-ACCESS	read-only
283    STATUS	current
284    DESCRIPTION
285	"Count of resource local read operations that failed."
286    ::= { hastResourceEntry 18 }
287
288hastResourceWriteErrors OBJECT-TYPE
289    SYNTAX	Counter64
290    MAX-ACCESS	read-only
291    STATUS	current
292    DESCRIPTION
293	"Count of resource local write operations that failed."
294    ::= { hastResourceEntry 19 }
295
296hastResourceDeleteErrors OBJECT-TYPE
297    SYNTAX	Counter64
298    MAX-ACCESS	read-only
299    STATUS	current
300    DESCRIPTION
301	"Count of resource local delete operations that failed."
302    ::= { hastResourceEntry 20 }
303
304hastResourceFlushErrors OBJECT-TYPE
305    SYNTAX	Counter64
306    MAX-ACCESS	read-only
307    STATUS	current
308    DESCRIPTION
309	"Count of resource local flush operations that failed."
310    ::= { hastResourceEntry 21 }
311
312hastResourceWorkerPid OBJECT-TYPE
313    SYNTAX	INTEGER
314    MAX-ACCESS	read-only
315    STATUS	current
316    DESCRIPTION
317	"Worker process ID."
318    ::= { hastResourceEntry 22 }
319
320hastResourceLocalQueue OBJECT-TYPE
321    SYNTAX	UNSIGNED32
322    MAX-ACCESS	read-only
323    STATUS	current
324    DESCRIPTION
325	"Number of outstanding I/O requests to the local component."
326    ::= { hastResourceEntry 23 }
327
328hastResourceSendQueue OBJECT-TYPE
329    SYNTAX	UNSIGNED32
330    MAX-ACCESS	read-only
331    STATUS	current
332    DESCRIPTION
333	"Number of outstanding I/O requests to send to the remote
334	component."
335    ::= { hastResourceEntry 24 }
336
337hastResourceRecvQueue OBJECT-TYPE
338    SYNTAX	UNSIGNED32
339    MAX-ACCESS	read-only
340    STATUS	current
341    DESCRIPTION
342	"Number of outstanding I/O requests waiting for response
343	from the remote component."
344    ::= { hastResourceEntry 25 }
345
346hastResourceDoneQueue OBJECT-TYPE
347    SYNTAX	UNSIGNED32
348    MAX-ACCESS	read-only
349    STATUS	current
350    DESCRIPTION
351	"Number of processed I/O requests to return to the kernel."
352    ::= { hastResourceEntry 26 }
353
354hastResourceIdleQueue OBJECT-TYPE
355    SYNTAX	UNSIGNED32
356    MAX-ACCESS	read-only
357    STATUS	current
358    DESCRIPTION
359	"Number of request objects in the free bucket."
360    ::= { hastResourceEntry 27 }
361
362END
363