自定义通用物联网网关的MIB结构的参考

文章目录

  • 说明
  • 参考代码
  • 开源项目地址

说明

  • 由于时间有限,本人精力有限,所以给出的网关MIB结构,并非完美!
  • 本文网关MIB结构的结构定义构思在使用MIB builder自定义物联网网关的MIB结构
  • 欢迎小伙伴,点赞、关注和评论!

参考代码

--
-- IOTGATEWAY-MIB.my
-- MIB generated by MG-SOFT Visual MIB Builder Version 6.0  Build 88
-- Tuesday, December 19, 2023 at 20:04:38
--IOTGATEWAY-MIB DEFINITIONS ::= BEGINIMPORTSOBJECT-GROUP, NOTIFICATION-GROUP			FROM SNMPv2-CONF			enterprises, TimeTicks, IpAddress, Integer32, Gauge32, Counter32, OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY, NOTIFICATION-TYPE			FROM SNMPv2-SMI;-- 1.3.6.1.4.1.99999.1.1iotGateway MODULE-IDENTITY LAST-UPDATED "202312061422Z"		-- December 06, 2023 at 14:22 GMTORGANIZATION "yangzhou"CONTACT-INFO "Contact Information"DESCRIPTION "MIB for managing IoT Gateway devices."REVISION "202312061425Z"		-- December 06, 2023 at 14:25 GMTDESCRIPTION "Initial version."::= { iotGatewayMIB 1 }--
-- Node definitions
---- 1.3.6.1.4.1.99999yangzhouzhang OBJECT IDENTIFIER ::= { enterprises 99999 }-- 1.3.6.1.4.1.99999.1iotGatewayMIB OBJECT IDENTIFIER ::= { yangzhouzhang 1 }-- 1.3.6.1.4.1.99999.1.3deviceInfoGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 3 }-- 1.3.6.1.4.1.99999.1.3.1deviceModel OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"The model identifier for the IoT Gateway."::= { deviceInfoGroup 1 }-- 1.3.6.1.4.1.99999.1.3.2deviceName OBJECT-TYPESYNTAX OCTET STRING (SIZE (0..255))MAX-ACCESS read-writeSTATUS currentDESCRIPTION"Name of the gateway device"::= { deviceInfoGroup 2 }-- 1.3.6.1.4.1.99999.1.3.4serialNumber OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"The serial number of the IoT Gateway."::= { deviceInfoGroup 4 }-- 1.3.6.1.4.1.99999.1.3.5firmwareVersion OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"Description."::= { deviceInfoGroup 5 }-- 1.3.6.1.4.1.99999.1.3.6uptime OBJECT-TYPESYNTAX TimeTicksMAX-ACCESS read-onlySTATUS currentDESCRIPTION"The time since the IoT Gateway last restarted."::= { deviceInfoGroup 6 }-- 1.3.6.1.4.1.99999.1.3.7devInfoGroup OBJECT-GROUPOBJECTS { deviceModel, deviceName, serialNumber, firmwareVersion, uptime}STATUS currentDESCRIPTION "Description."::= { deviceInfoGroup 7 }-- 1.3.6.1.4.1.99999.1.5networkConfigGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 5 }-- 1.3.6.1.4.1.99999.1.5.1ipAddress OBJECT-TYPESYNTAX IpAddressMAX-ACCESS read-writeSTATUS currentDESCRIPTION"IP address of the gateway"::= { networkConfigGroup 1 }-- 1.3.6.1.4.1.99999.1.5.2subnetMask OBJECT-TYPESYNTAX IpAddressMAX-ACCESS read-writeSTATUS currentDESCRIPTION"Subnet mask of the gateway"::= { networkConfigGroup 2 }-- 1.3.6.1.4.1.99999.1.5.3defaultGateway OBJECT-TYPESYNTAX IpAddressMAX-ACCESS read-writeSTATUS currentDESCRIPTION"Default gateway IP address"::= { networkConfigGroup 3 }-- 1.3.6.1.4.1.99999.1.5.4dnsServers OBJECT-TYPESYNTAX OCTET STRING (SIZE (0..255))MAX-ACCESS read-writeSTATUS currentDESCRIPTION"List of DNS server IP addresses"::= { networkConfigGroup 4 }-- 1.3.6.1.4.1.99999.1.5.5ntpServer OBJECT-TYPESYNTAX IpAddressMAX-ACCESS read-writeSTATUS currentDESCRIPTION"NTP server IP address"::= { networkConfigGroup 5 }-- 1.3.6.1.4.1.99999.1.5.6netConfigGroup OBJECT-GROUPOBJECTS { ipAddress, subnetMask, defaultGateway, dnsServers, ntpServer}STATUS currentDESCRIPTION "Description."::= { networkConfigGroup 6 }-- 1.3.6.1.4.1.99999.1.8devicePerformanceGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 8 }-- 1.3.6.1.4.1.99999.1.8.1dataThroughput OBJECT-TYPESYNTAX Integer32MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Data throughput in bytes per second"::= { devicePerformanceGroup 1 }-- 1.3.6.1.4.1.99999.1.8.2packetLossRate OBJECT-TYPESYNTAX Integer32 (0..100)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Packet loss rate in percentage"::= { devicePerformanceGroup 2 }-- 1.3.6.1.4.1.99999.1.8.3responseTime OBJECT-TYPESYNTAX Integer32UNITS "milliseconds"MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Response time in milliseconds"::= { devicePerformanceGroup 3 }-- 1.3.6.1.4.1.99999.1.8.4deviceTemperature OBJECT-TYPESYNTAX Integer32 (-50..100)UNITS "degrees Celsiu"MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Device temperature in degrees Celsius"::= { devicePerformanceGroup 4 }-- 1.3.6.1.4.1.99999.1.8.5devPerformanceGroup OBJECT-GROUPOBJECTS { dataThroughput, packetLossRate, responseTime, deviceTemperature }STATUS currentDESCRIPTION "Description."::= { devicePerformanceGroup 5 }-- 1.3.6.1.4.1.99999.1.11eventsAndAlarmsGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 11 }-- 1.3.6.1.4.1.99999.1.11.2currentActiveAlarms OBJECT-TYPESYNTAX Gauge32MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Number of current active alarms"::= { eventsAndAlarmsGroup 2 }-- 1.3.6.1.4.1.99999.1.11.3historicalAlarmsRecord OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"Historical alarms record"::= { eventsAndAlarmsGroup 3 }-- 1.3.6.1.4.1.99999.1.11.4eventLog OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"Event log"::= { eventsAndAlarmsGroup 4 }-- 1.3.6.1.4.1.99999.1.11.5evAndAlaGroup OBJECT-GROUPOBJECTS { eventLog, historicalAlarmsRecord, currentActiveAlarms }STATUS currentDESCRIPTION "Description."::= { eventsAndAlarmsGroup 5 }-- 1.3.6.1.4.1.99999.1.12connectedDevicesGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 12 }-- 1.3.6.1.4.1.99999.1.12.1connectedDevicesTable OBJECT-TYPESYNTAX SEQUENCE OF ConnectedDevicesEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"Table of connected devices information"::= { connectedDevicesGroup 1 }-- 1.3.6.1.4.1.99999.1.12.1.1connectedDevicesEntry OBJECT-TYPESYNTAX ConnectedDevicesEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"Connected device entry"INDEX { deviceId }::= { connectedDevicesTable 1 }ConnectedDevicesEntry ::=SEQUENCE { connectedDevicesCountCounter32,deviceIdInteger32,deviceStatusOCTET STRING,networkStatsOCTET STRING}-- 1.3.6.1.4.1.99999.1.12.1.1.1connectedDevicesCount OBJECT-TYPESYNTAX Counter32MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Description."::= { connectedDevicesEntry 1 }-- 1.3.6.1.4.1.99999.1.12.1.1.2deviceId OBJECT-TYPESYNTAX Integer32 (1..25535)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Device ID"::= { connectedDevicesEntry 2 }-- 1.3.6.1.4.1.99999.1.12.1.1.3deviceStatus OBJECT-TYPESYNTAX OCTET STRING (SIZE (0..255))MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Device status information"::= { connectedDevicesEntry 3 }-- 1.3.6.1.4.1.99999.1.12.1.1.4networkStats OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"Description."::= { connectedDevicesEntry 4 }-- 1.3.6.1.4.1.99999.1.12.2connDevicesGrouup OBJECT-GROUPOBJECTS { connectedDevicesCount, deviceId, deviceStatus, networkStats }STATUS currentDESCRIPTION "Description."::= { connectedDevicesGroup 2 }-- 1.3.6.1.4.1.99999.1.13deviceStatusGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 13 }-- 1.3.6.1.4.1.99999.1.13.1deviceStatusTable OBJECT-TYPESYNTAX SEQUENCE OF DeviceStatusEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"Table of device status information"::= { deviceStatusGroup 1 }-- 1.3.6.1.4.1.99999.1.13.1.1deviceStatusEntry OBJECT-TYPESYNTAX DeviceStatusEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"Device status entry"INDEX { deviceStatusIndex }::= { deviceStatusTable 1 }DeviceStatusEntry ::=SEQUENCE { deviceStatusIndexInteger32,cpuUtilizationInteger32,memoryUtilizationInteger32,storageUtilizationInteger32,statusDescriptionOCTET STRING}-- 1.3.6.1.4.1.99999.1.13.1.1.1deviceStatusIndex OBJECT-TYPESYNTAX Integer32 (1..100)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Index for device status entry"::= { deviceStatusEntry 1 }-- 1.3.6.1.4.1.99999.1.13.1.1.2cpuUtilization OBJECT-TYPESYNTAX Integer32 (0..100)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"CPU utilization percentage"::= { deviceStatusEntry 2 }-- 1.3.6.1.4.1.99999.1.13.1.1.3memoryUtilization OBJECT-TYPESYNTAX Integer32 (0..100)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Memory utilization percentage"::= { deviceStatusEntry 3 }-- 1.3.6.1.4.1.99999.1.13.1.1.4storageUtilization OBJECT-TYPESYNTAX Integer32 (0..100)MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Storage utilization percentage"::= { deviceStatusEntry 4 }-- 1.3.6.1.4.1.99999.1.13.1.1.6statusDescription OBJECT-TYPESYNTAX OCTET STRING (SIZE (0..255))MAX-ACCESS read-onlySTATUS currentDESCRIPTION"Description of the device status"::= { deviceStatusEntry 6 }-- 1.3.6.1.4.1.99999.1.13.2devStatusGroup OBJECT-GROUPOBJECTS { cpuUtilization, memoryUtilization, storageUtilization, statusDescription, deviceStatusIndex}STATUS currentDESCRIPTION "Description."::= { deviceStatusGroup 2 }-- 1.3.6.1.4.1.99999.1.14iotGatewayTrapGroup OBJECT IDENTIFIER ::= { iotGatewayMIB 14 }-- 1.3.6.1.4.1.99999.1.14.1iotGatewayTraps OBJECT-IDENTITYSTATUS currentDESCRIPTION "Description."::= { iotGatewayTrapGroup 1 }-- 1.3.6.1.4.1.99999.1.14.1.1iotGatewayHighCpuUsage NOTIFICATION-TYPEOBJECTS { cpuUtilization }STATUS currentDESCRIPTION "This trap is sent when the CPU usage exceeds a predefined threshold."::= { iotGatewayTraps 1 }-- 1.3.6.1.4.1.99999.1.14.3iotTrapGroup NOTIFICATION-GROUPNOTIFICATIONS { iotGatewayHighCpuUsage }STATUS currentDESCRIPTION "Description."::= { iotGatewayTrapGroup 3 }END--
-- IOTGATEWAY-MIB.my
--

开源项目地址

  • IotGatewayMIB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Lidar】Open3D点云DBSCAN聚类算法:基于密度的点云聚类(单木分割)附Python代码

1 DBSCAN算法介绍 DBSCAN聚类算法是一种基于密度的聚类算法,全称为“基于密度的带有噪声的空间聚类应用”,英文名称为Density-Based Spatial Clustering of Applications with Noise。 DBSCAN聚类算法能够发现任意形状的类别,并且对噪音数据具…

全网最全pytest大型攻略,单元测试学这就够了!

pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架支持参数化可以更精确的控制要测试的测试用例丰富的插件,已有300多个各种各样的插件,也可自定义扩展&am…

数字化时代的智能支持:亚马逊云科技轻量应用服务器技术领先

轻量应用服务器是一种简化运维、门槛低的弹性服务器,它的"轻"主要体现在几个方面:开箱即用、应用优质、上手简洁、投入划算、运维简便以及稳定可靠。相较于普通的云服务器,轻量应用服务器简化了云服务的操作难度、使用和管理流程&a…

mysql:查询服务器当前打开的连接数量

使用命令show global status like Threads_connected;可以查询mysql服务器当前打开的连接数量。 例如,查询如下: 启动应用,连接数据库,占用了1个连接,再查询如下: 由输出可以看出,打开的连接…

低代码和纯代码:双向奔赴,共创未来ing……

低代码开发是近年来迅速崛起的软件开发方法,让编写应用程序变得更快、更简单。有人说它是美味的膳食,让开发过程高效而满足,但也有人质疑它是垃圾食品,缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢,…

【方案】如何利用大数据+云计算技术打造智能环境监控系统?

小编在之前的文章中也提到过基于云计算的环境智能监控系统是什么样的,收到了很多朋友的关注,今天小编就再次根据智能监控为切入点,深入讲解智能环境监控系统方案的详细落实。 1、传感器节点:首先需要选择适合应用场景的各类传感器…

Actuator内存泄露及利用Swagger未授权自动化测试实现

目录 0x00 前言 0x01 Actuator 泄露及利用 1、Actuator heapdump 内存泄露 2、知道泄露后如何进一步利用 3、如何发现 Actuator 泄露(白盒/黑盒) 0x02 Swagger自动化测试 1、什么是Swagger? 2、PostmanBurpSuiteXray 联动 3、思考 0x…

JavaAwtSwing的JFrame的pack()方法,容器适配子组件大小,笔记231220

pack()是extends自Window类的方法 使此窗口的大小适合其子组件的首选大小和布局。如果其中一个尺寸小于上一次调用setMinimumSize方法指定的最小尺寸,则会自动放大窗口的宽度和高度。 如果窗口和/或其所有者还不可显示,则在计算首选大小之前&#xff0…

tf卡数据恢复怎么做?记好这4个步骤!

“为了更好的保存数据,我一直都是用TF卡的。很多重要的文件和数据都保存在里面。但是我最近使用时,发现有部分数据丢失了。不知道该怎么办,有没有朋友可以帮帮我呀?” TF卡是一种闪存存储卡,通常用于手机、平板电脑和其…

[Java 基础] Java Stream

Java Stream 是 Java 8 引入的新特性之一,它提供了一种新的处理数据集合的方式。Stream 可以使我们更加方便地对集合进行处理和操作,同时还能提高代码的简洁性和可读性。 文章目录 什么是 Stream常见用法创建 Stream中间操作终端操作 总结 什么是 Stream…

Linux shell编程学习笔记37:readarray命令和mapfile命令

目录 0 前言1 readarray命令的格式和功能 1.1 命令格式1.2 命令功能1.3 注意事项2 命令应用实例 2.1 从标准输入读取数据时不指定数组名,则数据会保存到MAPFILE数组中2.2 从标准输入读取数据并存储到指定的数组2.3 使用 -O 选项指定起始下标2.4 用-n指定有效行数…

应急响应常用命令

应急响应的基本思路 a. 收集信息:收集告警信息、客户反馈信息、设备主机信息等 b. 判断类型:安全事件类型判断。(钓鱼邮件、Webshll、爆破、中毒等) c. 控制范围:隔离失陷设备 d. 分析研判:根据收集回来的…

北斗高精度基坑安全监测系统解决方案

目录 1.概述 1.1背景 1.2设计原则 1.3建设内容 2.系统架构 2.1总体架构 2.2拓扑图 2.3云平台 2.3.1概述 2.3.2技术架构 2.3.3平台功能 2.4监测子系统 2.4.1位移监测子系统 2.4.2应力监测子系统 2.4.3环境监测子系统 1.概述 1.1背景 基坑监测是基坑工程施工中的…

一个前端大佬的十年回顾 | 漫画前端的前世今生

作者:京东科技 胡骏 引言 岁月如梭,十载流年 前端技术,蓬勃向前 HTML,CSS,JavaScript 演绎出璀璨夺目的技术画卷 回到十年前,前端技术就像一名戴着厚重眼镜的书呆子,总是小心翼翼&#xff…

prometheus 服务不可用

现象: grafana查看面板无数据, prometheus容器一直重启 prometheus日志报错: callerhead.go:685 levelinfo componenttsdb msg"WAL segment loaded" segment448 maxSegment448 解决: docker stop prometheus rm -rf wal/ docker st…

车载蓝牙物联网解决方案

车载蓝牙物联网解决方案是一种基于蓝牙技术,结合物联网技术的智能车载系统。它利用蓝牙技术将智能手机、智能手表、智能车载设备等连接起来,实现设备之间的无缝通信和数据共享,为驾驶者提供更加便捷、安全和智能的驾驶体验。 车载蓝牙物联网解…

浅谈Java 虚拟机(1)

1 Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。 Java四个方面的关系 运行期环境代…

react hooks浅谈

一.useEffect useEffect是hooks中的生命周期函数 1.只要页面更新就触发回调: useEffect(() > { // 执行逻辑 }) 2.只运行一次(组件挂载和卸载时执行),第二个参数传空数组[]: useEffect(() > { // },[]) 3. 条件…

Flask重定向后无效果前端无跳转无反应问题

在网上搜了一下并没有什么好的解决方案,有的话也只是告诉你如何修改代码,并没有讲明白其中的原理以及导致问题的核心,因此特意去了解了一下HTTP的规范找到了答案 问题说明 问题出现的流程大致都是前端发送Ajax请求给后端,进行一些…

【愚公系列】2023年12月 HarmonyOS教学课程 037-ArkUI事件(焦点事件)

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主&#xf…