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