非常教程

Erlang 20参考手册

snmp

1. SNMP简介 | 1. SNMP Introduction

SNMP开发工具包包含以下部分:

  • 可理解SNMPv1(RFC1157),SNMPv2c(RFC1901,1905,1906和1907),SNMPv3(RFC2271,2272,273,2274和2275)或这些协议的任意组合的可扩展多语言SNMP代理。
  • 多语言SNMP管理器。
  • 一个MIB编译器,它理解SMIv1(RFC1155,1212和1215)和SMIv2(RFC1902,1903和1904)。

SNMP开发工具为快速代理/管理器的原型化和构建提供了一个环境。提供了以下信息后,此工具用于设置正在运行的多语言SNMP代理/管理器:

  • 抽象语法表示法1(ASN.1)中的管理信息库(MIB)
  • 用Erlang编写的MIB中托管对象的检测函数。

使用可扩展(代理/管理器)工具包的优点是从程序员中删除诸如类型检查,访问权限,协议数据单元(PDU),编码,解码和陷阱分发等细节,而这些细节只需编写检测工具函数,它们实现了MIB。该get-next函数只需要对表进行实现,而不是对全局命名树中的每个变量都实现。这些信息可以从ASN.1文件中推断出来。

1.1范围和宗旨

本手册将SNMP开发工具描述为Erlang / Open Telecom平台开发环境的一个组件。假设读者熟悉Erlang开发环境,这在单独的用户指南中有描述。

1.2先决条件

要了解“SNMP用户指南”中的内容,需要以下先决条件:

  • 简单网络管理协议版本1(SNMPv1)的基础知识
  • 基于社区的简单网络管理协议版本2(SNMPv2c)的基础知识
  • 简单网络管理协议版本3(SNMPv3)的基础知识
  • 使用SMIv 1和SMIv 2定义MIB的知识
  • 熟悉Erlang系统和Erlang编程

该工具要求Erlang发布4.7或更高版本。

1.3定义

SNMP用户指南中使用了以下定义。

MIB管理信息的概念存储库称为管理信息库(MIB)。它不包含任何数据,仅仅是可以访问哪些数据的定义。MIB的定义是对管理对象集合的描述。SMI MIB在抽象语法表示法1(ASN.1)语言的适应子集中指定。这个适应子集称为管理信息结构(SMI)。ASN.1 ASN.1在SNMP中以两种不同的方式使用。SMI基于ASN.1,协议中的消息使用ASN.1定义。管理对象

要管理的资源由驻留在MIB中的托管对象表示。在SNMP MIB中,托管对象是:

  • 标量变量,其中每个上下文只有一个实例。它们只有一个值,而不是像向量或结构这样的多个值。
  • ,可以动态生长。
  • 一个表元素,它是一种特殊类型的标量变量。

操作SNMP依赖于三个基本操作:获取%28对象%29、设置%28对象、值%29和get-Next%28 Object%29。仪器功能检测函数与每个托管对象相关联。这是一个函数,它实际上实现了操作,并将由代理在收到来自管理站的请求时调用。经理管理器生成命令并接收代理的通知。在一个系统中,通常只有少数几个经理。代理代理响应来自管理器的命令,并向经理发送通知。在一个系统中可能有许多代理。

1.4关于本手册

除此介绍性章节外,“SNMP用户指南”包含以下章节:

  • 第2章:“功能描述”描述SNMP开发工具包的特性和操作。它包括关于子代理和MIB加载,内部MIB和陷阱的主题.
  • 第三章:MIB编译器描述了MIB编译器的特性和操作。
  • 第4章:“运行应用程序”描述了如何启动和配置应用程序。还包括有关如何调试应用程序的主题。
  • 第5章:“Agent配置文件的定义”是一个参考章节,其中包含有关代理配置文件的更详细信息。
  • 第6章:“Manager配置文件的定义”是一个参考章节,其中包含关于管理器配置文件的更详细信息。
  • 第7章:“代理实现示例”描述如何使用SNMP开发工具包实现MIB。其中包括实施实例。
  • 第8章:“仪器功能”描述了如何在Erlang中为不同的操作定义插装函数。
  • 第9章:“仪器功能的定义”是一个参考章节,其中包含了更多关于仪器功能的详细信息。
  • 第10章:“Agent网if的定义”是一个参考章节,详细描述了Agent网的IF功能。
  • 第11章:“经理网的定义”是一个参考章节,详细介绍了Manager网的IF功能。
  • 第12章:“高级代理主题”描述子代理、代理语义、审计跟踪日志记录和分布式表的考虑。
  • 附录A描述了SNMPv 2到SNMPv 1错误消息的转换。
  • 附录B载有RFC 1903的案文RowStatus...

1.5在哪里找到更多信息

有关SNMP和Erlang/OTP开发系统的更多信息,请参阅以下文档:

  • 马歇尔T.罗斯(1991),“简单的书 - 互联网管理简介”,普伦蒂斯霍尔
  • Evan McGinnis和David Perkins(1997),“理解SNMP MIB”,Prentice-Hall
  • RFC1155,1157,1212和1215(SNMPv1)
  • RFC1901-1907(SNMPv2c)
  • RFC1908,2089(SNMPv1和SNMPv2共存)
  • RFC2271,RFC2273(SNMP标准MIB)
  • Mnesia用户指南
  • Erlang 4.4扩展用户指南
  • 参考手册
  • Erlang嵌入式系统用户指南“
  • 系统体系结构支持库(SASL)用户指南“
  • 安装指南
  • Asn1用户指南
  • Erlang的并发编程,第二版(1996),Prentice-Hall,ISBN 0-13-508301-X。

snmp相关

1.2.代理功能描述 | 2. Agent Functional Description
2.3.管理功能描述 | 3. Manager Functional Description
3.4. MIB编译器 | 4. The MIB Compiler
4.5.运行应用程序 | 5. Running the application
5.6.代理配置文件的定义 | 6. Definition of Agent Configuration Files
6.7. Manager配置文件的定义 | 7. Definition of Manager Configuration Files
7.8.代理实现示例 | 8. Agent Implementation Example
8.9.管理实施例 | 9. Manager Implementation Example
9.10.检测函数 | 10. Instrumentation Functions
10.检测函数的定义 | 11. Definition of Instrumentation Functions
11.Net if的定义 | 12. Definition of Agent Net if
12.管理Netif 的定义 | 13. Definition of Manager Net if
13.14.审计跟踪日志 | 14. Audit Trail Log
14.15.高级代理主题 | 15. Advanced Agent Topics
15.16. SNMP Appendix A
16.17. SNMP Appendix B
17.snmp
18.snmpa
19.snmpa_conf
20.snmpa_discovery_handler
21.snmpa_error
22.snmpa_error_io
23.snmpa_error_logger
24.snmpa_error_report
25.snmpa_local_db
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