我是 SNMP 的新手。在 SNMP 中是否有与 Cisco 10K 路由器上的“show ip route”等效的功能?
我被要求掌握我们工作中 100 多台打印机的总页数。它们都是某种描述的 HP Laser 或 Business Jet,并且绝大多数通过某种形式的 HP JetDirect 网卡/交换机连接。在输入 IP 地址并将相关数字复制并粘贴到 Excel 中数小时后,我现在被要求每周执行一次此操作。这让我觉得一定有一个更简单的方法,作为一名 IT 专业人士,我肯定可以找到一些节省时间的方法来解决这个问题。
我只想说,在尝试让 SNMP 为我工作一天左右之后,我现在感觉不是很专业!
据我了解,第一件事是在打印机上启用 SNMP。完毕。接下来我需要一些东西来查询 SNMP 位。我决定开源和免费,这里有人推荐 net-snmp 作为一个不错的工具(我想刚刚将打印机添加为 SolarWinds 中的节点,但我们显然对许可证有些紧张)。接下来我需要 MIB 的名称。为此,我相信 HP-LASERJET-COMMON-MIB 中包含正确的信息。下载并添加到 net-snmp。现在我需要 OID,我相信经过多次搜索后我认为它是印刷媒体单工计数(我们没有双面打印机,至少我们对此感兴趣)。运行以下命令会产生以下令人沮丧的输出:
snmpget -v 2c -c public 10.168.5.1 HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1
Run Code Online (Sandbox Code Playgroud)
(OID 源自运行:
snmptranslate -IR -On printed-media-simplex-count
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER
JET-COMMON-MIB..txt
.1.3.6.1.2.1.1.16.1.1.1 )
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: …Run Code Online (Sandbox Code Playgroud) 我们正在使用 OpManager 来监控远程 linux 机器上的接口设备。这些盒子有 VLAN,我们用它来收集有关正在中继到盒子的网络的信息。例如我们有 eth0.2, eth0.3, eth0.12, eth0.13, eth0.22, eth0.23(分别对应于 vlan 2、3、12、13、22、23)。
我们在管理 IP 地址上使用 SNMP 来检查并确保接口已启动。但是,如果我们必须重新启动网络服务,我们会遇到接口索引更改的问题。我们会收到如下错误信息:
接口“eth0.23 - eth0.23”已关闭。接口描述为“eth0.23”,索引为 11。未配置电路 ID。
即使界面已启动并正在运行。
我们如何通过重新启动将索引值更改为持久性。如果我们也将接口从静态 IP 更改为动态,我们已经看到了这一点。
我们使用 Puppet 愉快地管理了数百个 RedHat Enterprise Linux 服务器。一个很酷的副作用是我们可以转到 /var/lib/puppet/yaml/facts 并查看“facter”实用程序(Puppet 的一部分)的输出。
现在,我希望能够以同样的方式方便地获取更多信息,例如哪些服务已启动并正在运行或已停用,或者已安装的软件包列表。我不是在谈论监控,因为我对生成警报或图表不太感兴趣,但更多的是将信息集中起来进行分析。
我看到这样做的两个部分:
首先是将中央存储库连接到客户端的机制。我记得如果允许的话,net-snmp 已经暴露了 RPM 数据库,我猜它可能会或可能会暴露 chkconfig。
第二个工具来存储所述信息。
哪个工具可以帮助解决这个问题?我正在寻找一种以方便的方式存储数据的东西,可以是 SQL、YAML、XML 或一致格式的文本文件,并且可以很容易地告诉谁与谁交谈。
因为我只使用 snmp v3 并且想在 snmpd 中禁用版本 1 和版本 2c。
我怎样才能做到这一点?
我们注意到一些杂散数据包从我们的交换机出去他们不应该有的端口。
清除凸轮表后clear mac address-table,问题似乎消失了。我们目前最好的理论是表在某个时候被淹没,导致交换机表现出这种类似集线器的行为。
有谁知道是否可以通过 SNMP 监控表的大小,以便我们可以跟踪它?
我正在尝试使用 netsnmp 从 Linux 命令行在 netgear GS752TSX 上配置 VLAN。我已经在 Web 界面上创建了 VLAN 99,现在想要控制 pvid 设置、出口和标记。我已将这些确定为我需要更改的 MIB:
dot1qPvid.<port>
dot1qVlanStaticEgressPorts.99
dot1qVlanStaticUntaggedPorts.99
Run Code Online (Sandbox Code Playgroud)
Pvid 按我的预期工作:
$ snmpset -r 1 -t 20 -v 2c -c private <switch> dot1qPvid.17 u 99
Q-BRIDGE-MIB::dot1qPvid.17 = Gauge32: 99
$ snmpget -r 1 -t 20 -v 2c -c private <switch> dot1qPvid.17
Q-BRIDGE-MIB::dot1qPvid.17 = Gauge32: 99
Run Code Online (Sandbox Code Playgroud)
出口端口也是如此:
$ snmpset -r 1 -t 20 -v 2c -c private <switch> dot1qVlanStaticEgressPorts.99 x 'ff ff ff ff ff ff 00 00 00 00 00 …Run Code Online (Sandbox Code Playgroud) 我们刚刚购买了两台HP 5500-24G-4SFP野兽,我想将交换机正确集成到 Nagios 中。我们当前的大多数监控都通过 SNMP 主动进行轮询,所以我认为这是明智的,并利用这个机会开始snmptrapd/snmptt工作,以便我们可以在 Nagios 中接收 SNMP 陷阱。
现在我在设备的网络管理和监控配置指南中阅读了这个:
仅在必要时启用 SNMP 陷阱。SNMP 陷阱是内存密集型的,可能会影响设备性能。
我的问题是,虽然这种说法可能是正确的,但为什么不在这样的网络核心设备上使用 SNMP 陷阱,以及会产生什么样的性能影响?在这种情况下,我正在努力寻找“必要”的合理定义。
Zabbix 能够监控支持 SNMP 的设备,甚至可以在其 Web 界面中显示它们的状态:

绿色图标表示 Zabbix 正在接收数据。

红色图标表示 Zabbix 没有接收数据。
但是,如果 SNMP 设备不可用,我找不到任何明显的方法让 Zabbix 通知我。
今天我发现我的一台服务器磁盘空间不足;磁盘正在被 SNMP 监控,但自 12 月 15 日以来 Zabbix 没有收到任何数据!一直以来它都显示这个红色图标,但我当时没有理由查看主机列表,因此我错过了它。直到今天服务器因磁盘空间不足而死机,我的手机在晚餐中响起......
在调查中我发现,当然,snmpd is stopped。我本来希望两个月前就收到通知!
发生这种情况时,Zabbix 不应该生成事件吗?Zabbix 手册没有提及它。而谷歌只想告诉我如何监控特定的 OID。当 SNMP 设备根本没有响应时,我如何得到通知?
显而易见的方法是创建一个触发器,尽管我不知道这个数据点可能有什么项目名称(同样,它不在手册中或从 Google 中明显可见)。
服务器是 Zabbix 2.0.9,我使用它的内置模板 SNMP 磁盘模板。
我有一个运行多个虚拟机的 ESXi 主机。我使用 snmp 查询该主机的信息。我需要查找某个虚拟机上是否安装了 VMware Tools。那可能吗?如果是,它是哪个 OID?
在文档中有一些条目说的是
报告配置的虚拟硬件 MAC 地址。如果 VMware Tools 未运行,则该值为零或为空。
但是我找不到任何可以明确查询某个 VM 上是否安装了 VMware 工具的内容。
snmp ×10
linux ×2
networking ×2
switch ×2
cisco ×1
monitoring ×1
net-snmp ×1
netgear ×1
printer ×1
puppet ×1
redhat ×1
snmpd ×1
vlan ×1
vmware-esx ×1
vmware-esxi ×1
zabbix ×1