转自http://blog.chinaunix.net/u2/61187/showart_689604.html

用 snmp+mrtg 可以很好的实现对局域网内服务器状态的监控。 
     现在就以用 snmp+mrtg 监控一台局域网内的 redhat 机器( IP : 192.168.13.103 )的网卡、内存、 CPU 、DISKIO 为例子,谈一下如何实现。

基本的法办就是用一台 redhat 监控机器( IP : 192.168.13.105 ),通过 snmpwalk 命令去抓 目标服务器的状态数据,然后用 mrtg 画出图来。 
    1 、首先我们要把目标 snmpd.conf 文件的配好。这是用 snmpwalk 命令 一抓取数据的关健。下面是目标机器(IP : 192.168.13.103 )上的 /etc/snmp/snmpd.conf 文件部份内容,红色的部份是我对 snmpd.conf 所做的改动。
[root@wy1 root]# cat /etc/snmp/snmpd.conf

#### 
# First, map the community name "public" into a "security name"

#       sec.name  source          community 
com2sec notConfigUser  default       public  # 定义 community 名称为  public ,映射到安全名  notConfigUser 。

#### 
# Second, map the security name into a group name:

#       groupName      securityModel securityName 
group   notConfigGroup v1           notConfigUser   # 定义安全用户名 notConfigUser 映射到 notConfigGroup 组。 
group   notConfigGroup v2c           notConfigUser

#### 
# Third, create a view for us to let the group have rights to: # 定义一个 view, 来决定 notConfigUser 可以操作的范围。

# Make at least  snmpwalk -v 1 localhost -c public system fast again. # 定义可查看的 snmp 的范围。 
#       name           incl/excl     subtree         mask(optional) 
view    systemview    included   .1.3.6.1.2.1.1 
view    systemview    included   .1.3.6.1.2.1.25.1.1 
view all   included  .1 
#### 
# Finally, grant the group read-only access to the systemview view. # 给 notConfigGroup 组所定义 view 名  all  以只读权限。

#       group          context sec.model sec.level prefix read   write  notif 
access  notConfigGroup ""      any       noauth    exact  all  none none 
#access  notConfigGroup ""      any       noauth    exact  mib2 none none

# -----------------------------------------------------------------------------

# Here is a commented out example configuration that allows less 
# restrictive access.

# YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY 
# KNOWN AT YOUR SITE.  YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO 
# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE.

##       sec.name  source          community 
#com2sec local     localhost       COMMUNITY 
#com2sec mynetwork NETWORK/24      COMMUNITY

##     group.name sec.model  sec.name 
#group MyRWGroup  any        local 
#group MyROGroup  any        mynetwork 

#group MyRWGroup  any        otherv3user 
#...

##           incl/excl subtree                          mask 
#view all    included  .1                               80

## -or just the mib2 tree-

#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc 
#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

##                context sec.model sec.level prefix read   write  notif 
#access MyROGroup ""      any       noauth    0      all    none   none 
#access MyRWGroup ""      any       noauth    0      all    all    all

其实配制一个 snmpd.conf 文件不算太难, 
( 1 )首选是定义一个共同体名 (community) ,这里是 public ,及可以访问这个 public 的用户名( sec name ),这里是 notConfigUser 。 Public 相当于用户 notConfigUser 的密码:) 
#       sec.name  source          community 
com2sec notConfigUser  default       public 
( 2 )定义一个组名( groupName )这里是 notConfigGroup ,及组的安全级别,把 notConfigGroup 这个用户加到这个组中。   
            groupName      securityModel securityName 
group   notConfigGroup   v1           notConfigUser   
group   notConfigGroup   v2c           notConfigUser 
  ( 3 )定义一个可操作的范围 (view) 名,   这里是 all ,范围是  .1 
    #       name           incl/excl     subtree         mask(optional) 
       view  all             included     .1 
   ( 4 )定义 notConfigUser 这个组在 all 这个 view 范围内可做的操作,这时定义了 notConfigUser 组的成员可对.1 这个范围做只读操作。 
     #       group          context sec.model sec.level prefix read   write  notif 
access  notConfigGroup ""      any       noauth    exact  all  none none

ok, 这样我们的 snmpd.conf 文件就基本配成了,用 service  snmpd  restart 重启 snmpd 服务。

配置文件范例:

 ###############################################################################
#
# snmpd.conf:
# An example configuration file for configuring the ucd-snmp snmpd agent.
#
############################################################################### # sec.name source community
#com2sec notConfigUser default public
########################## 新定义一个用户myuser,并设置用户的密码为fistforward #################################################
#项目分类名|用户名 | 可访问的来源地址|社区(就是密码)
com2sec myuser 10.117.186.40 passed
com2sec myuser 127.0.0.1 passed ################################################## 定义组配置 ################################################################# # groupName securityModel securityName
#group notConfigGroup v2c notConfigUser
#定义一个组,将我们的用户加入进这个组,同时指定改组可以使用的snmp的协议版本
#项目分类名|组名|协议版本| 添加的用户
group mygroup v1 myuser
group mygroup v2c myuser ########################################## 定义一个view视图,设置视图的可看范围 ################################################
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.
view systemview included .1.3.6.1.2.1.25.1.
#项目名分类|视图名称|包含/排除|范围
view all included . ###################################################### 定义组可以看到的视图权限 #################################################
#项目分类名|组名|描述|sec.model|sec.level|prefix|可读读视图|可写的视图|notif
access mygroup "" any noauth exact all none none syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes

现在我们做一个测试,在监控机上打下面的命令:

 # snmpwalk -v  127.0.0.1 -c fistforward system
SNMPv2-MIB::sysDescr. = STRING: Linux dq_dev02 2.6.-573.7..el6.x86_64 # SMP Tue Sep :: UTC x86_64
SNMPv2-MIB::sysObjectID. = OID: NET-SNMP-MIB::netSnmpAgentOIDs.
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: () ::06.63
SNMPv2-MIB::sysContact. = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName. = STRING: dq_dev02
SNMPv2-MIB::sysLocation. = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange. = Timeticks: () ::00.06
SNMPv2-MIB::sysORID. = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.
SNMPv2-MIB::sysORID. = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID. = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID. = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID. = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID. = OID: IP-MIB::ip
SNMPv2-MIB::sysORID. = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID. = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr. = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr. = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr. = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr. = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr. = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr. = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr. = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr. = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06
SNMPv2-MIB::sysORUpTime. = Timeticks: () ::00.06

使用2c版本也可以

 # snmpwalk -v 2c 127.0.0.1 -c fistforward system
SNMPv2-MIB::sysDescr. = STRING: Linux dq_dev02 2.6.-573.7..el6.x86_64 # SMP Tue Sep :: UTC x86_64
SNMPv2-MIB::sysObjectID. = OID: NET-SNMP-MIB::netSnmpAgentOIDs.
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: () ::19.26

-v 2c

简单易懂的snmpd.conf配置文件说明的更多相关文章

  1. Python-S13作业-day3-之编辑ha.conf配置文件

    Python-S13作业-day3-之编辑ha.conf配置文件 需求: 让用户输入字符串类型的字典,实现对配置文件指定,backend  www.oldboy.org下的内容进行 * 查询 * 增加 ...

  2. Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件

    Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...

  3. [原]生产环境下的nginx.conf配置文件(多虚拟主机)

    [原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在 ...

  4. php.ini与php-fpm.conf配置文件的区别

    php-fpm.conf是PHP-FPM特有的配置文件 php.ini是所以php模式中必须的配置文件 两者的区别是,php-fpm.conf是PHP-FPM进程管理器的配置文件,php.ini是PH ...

  5. Apache2 httpd.conf配置文件中文版详解

    Apache2 httpd.conf配置文件中文版详解## 基于 NCSA 服务的配置文件.##这是Apache服务器主要配置文件.#它包含服务器的影响服务器运行的配置指令.#参见以取得关于这些指令的 ...

  6. redis cluster的conf配置文件配置

    redis cluster的conf配置文件配置 master配置文件如下: bind 127.0.0.1 port tcp-backlog timeout tcp-keepalive logleve ...

  7. ubuntu 18.04配置静态ip,解决无法上网问题,解决resolv.conf配置文件被覆盖

    Netplan 是 Ubuntu 17.10 中引入的一种新的命令行网络配置实用程序,用于在 Ubuntu 系统中轻松管理和配置网络设置. 它允许您使用 YAML 格式的描述文件来抽像化定义网络接口的 ...

  8. Nginx入门讲解——初步认识了解nginx.conf配置文件以及配置多个虚拟主机

    本文引自网络进攻学习之用https://blog.csdn.net/weixin_38111957/article/details/81080539 一. 引言上节文章讲述了如何用信号控制Nginx服 ...

  9. Nginx(二)------nginx.conf 配置文件

    上一篇博客我们将 nginx 安装在 /usr/local/nginx 目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件 nginx.conf 也在其中,后续对 nginx 的 ...

随机推荐

  1. 命令运行带参数的jar

    一.打包(此处用的是eclipse) 代码如下,此如引用了某博主的代码,因忘记地址,如博主发现此文,可私信我 package com.example.Open; import java.io.File ...

  2. 安装grub到U盘

    转自:http://hi.baidu.com/leeagle/item/6d022afc64bf7f5ec8f33743 安装GRUB到U盘 关键的几步是:3.激活/dev/sdb2 ,这步很重要,如 ...

  3. UBoot启动代码第一阶段流程

    http://blog.csdn.net/xautfengzi/article/details/7470134 前段时间了看了UBoot的源码,放了一段时间之后忘得差不多了.现做一些注释,方便以后温习 ...

  4. [转]Understanding Weak References

    原文地址:https://weblogs.java.net/blog/enicholas/archive/2006/05/understanding_w.html 推荐另一篇文章:http://www ...

  5. iOS NSURLConnection使用详解

    一.整体介绍 NSURLConnection是苹果提供的原生网络访问类,但是苹果很快会将其废弃,且由NSURLSession(iOS7以后)来替代.目前使用最广泛的第三方网络框架AFNetworkin ...

  6. 汇编入门学习笔记 (九)—— call和ret

    疯狂的暑假学习之  汇编入门学习笔记 (九)--  call和ret 參考: <汇编语言> 王爽 第10章 call和ret都是转移指令. 1. ret和retf ret指令:用栈中的数据 ...

  7. 【Unity】物体跟随鼠标移动

    需求:2D游戏中,需要物体跟随鼠标移动. 做法:其实思路也很简单,就是先获取到鼠标的坐标,然后赋值给目标物体即可. void Update(){ // 物体跟随鼠标移动 Vector2 mousePo ...

  8. 【Unity】动态调用其他脚本的函数

    本文转载自:http://blog.csdn.net/smilingeyes/article/details/17767269 第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名( ...

  9. linux 中的进程wait()和waitpid函数,僵尸进程详解,以及利用这两个函数解决进程同步问题

    转载自:http://blog.sina.com.cn/s/blog_7776b9d3010144f9.html 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / wait ...

  10. LNMP环境下SendMail+OpenWebMail的详细配置

    随着网络的发展和普及,邮件服务器正在成为人们日常生活中不可缺少的部分.现在,许多企业采用 Lotus Note, Exchange 作为公司内部的邮件服务器.本文主要介绍一种基于Linux系统的邮件服 ...