【snmp】snmp manager
本帖最后由 shijiang1130 于 2015-01-02 11:28 编辑通过反复几次实验发现,其实是自己把事情弄点有点复杂了,只要定义一个manager.conf文件,启动snmp,以后就可以在code里动态注册
1. snmpm:register_user
2. snmpm:register_agent
再就可以用通常的方法:
1. snmpm:sync_get
2. snmpm:sync_get_bulk2
3. snmpm:sync_get_next
来获得你要的信息了。 单个的你可以这么做: 本帖最后由 shijiang1130 于 2014-10-27 21:52 编辑
1.建个两个目录 manager/config 和 manager/db
2.写个配置文件 my_snmp.config[{snmp,
[{manager,
[{config, [{dir, "manager/conf/"},
{db_dir, "manager/db/"}]}]}]}]. 3. 在manager/conf里建2个文件,这两个文件就是第二步中定义的两个文件。
1)manager.conf
2)agents.conf 3.1 文件内容{port, 5000}.
{engine_id, "my_snmp"}.
{max_message_size, 484}. 3.2 文件内容{"my_snmp", "my_snmp", "public", , 161, "my_snmp",
infinity, 484, v2, v2c, "initial", noAuthNoPriv}. 启动时用参数 werl -config manager
从erlang的思路看,应该起2个manager吧 laputa73 发表于 2014-11-02 13:52 static/image/common/back.gif
从erlang的思路看,应该起2个manager吧一个对一个。不是一个对多个啊。还有一个问题就是为什么不能动态读取(community),hard coded觉得有点不安全 回复 9# shijiang1130
文档说
The information needed to handle agents should be stored in a file called agents.conf. It is also possible to add agents in run-time by calling the register_agent.
Each entry is a tuple:
{UserId, TargetName, Comm, Ip, Port, EngineID, Timeout, MaxMessageSize, Version, SecModel, SecName, SecLevel}.
comm应该是可以通过agent.conf设置的
只是例子程序是通过register_agent动态赋值的
页:
[1]
2