标签: snmp

SNMPD 未正确绑定

操作系统:Debian 5.0.3
SNMPD 版本:5.4.1

我的 snmpd.conf 文件中有以下两行:

接口 eth0
代理地址 udp:161

我的系统日志中出现以下错误:

Oct 5 18:04:44 webdb003 snmpd[29864]: /etc/snmp/snmpd.conf: line 434: Error: Missing TYPE parameter
Oct 5 18:04:44 webdb003 snmpd[29864]: net-snmp: 1 error( s) 在配置文件中
10 月 5 日 18:04:44 webdb003 snmpd[29864]:打开指定端点“udp:161”时出错
10 月 5 日 18:04:44 webdb003 snmpd[29864]:服务器退出,代码为 1

此处的文档说那是正确的语法。但是,如果我将其更改为 agentaddress 127.0.0.1:161,则可以在连接到 localhost 时正确地 snmpwalk MIB 列表。我的问题是我也希望它也能够在公共地址上进行 snmpwalk 而不必指定公共地址,因为我必须将此配置文件推送到我的所有服务器,而且我真的不想编写配置文件每个服务器只是因为ip地址的不同。

syslog snmp

7
推荐指数
2
解决办法
2万
查看次数

模拟 SNMP 陷阱以测试监控

我正在尝试在 Windows 上使用 Net-SNMP 来模拟应该在我们的监视系统上触发警报的陷阱。

这是设置:

  • 发送陷阱的 Windows 7 客户端
  • Net-SNMP 作为发送陷阱的软件
  • 使用 Adventnet ManageEngine OpManager 作为 NMS 的 Linux(不相关)

这就是我想要完成的

发送带有 OID .1.3.6.1.4.1.5089.1.0.1 的陷阱(根据我加载到我的 NMS 中的 MIB)和一些消息,看看我是否可以在我的 NMS 中收到任何警报。我可以看到我实际上在我的防火墙中发送了一个陷阱,但我不知道它包含什么。

到目前为止,这是我的尝试:

snmptrap.exe -v 2c -c xxxxxxx 192.168.100.65 '' 6 0 .1.3.6.1.4.1.5089.1.0.1 s "123456"

但是,我似乎找不到任何包含 snmptrap 示例的合理文档。基本上,我需要知道什么:

  • '' <- 为什么我需要这个?我可以省略它,它仍然会发送一个陷阱
  • 6 <- 企业通用陷阱,我假设。这样对吗?
  • 0 <- 我不知道,我需要某种价值
  • .1.3.6.1.4.1.5089.1.0.1 <- 我假设的企业特定 OID,后面是否应该有更多数字
  • s <- 表示字符串
  • "123456" <- 只是一个随机的测试字符串...

这对我来说没有多大意义,如果有人能对此有所了解,我将不胜感激。

snmp oid surveillance

7
推荐指数
1
解决办法
3万
查看次数

如何从间歇性连接的站点收集 SNMP 读数?

我正在现场为当前使用 Cacti 的许多系统收集 SNMP 数据。这些系统分布在许多并不总是连接到互联网的站点上,但我还需要将数据集中在单个系统(数据中心托管服务器)上并从中获取图表。

如果我使用集中式 Cacti 直接轮询远程系统,我会在站点未连接到 Internet 时丢失数据。我应该在现场记录数据(我在每个站点都有一个服务器,我可以在上面运行我想要的任何东西),然后将所有内容“同步”到中央系统。

一个 hack 可以是 cacti 或直接rrdtool在现场,然后定期将rsyncRRD 数据发送到中央 Cacti 系统,但这听起来不像是一个“干净”的解决方案:每个 RRD 都必须在两个地方定义,并rsync使用特定的文件名。

你能提出更好的解决方案吗?Cacti 不是必需的,但我想在中央系统上使用类似的东西。现场系统只需要收集数据我不需要在那里绘制数据或管理用户查看数据的权限等等,用户只会访问集中式系统。

rrdtool snmp cacti

7
推荐指数
1
解决办法
843
查看次数

我可以给我自己的 MIB 任何我想要的 OID 吗?是否有应用 MIB OID 的约定?

我为我的应用程序创建了一个标量 MIB,监控 request_queue_size。我跟着写 MIB 教程。OID 有一个很长的分层 OID。我想知道我是否可以给出一个像 1.1 这样的简短分层 OID。有什么约定吗?

我的应用程序托管在 Ubuntu 上。

snmp oid snmpd

7
推荐指数
1
解决办法
9128
查看次数

snmptt 不翻译陷阱,即使 translate_log_trap_oid=1

我在配置snmptt以正确转换 snmp 陷阱时遇到了一些麻烦。

下面是一个问题:

/etc/snmp/snmptt.conf 反映:

EVENT fgFmTrapIfChange .1.3.6.1.4.1.12356.101.6.0.1004 "Status Events" Critical
FORMAT $*
EXEC /usr/local/nagios/libexec/eventhandlers/submit_check_result $r "snmp_traps" 2 "$O: $+*" "$*"
SDESC

Trap is sent to the managing FortiManager if an interface IP is changed
Variables:
  1: fnSysSerial
  2: ifName
  3: fgManIfIp
  4: fgManIfMask
EDESC
Run Code Online (Sandbox Code Playgroud)

当收到陷阱时,/var/log/messages 反映:

Sep  6 12:07:32 SNMPMANAGERHOST snmptrapd[15385]:
2012-09-06 12:07:32 <UNKNOWN>
[UDP:
[192.168.100.2]:162->[192.168.100.31]]:
#012.1.3.6.1.2.1.1.3.0 = Timeticks: (707253943) 81 days, 20:35:39.43
#011.1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.12356.101.6.0.1004
#011.1.3.6.1.4.1.12356.100.1.1.1.0 = STRING: FGTNNNNNNNNN
#011.1.3.6.1.2.1.31.1.1.1.1.10 = STRING: internal4
#011.1.3.6.1.4.1.12356.101.6.2.1.0 …
Run Code Online (Sandbox Code Playgroud)

networking linux snmp net-snmp

7
推荐指数
1
解决办法
1万
查看次数

如何使用 SNMP OID 轮询 ARP 表?

当您需要轮询设备的 ARP 表时,传统观点是使用ipNetToMediaPhysAddressatPhysAddress;但是,根据 Cisco 的文档,这两个 OID 均已弃用。

这些 OID 工作得很好;但是,我正在构建一个新工具,因此如果可能,使用最新的 OID 是有意义的。

是否有未弃用的 SNMP OID 来查询设备中的 ARP 表?到目前为止,谷歌还没有为我提供这个答案......


Mircea 的答案在较新的 IOS 上运行良好...

[mpenning@something]$ snmpbulkwalk -v 2c -c public -Osq 192.0.2.1 ipNetToPhysicalPhysAddress
ipNetToPhysicalPhysAddress.2.ipv4."192.0.2.1" a4:4c:11:90:56:80
ipNetToPhysicalPhysAddress.2.ipv4."192.0.2.2" a4:4c:11:96:68:0
ipNetToPhysicalPhysAddress.2.ipv4."192.0.2.101" 0:90:b:43:80:74
[mpenning@something]$ snmpbulkwalk -v 2c -c public -Oqv 192.0.2.1 sysDescr
Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), Version 15.2(2)T1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Wed 29-Feb-12 23:44 by prod_rel_team
[mpenning@something]$
Run Code Online (Sandbox Code Playgroud)

较旧的 IOS …

networking ethernet ip arp snmp

7
推荐指数
1
解决办法
2万
查看次数

如何根据 SNMP 中的原始 CPU 滴答计算 CPU %

根据http://net-snmp.sourceforge.net/docs/mibs/ucdavis.html#scalar_notcurrent ssCpuUserssCpuSystemssCpuIdle等被弃用,以支持原始变体(ssCpuRawUser等)。

前一个值(不包括 nice、wait、kernel、interrupt 等)返回一个百分比值:

在最后一分钟内计算的处理用户级代码所花费的 CPU 时间百分比。

此对象已被弃用,取而代之的是“ ssCpuRawUser(50)”,它可用于计算相同的指标,但可以在任何所需的时间段内计算。

原始值返回 CPU 花费的“原始”滴答数:

处理用户级代码所花费的“滴答”数(通常为 1/100 秒)。

在多处理器系统上,“ ssCpuRaw*”计数器在所有 CPU 上累积,因此它们的总和通常为 N*100(对于 N 个处理器)。

我的问题是:如何将刻度数转换为百分比?

也就是说,你怎么知道每秒有多少滴答声(通常——这意味着不总是——1/100s,这意味着每 100 秒一次,或者滴答声代表 1/100 秒)。

我想您还需要知道有多少个 CPU,或者您需要获取所有 CPU 值以将它们加在一起。我似乎找不到一个 MIB,它可以为您提供 CPU 数的整数值,这使得前一条路线很尴尬。后一条路线似乎不可靠,因为一些数字重叠(有时)。例如,ssCpuRawWait有以下警告:

此对象不会在底层操作系统不测量此特定 CPU 指标的主机上实现。 该时间也可能包含在“ ssCpuRawSystem(52)”计数器内。

一些帮助将不胜感激。似乎到处都在说 % 已被弃用,因为它可以派生,但我还没有找到任何显示执行此派生的官方标准方法的地方。

第二个组成部分是这些“滴答声”似乎是累积的,而不是在某个时间段内。如何在一段时间内对值进行采样?

我想要的最终信息是:“当前”(过去 1-60 秒可能就足够了)的用户、系统、空闲、好(理想情况下是窃取,尽管似乎没有标准 MIB)的百分比,偏好较小的时间跨度)。

monitoring central-processing-unit nagios snmp

7
推荐指数
1
解决办法
2万
查看次数

如何远程安装、配置和维护 SNMP?

我希望在 Windows Server 2008 R2 上远程安装 SNMP 和 SNMP WMI 提供程序服务,为代理、陷阱和安全选项卡配置特定选项,然后确保这些服务和设置未被删除或关闭。这个目标是由希望使用 Zenoss 远程监控服务器健康状况促成的。

通过我在网上的搜索,我觉得这可以用 Powershell 完成,然后通过组策略推出,但我对此很陌生,有点令人困惑;我也可能错了。

我的一些服务器是企业版,而一些是标准版,都是 R2。我假设我必须为所有服务器安装 SP1、.Net 4.0 和 Powershell 3.0 才能在任何脚本中获得奇偶校验和可靠性。

到目前为止,我已经能够为 Powershell 编写一个脚本来调用 DISM 来安装 SNMP 服务并将该脚本设置为 GPO 中的登录脚本,但我知道这不是最好的方法,因为我不能只是去重新启动整个企业的服务器。

我需要指定以下项目: 代理 - 联系人和位置陷阱 - 社区名称和陷阱目标安全 - 发送身份验证陷阱 = 是,接受的社区名称只读并接受来自任何主机的 SNMP 陷阱 = 是

任何帮助将不胜感激!

remote-access monitoring snmp zenoss windows-server-2008-r2

7
推荐指数
1
解决办法
2万
查看次数

缺少 SNMP 服务安全选项卡 - Windows Server 2012 R2 - DC

我必须为 Windows 服务器上的 SNMP 服务配置安全设置。但是他们不见了!

以下是事实:

  • 操作系统:Windows Server 2012 R2

  • 我安装了 SNMP 功能,我相信我已经配置了服务(但我忘记在Security选项卡下添加另一个 IP )

  • 我知道在安装该功能后必须重新启动 SNMP 服务才能看到Security选项卡的问题(所以我已经重新启动了一些。)

  • 我的同事现在安装了 DC 服务器角色。

  • 现在我看不到Security选项卡了(我不知道它是否与 DC 角色的安装有关)。

  • 出于监控原因,我真的需要SNMP。(所以请不要建议使用WMI或其他东西)

  • 单击“SNMP-Service”-->“属性”时,我使用了域管理员

我该怎么做才能Security再次看到该标签?或者是否有可能通过 CMD 或 PowerShell 配置 SNMP 服务?

monitoring domain-controller snmp system-monitoring windows-server-2012-r2

7
推荐指数
2
解决办法
5万
查看次数

ifInOctets 与 ifHCInOctets 值中的 SNMP 差异

我正在尝试使用来自 SNMP 的数据在我的路由器上绘制特定接口的网络使用情况。我知道 ifInOctets/ifOutOctets 只有 32 位并且会在高速时溢出并使我的图形看起来很笨拙,但看起来 ifInOctets/ifOutOctets 和 ifHCInOctets/ifHCOutOctets 返回的值的差异并不总是相同的。我已经通过使用snmpwalk | grep InOctets和减去这些值进行了几次测试。有时我看到 32 位计数器的变化明显小于 64 位版本的变化(超过 50%),有时我看到它相反,64 位计数器显示较小的增量.

我是否在读取 64 位计数器的方式上遗漏了一些东西,或者它们的数据更新方式是否有区别?32 位数字与 /proc/net/dev 中的内容相匹配,所以我更倾向于相信它们,但是当速度太高时,包装问题使它们无法使用:

带翻转的哑图

以下是一些示例,每个 snmpwalk 的运行间隔大约为 10 秒:

$ snmpwalk  -c public -v2c 192.168.1.1 | grep -i InOctets.2
IF-MIB::ifInOctets.2 = Counter32: 2291487255
IF-MIB::ifHCInOctets.2 = Counter64: 2901400127083

$ snmpwalk  -c public -v2c 192.168.1.1 | grep -i InOctets.2
IF-MIB::ifInOctets.2 = Counter32: 2297202283
IF-MIB::ifHCInOctets.2 = Counter64: 2901400298056
Run Code Online (Sandbox Code Playgroud)

32 位更改:5715028

64 位更改:170973

$ snmpwalk  -c public -v2c 192.168.1.1 | …
Run Code Online (Sandbox Code Playgroud)

networking snmp linux-networking

7
推荐指数
1
解决办法
1万
查看次数