非常教程

Erlang 20参考手册

snmp

snmpa_local_db

模块

snmpa_local_db

模块摘要

SNMP内置数据库

描述

该模块snmpa_local_db包含使用SNMP内置数据库实现表(和变量)的功能。数据库存在两个实例,一个是volatile,一个是persistent。易失性数据库是用ets实现的。持久性数据库使用dets实现。

这个数据库存在缩放问题。

  • 对于大型表格,插入和删除效率不高。 这个问题最好通过使用Mnesia来解决。 以下函数描述了snmpa_local_db的接口。 每个函数都有一个Mnesia等价物。 参数NameDb是一个元组{Name,Db},其中Name是被管理对象的符号名称(在MIB中定义),Db可以是volatile或persistent。 mnesia是不可能的,因为所有这些函数都是snmpa_local_db特定的。 常用数据类型在下面定义的函数中,使用以下类型:
  • NameDb = {Name, Db}
  • Name = atom(), Db = volatile | persistent
  • RowIndex = [int()]
  • Cols = [Col] | [{Col, Value}], Col = int(), Value = term()

其中,RowIndex表示OID的最后部分,用于指定表中行的索引。Cols是获取操作时的列号列表,以及设置操作时的列号和值列表。

输出

dump() -> ok | {error, Reason}

类型

此函数可用于手动将数据库转储到文件中。

match(NameDb, Pattern)

在表上执行ETS/Dets匹配。有关Pattern以及返回值。

print()print(TableName)print(TableName, Db)

类型

在屏幕上打印数据库的内容。这对于调试很有用,因为STANDARD-MIBOTP-SNMPEA-MIB(也可能是你自己的MIB)存储在snmpa_local_db中。

TableName是数据库中表的原子。当不提供名称时,将显示整个数据库。

table_create(NameDb) -> bool()

创建一个表。如果表已经存在,则旧副本将被销毁。

如果NameDb参数指定不正确,则返回false,否则返回true。

table_create_row(NameDb, RowIndex, Row) -> bool()

类型

在表中创建一行。Row是包含所有列(包括索引列)的值的元组。

table_delete(NameDb) -> void()

删除一个表。

table_delete_row(NameDb, RowIndex) -> bool()

删除表中的行。

table_exists(NameDb) -> bool()

检查表是否存在。

table_get_row(NameDb, RowIndex) -> Row | undefined

类型

Row是包含所有列(包括索引列)的值的元组。

另见

ets(3), dets(3), snmp_generic(3)

snmp相关

1.1. SNMP简介 | 1. SNMP Introduction
2.2.代理功能描述 | 2. Agent Functional Description
3.3.管理功能描述 | 3. Manager Functional Description
4.4. MIB编译器 | 4. The MIB Compiler
5.5.运行应用程序 | 5. Running the application
6.6.代理配置文件的定义 | 6. Definition of Agent Configuration Files
7.7. Manager配置文件的定义 | 7. Definition of Manager Configuration Files
8.8.代理实现示例 | 8. Agent Implementation Example
9.9.管理实施例 | 9. Manager Implementation Example
10.10.检测函数 | 10. Instrumentation Functions
11.检测函数的定义 | 11. Definition of Instrumentation Functions
12.Net if的定义 | 12. Definition of Agent Net if
13.管理Netif 的定义 | 13. Definition of Manager Net if
14.14.审计跟踪日志 | 14. Audit Trail Log
15.15.高级代理主题 | 15. Advanced Agent Topics
16.16. SNMP Appendix A
17.17. SNMP Appendix B
18.snmp
19.snmpa
20.snmpa_conf
21.snmpa_discovery_handler
22.snmpa_error
23.snmpa_error_io
24.snmpa_error_logger
25.snmpa_error_report
26.snmpa_mib_data
27.snmpa_mib_storage
28.snmpa_mpd
29.snmpa_network_interface
30.snmpa_network_interface_filter
31.snmpa_notification_delivery_info_receiver
32.snmpa_notification_filter
33.snmpa_supervisor
34.snmpc
35.snmpm
36.snmpm_conf
37.snmpm_mpd
38.snmpm_network_interface
39.snmpm_network_interface_filter
40.snmpm_user
41.snmp_community_mib
42.snmp_framework_mib
43.snmp_generic
44.snmp_index
45.snmp_notification_mib
46.snmp_pdus
47.snmp_standard_mib
48.snmp_target_mib
49.snmp_user_based_sm_mib
50.snmp_view_based_acm_mib
Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1