我正在尝试让PHP网站通过SNMP发送信息。我一直在阅读关于SNMP的分配,但我仍然对从哪里开始有点无能为力。
我相信我需要使用我的网站用来发送信息的所有OID创建一个MIB。它是否正确?我如何以及在何处定义这些变量(OID)?有人能指出我正确的方向吗?
我在服务器上使用FreeBSD。
提前致谢。
答案 0 :(得分:4)
您要做的是发送“SNMP陷阱”。您无需定义MIB。 MIB只是将“半人友好”名称转换为OID,例如SNMPv2-MIB :: sysContact.0到.1.3.6.1.2.1.1.4.0。对于私有应用程序,理论上你可以使用你想要的任何OID,就像你理论上可以使用任何你想要的私有网络的IP地址一样。我不确定是否有首选的“私人”OID分支。有一些很好的信息可以帮助您开始http://www.paessler.com/support/kb/questions/49/。看起来PHP并不直接支持发送SNMP陷阱,但您可以调用“snmptrap”命令。
答案 1 :(得分:1)
有几个问题:
要获得自己的顶级标识符,我认为你实际上必须在某个地方请求它(并且可能要付钱?)但是有一个实验范围可以用来测试。 (这不是php问题,它是一个snmp问题/功能)
据我所知,该协议假设一个进程侦听与http端口完全不同的端口,并且不使用TCP而是使用UDP。只是以通常的方式创建一个php页面是行不通的。
一个可能的解决方案可能是在apache(或你正在使用的任何web服务器)中使用snmp模块,它允许你在php中编写响应逻辑。我的感觉是,你在网上遇到的大部分snmp php内容都不是关于代理部分,而是关于管理器部分。
答案 2 :(得分:0)