View Source snmpm (snmp v5.15)
Interface functions to the SNMP toolkit manager
The module snmpm
contains interface functions to the SNMP manager.
Common Data Types
The following data types are used in the functions below:
oid() = [byte()] - The oid() type is used to represent an ASN.1 OBJECT IDENTIFIER
snmp_reply() = {error_status(), error_index(), varbinds()}
error_status() = noError | atom()
error_index() = integer()
varbinds() = [varbind()]
atl_type() = read | write | read_write
target_name() = string() - Is a unique *non-empty* string
vars_and_vals() = [var_and_val()]
var_and_val() = {oid(), value_type(), value()} | {oid(), value()}
value_type() = o ('OBJECT IDENTIFIER') |
i ('INTEGER') |
u ('Unsigned32') |
g ('Unsigned32') |
s ('OCTET SRING') |
b ('BITS') |
ip ('IpAddress') |
op ('Opaque') |
c32 ('Counter32') |
c64 ('Counter64') |
tt ('TimeTicks')
value() = term()
community() = string()
sec_model() = any | v1 | v2c | usm
sec_name() = string()
sec_level() = noAuthNoPriv | authNoPriv | authPriv
See also the data types in snmpa_conf
.
Summary
Functions
agent_info(TargetName, Item) -> {ok, Val} | {error, Reason}
Equivalent to async_get2/4
async_get2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
Equivalent to async_get_next2/4
async_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
Equivalent to async_set2/4
async_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, ReqId} | {error, Reason}
backup(BackupDir) -> ok | {error, Reason}
cancel_async_request(UserId, ReqId) -> ok | {error, Reason}
cancel_notify_started(Pid) -> void()
change_log_size(NewSize) -> ok | {error, Reason}
demonitor(Ref) -> void()
Equivalent to format_reason/2
format_reason(Prefix, Reason) -> string()
info() -> [{Key, Value}]
load_mib(Mib) -> ok | {error, Reason}
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
Equivalent to log_to_txt/8
log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
monitor() -> Ref
name_to_oid(Name) -> {ok, Oids} | {error, Reason}
notify_started(Timeout) -> Pid
oid_to_name(Oid) -> {ok, Name} | {error, Reason}
oid_to_type(Oid) -> {ok, Type} | {error, Reason}
register_agent(UserId, TargetName, Config) -> ok | {error, Reason}
Equivalent to register_user/4
register_user(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
register_user_monitor(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
register_usm_user(EngineID, UserName, Conf) -> ok | {error, Reason}
restart(Ref) -> void()
set_log_type(NewType) -> {ok, OldType} | {error, Reason}
Equivalent to sync_get2/4
sync_get2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
sync_get_bulk2(UserId, TragetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Equivalent to sync_get_next2/4
sync_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Equivalent to sync_set2/4
sync_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
unload_mib(Mib) -> ok | {error, Reason}
unregister_agent(UserId, TargetName) -> ok | {error, Reason}
unregister_user(Id) -> ok | {error, Reason}
unregister_usm_user(EngineID, UserName) -> ok | {error, Reason}
update_agent_info(UserId, TargetName, Item, Val) -> ok | {error, Reason}
update_usm_user_info(EngineID, UserName, Item, Val) -> ok | {error, Reason}
usm_user_info(EngineID, UserName, Item) -> {ok, Val} | {error, Reason}
verbosity(Ref, Verbosity) -> void()
Equivalent to which_agents/1
which_agents(UserId) -> Agents
which_mibs() -> Mibs
which_users() -> Users
which_usm_users() -> UsmUsers
which_usm_users(EngineID) -> UsmUsers
Types
-type agent_config() :: {engine_id, snmp:engine_id()} | {address, inet:ip_address()} | {port, inet:port_number()} | {tdomain, snmp:tdomain()} | {community, snmp:community()} | {timeout, register_timeout()} | {max_message_size, snmp:mms()} | {version, snmp:version()} | {sec_moduel, snmp:sec_model()} | {sec_name, snmp:sec_name()} | {sec_level, snmp:sec_level()}.
-type pdu_type() :: snmp:pdu_type() | trappdu.
-type register_timeout() :: pos_integer() | snmp:snmp_timer().
-type target_name() :: string().
Functions
agent_info(TargetName, Item) -> {ok, Val} | {error, Reason}
Retrieve agent config.
Equivalent to async_get2/4
async_get2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
Asynchronous get-request
.
The reply, if it arrives, will be delivered to the user through a call to the
snmpm_user callback function handle_pdu
.
The send option timeout
specifies for how long the request is valid (after
which the manager is free to delete it).
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids)
View Source (since OTP R14B03)Equivalent to async_get_bulk2/6
async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts)
View Source (since OTP R14B03)async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
Asynchronous get-bulk-request
(See RFC1905).
The reply will be delivered to the user through a call to the snmpm_user
callback function handle_pdu
.
The send option timeout
specifies for how long the request is valid (after
which the manager is free to delete it).
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes no use of
this info, so the only use for it in such a configuration (when using the built
in net-if) would be tracing.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
Equivalent to async_get_next2/4
async_get_next2(UserId, TargetName, Oids, SendOpts)
View Source (since OTP R14B03)async_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error, Reason}
Asynchronous get-next-request
.
The reply will be delivered to the user through a call to the snmpm_user
callback function handle_pdu
.
The send option timeout
specifies for how long the request is valid (after
which the manager is free to delete it).
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
Equivalent to async_set2/4
async_set2(UserId, TargetName, VarsAndVals, SendOpts)
View Source (since OTP R14B03)async_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, ReqId} | {error, Reason}
Asynchronous set-request
.
The reply will be delivered to the user through a call to the snmpm_user
callback function handle_pdu
.
The send option timeout
specifies for how long the request is valid (after
which the manager is free to delete it).
When var_and_val() is {oid(), value()}, the manager makes an educated guess based on the loaded mibs.
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
backup(BackupDir) -> ok | {error, Reason}
Backup persistent data handled by the manager.
BackupDir cannot be identical to DbDir.
cancel_async_request(UserId, ReqId) -> ok | {error, Reason}
Cancel a previous asynchronous request.
cancel_notify_started(Pid) -> void()
Cancel a previous request to be notified of SNMP manager start.
change_log_size(NewSize) -> ok | {error, Reason}
Changes the log size of the Audit Trail Log. The application must be configured to use the audit trail log function. Please refer to disk_log(3) in Kernel Reference Manual for a description of how to change the log size.
The change is permanent, as long as the log is not deleted. That means, the log size is remembered across reboots.
demonitor(Ref) -> void()
Turn off monitoring of the SNMP manager.
Equivalent to format_reason/2
format_reason(Prefix, Reason) -> string()
This utility function is used to create a formatted (pretty printable) string of the error reason received from either:
- The
Reason
returned value if any of the sync/async get/get-next/set/get-bulk functions returns{error, Reason}
- The
Reason
parameter in the handle_error user callback function.
Prefix
should either be an indentation string (e.g. a list of spaces) or a
positive integer (which will be used to create the indentation string of that
length).
info() -> [{Key, Value}]
Returns a list (a dictionary) containing information about the manager. Information includes statistics counters, miscellaneous info about each process (e.g. memory allocation), and so on.
load_mib(Mib) -> ok | {error, Reason}
Load a Mib
into the manager. The MibName
is the name of the Mib, including
the path to where the compiled mib is found. For example,
Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpm:load_mib(Dir ++ "MY-MIB").
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
Equivalent to log_to_io/7
log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop)
View Source (since OTP R15B01,OTP R16B03)log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
Converts an Audit Trail Log to a readable format and prints it on stdio.
LogName
defaults to "snmpm_log". LogFile
defaults to "snmpm.log".
The Block
argument indicates if the log should be blocked during conversion.
This could be useful when converting large logs (when otherwise the log could
wrap during conversion). Defaults to true
.
See snmp:log_to_io for more info.
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Block :: boolean()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()]) -> snmp:void().
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], Block :: boolean()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename()) -> snmp:void().
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), Block :: boolean()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string()) -> snmp:void().
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), Block :: boolean()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string()) -> snmp:void().
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), Block :: boolean()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), Start :: snmp_log:log_time()) -> snmp:void().
Equivalent to log_to_txt/8
-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), Block :: boolean(), Start :: snmp_log:log_time()) -> snmp:void(); (LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), Start :: snmp_log:log_time(), Stop :: snmp_log:log_time()) -> snmp:void().
Equivalent to log_to_txt/8
log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop)
View Source (since OTP R16B03)-spec log_to_txt(LogDir :: snmp:dir(), Mibs :: [snmp:mib_name()], OutFile :: file:filename(), LogName :: string(), LogFile :: string(), Block :: boolean(), Start :: snmp_log:log_time(), Stop :: snmp_log:log_time()) -> snmp:void().
log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop) -> ok | {ok, Cnt} | {error, Reason}
Converts an Audit Trail Log to a readable text file. OutFile
defaults to
"./snmpm_log.txt". LogName
defaults to "snmpm_log". LogFile
defaults to
"snmpm.log".
The Block
argument indicates if the log should be blocked during conversion.
This could be useful when converting large logs (when otherwise the log could
wrap during conversion). Defaults to true
.
See snmp:log_to_txt for more info.
monitor() -> Ref
Monitor the SNMP manager. In case of a crash, the calling (monitoring) process will get a 'DOWN' message (see the erlang module for more info).
name_to_oid(Name) -> {ok, Oids} | {error, Reason}
Transform a alias-name to its oid.
Note that an alias-name is only unique within the mib, so when loading several mib's into a manager, there might be several instances of the same aliasname.
notify_started(Timeout) -> Pid
Request a notification (message) when the SNMP manager has started.
The Timeout
is the time the request is valid. The value has to be greater then
zero.
The Pid
is the process handling the supervision of the SNMP manager start.
When the manager has started a completion message will be sent to the client
from this process: {snmpm_started, Pid}
. If the SNMP manager was not started
in time, a timeout message will be sent to the client:
{snmpm_start_timeout, Pid}
.
A client application that is dependent on the SNMP manager will use this function in order to be notified of when the manager has started. There are two situations when this is useful:
- During the start of a system, when a client application could start prior to the SNMP manager but is dependent upon it, and therefore has to wait for it to start.
- When the SNMP manager has crashed, the dependent client application has to wait for the SNMP manager to be restarted before it can reconnect.
The function returns the pid() of a handler process, that does the supervision on behalf of the client application. Note that the client application is linked to this handler.
This function is used in conjunction with the monitor function.
oid_to_name(Oid) -> {ok, Name} | {error, Reason}
Transform a oid to its aliasname.
oid_to_type(Oid) -> {ok, Type} | {error, Reason}
Retrieve the type (asn1 bertype) of an oid.
register_agent(UserId, TargetName, Config) -> ok | {error, Reason}
Explicitly instruct the manager to handle this agent, with UserId
as the
responsible user.
Called to instruct the manager that this agent shall be handled. This function is used when the user knows in advance which agents the manager shall handle. Note that there is an alternate way to do the same thing: Add the agent to the manager config files (see agents.conf).
TargetName
is a non-empty string, uniquely identifying the agent.
The type of Val
depends on Item
:
[mandatory] engine_id = string()
[mandatory] tadress = transportAddress() % Depends on tdomain
[optional] port = inet:port_number()
[optional] tdomain = transportDomain()
[optional] community = string()
[optional] timeout = integer() | snmp_timer()
[optional] max_message_size = integer()
[optional] version = v1 | v2 | v3
[optional] sec_model = any | v1 | v2c | usm
[optional] sec_name = string()
[optional] sec_level = noAuthNoPriv | authNoPriv | authPriv
Note that if no tdomain
is given, the default value, transportDomainUdpIpv4
,
is used.
Note that if no port
is given and if taddress
does not contain a port
number, the default value is used.
Equivalent to register_user/4
register_user(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
Register the manager entity (=user) responsible for specific agent(s).
Module
is the callback module (snmpm_user behaviour) which will be called
whenever something happens (detected agent, incoming reply or incoming
trap/notification). Note that this could have already been done as a consequence
of the node config. (see users.conf).
The argument DefaultAgentConfig
is used as default values when this user
register agents.
The type of Val
depends on Item
:
community = string()
timeout = integer() | snmp_timer()
max_message_size = integer()
version = v1 | v2 | v3
sec_model = any | v1 | v2c | usm
sec_name = string()
sec_level = noAuthNoPriv | authNoPriv | authPriv
Equivalent to register_user_monitor/4
register_user_monitor(Id, Module, Data, DefaultAgentConfig) -> ok | {error, Reason}
Register the monitored manager entity (=user) responsible for specific agent(s).
The process performing the registration will be monitored. Which means that if that process should die, all agents registered by that user process will be unregistered. All outstanding requests will be canceled.
Module
is the callback module (snmpm_user behaviour) which will be called
whenever something happens (detected agent, incoming reply or incoming
trap/notification). Note that this could have already been done as a consequence
of the node config. (see users.conf).
The argument DefaultAgentConfig
is used as default values when this user
register agents.
The type of Val
depends on Item
:
community = string()
timeout = integer() | snmp_timer()
max_message_size = integer()
version = v1 | v2 | v3
sec_model = any | v1 | v2c | usm
sec_name = string()
sec_level = noAuthNoPriv | authNoPriv | authPriv
register_usm_user(EngineID, UserName, Conf) -> ok | {error, Reason}
Explicitly instruct the manager to handle this USM user. Note that there is an alternate way to do the same thing: Add the usm user to the manager config files (see usm.conf).
The type of Val
depends on Item
:
sec_name = string()
auth = usmNoAuthProtocol | usmHMACMD5AuthProtocol | usmHMACSHAAuthProtocol | usmHMAC128SHA224AuthProtocol | usmHMAC192SH256AuthProtocol | usmHMAC256SHA384AuthProtocol | usmHMAC384SHA512AuthProtocol
auth_key = [integer()] (length 16 if auth = usmHMACMD5AuthProtocol,
length 20 if auth = usmHMACSHAAuthProtocol,
length 28 if auth = usmHMAC128SHA224AuthProtocol,
length 32 if auth = usmHMAC192SHA256AuthProtocol,
length 48 if auth = usmHMAC256SHA384AuthProtocol,
length 64 if auth = usmHMAC384SHA512AuthProtocol)
priv = usmNoPrivProtocol | usmDESPrivProtocol | usmAesCfb128Protocol
priv_key = [integer()] (length is 16 if priv = usmDESPrivProtocol | usmAesCfb128Protocol).
restart(Ref) -> void()
Restart the indicated process (Ref
). Note that its not without risk to restart
a process, and should therefore be used with care.
set_log_type(NewType) -> {ok, OldType} | {error, Reason}
Changes the run-time Audit Trail log type.
Note that this has no effect on the application configuration as defined by configuration files, so a node restart will revert the config to whatever is in those files.
This function is primarily useful in testing/debugging scenarios.
Equivalent to sync_get2/4
sync_get2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Synchronous get-request
.
Remaining
is the remaining time of the given (or default) timeout time.
When Reason is {send_failed, ...} it means that the netif process failed to send the message. This could happen because of any number of reasons, i.e. encoding error. _ActualReason is the actual reason in this case.
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
For SnmpInfo
, see the user callback function
handle_report.
sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids)
View Source (since OTP R14B03)Equivalent to sync_get_bulk2/6
sync_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts)
View Source (since OTP R14B03)sync_get_bulk2(UserId, TragetName, NonRep, MaxRep, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Synchronous get-bulk-request
(See RFC1905).
Remaining
is the remaining time of the given (or default) timeout time.
When Reason is {send_failed, ...} it means that the netif process failed to send the message. This could happen because of any number of reasons, i.e. encoding error. _ActualReason is the actual reason in this case.
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
For SnmpInfo
, see the user callback function
handle_report.
Equivalent to sync_get_next2/4
sync_get_next2(UserId, TargetName, Oids, SendOpts)
View Source (since OTP R14B03)sync_get_next2(UserId, TargetName, Oids, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Synchronous get-next-request
.
Remaining
is the remaining time of the given (or default) timeout time.
When Reason is {send_failed, ...} it means that the netif process failed to send the message. This could happen because of any number of reasons, i.e. encoding error. _ActualReason is the actual reason in this case.
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
For SnmpInfo
, see the user callback function
handle_report.
Equivalent to sync_set2/4
sync_set2(UserId, TargetName, VarsAndVals, SendOpts)
View Source (since OTP R14B03)sync_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, SnmpReply, Remaining} | {error, Reason}
Synchronous set-request
.
Remaining
is the remaining time of the given (or default) timeout time.
When Reason is {send_failed, ...} it means that the netif process failed to send the message. This could happen because of any number of reasons, i.e. encoding error. _ActualReason is the actual reason in this case.
When var_and_val() is {oid(), value()}, the manager makes an educated guess based on the loaded mibs.
The send option extra
specifies an opaque data structure passed on to the
net-if process. The net-if process included in this application makes, with one
exception, no use of this info, so the only use for it in such a option (when
using the built in net-if) would be tracing. The one usage exception is: Any
tuple with snmpm_extra_info_tag
as its first element is reserved for internal
use.
Some of the send options (community
, sec_model
, sec_name
, sec_level
and
max_message_size
) are override options
. That is, for this request, they
override any configuration done when the agent was registered.
For SnmpInfo
, see the user callback function
handle_report.
unload_mib(Mib) -> ok | {error, Reason}
Unload a Mib
from the manager. The MibName
is the name of the Mib, including
the path to where the compiled mib is found. For example,
Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpm:unload_mib(Dir ++ "MY-MIB").
unregister_agent(UserId, TargetName) -> ok | {error, Reason}
Unregister the agent.
unregister_user(Id) -> ok | {error, Reason}
Unregister the user.
unregister_usm_user(EngineID, UserName) -> ok | {error, Reason}
Unregister this USM user.
Equivalent to update_agent_info/4
update_agent_info(UserId, TargetName, Item, Val)
View Source (since OTP R14B04)update_agent_info(UserId, TargetName, Item, Val) -> ok | {error, Reason}
Update agent config. The function update_agent_info/3
should be used when several values needs to be updated atomically.
See function register_agent for more info about what kind of items are allowed.
update_usm_user_info(EngineID, UserName, Item, Val) -> ok | {error, Reason}
Update usm user config.
usm_user_info(EngineID, UserName, Item) -> {ok, Val} | {error, Reason}
Retrieve usm user config.
verbosity(Ref, Verbosity) -> void()
Sets verbosity for the designated process. For the lowest verbosity silence
,
nothing is printed. The higher the verbosity, the more is printed.
Equivalent to which_agents/1
which_agents(UserId) -> Agents
Get a list of all registered agents or all agents registered by a specific user.
which_mibs() -> Mibs
Get a list of all the mib's loaded into the manager.
which_users() -> Users
Get a list of the identities of all registered users.
which_usm_users() -> UsmUsers
Get a list of all registered usm users.
which_usm_users(EngineID) -> UsmUsers
Get a list of all registered usm users with engine-id EngineID
.