Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153204
  • 博文数量: 13
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 871
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-02 10:59
个人简介

Nobody.

文章分类

全部博文(13)

文章存档

2013年(13)

分类: 系统运维

2013-05-11 13:39:29

最近遇到一个需求,搜集应用服务器的运行时数据,供前端呈现时使用。数据的搜集依赖于SNMP,于是查阅了一些SNMP的资料,总结如下。

一、SNMP原理

简单的说,SNMP指的是一套网络协议,主要用在对服务器和网络设备的管理上。要使用SNMP对设备进行管理,需要在设备上部署遵守SNMP协议的软件,例如Linux环境下的SNMP采用C/S架构,不过这里的S,指的是被监控的设备,这是一个需要注意的地方。大概的原理就是,在被监控设备,比如Linux服务器A上安装net-snmpsnmpd服务负责搜集本机信息,以MIB(Management Information Base,管理信息库)的形式存储,同时监听UDP端口161,处理来自SNMP客户端的getset报文。更具体的关于SNMP原理的资料列举如下:


二、snmpd.conf配置

       SNMP配置看似复杂,实际上常用的配置项并不多。示例:

点击(此处)折叠或打开

  1. # cat /etc/snmp/snmpd.conf
  2. com2sec winway 127.0.0.1 123456
  3. group testgroup v2c winway
  4. view all included .1 80
  5. access testgroup "" any noauth prefix all none none
       运行snmpd服务:

点击(此处)折叠或打开

  1. # snmpd -c /etc/snmp/snmpd.conf


       测试,获取sysUpTime(The time (in hundredths of a second) since the network management portion of the system was last re-initialized.)

点击(此处)折叠或打开

  1. # snmpwalk -v 2c -c 123456 localhost 1.3.6.1.2.1.1.3
  2. DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (246029) 0:41:00.29


       配置文件的具体解析参考一下链接:

http://blog.csdn.net/fingding/article/details/6122236

http://magustest.com/blog/linux/setup-snmpd-conf/

       这里有一个OID(Object Identifier,对象标识符)的概念。MIB 包括了对特定数据变量的说明,数据变量被称为OID(具体参考SNMP原理部分)。可以到这里查询OID 

三、SNMP开发
     net-snmp提供了支持SNMP开发的C库,你可以开发自己的SNMP程序。然而从python、perl、tcl这样的脚本语言开始SNMP编程更容易,他们都带有SNMP开发支持。
阅读(2507) | 评论(0) | 转发(1) |
1

上一篇:没有了

下一篇:服务器批量管理工具

给主人留下些什么吧!~~