1安装snmp服务:

yum -y install snmpd snmp

 

2backup:

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

3编辑snmpd.conf配置文件:
# vi /etc/snmp/snmpd.conf
做如下修改:

#       sec.name  source          community
com2sec notConfigUser  default       public
#            groupName      securityModel securityName
group   notConfigGroup   v1           notConfigUser
group   notConfigGroup   v2c           notConfigUser
#       name           incl/excl     subtree         mask(optional)
view  systemview             included     .1
#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all  none none



1.1)首选是定义一个共同体名(community): public,及可以访问这个 public 的用户名(sec name),这里是 notConfigUser。Public 相当于用户 notConfigUser 的密码。
1.2)定义一个组名(groupName):notConfigGroup,及组的安全级别,把 notConfigUser 这个用户加到这个组中。
1.3)定义一个可操作的范围(view)名, 这里是 all,范围是 .1
1.4)定义 notConfigUser 这个组在 all 这个 view 范围内可做的操作,这时定义了 notConfigUser 组的成员可对.1这个范围做只读操作。

4重启 snmpd 服务: 

/etc/init.d/snmpd restart

5列出 snmpd 开放端口:

 netstat -anp|grep snmp


相关问题:
===================================================================================
② 查看阅读 mib-2 所管理的信息类别的 MIB 文件
#more /usr/share/snmp/mibs/RFC1213-MIB.txt

===================================================================================
③ 用 snmpbulkwalk 命令连接 snmp 服务器(192.168.6.53),获取 snmp 服务器的 mib-2 各种信息。
3.1)snmpbulkwalk 用于通过 SNMPv2 的 SNMP GET BULK 请求命令与其它网络实体通信,只能用于snmpv2,速度快于 snmpwalk。
3.2)指定共同体为 public,协议为 snmp2c
3.3)获取 mib-2 的 system 的数据,即.1.3.6.1.2.1.1(iso->identified organization->dod->internet->mgmt2->mib-2->system)
3.4) 获取 mib-2 的 interface 的数据,即.1.3.6.1.2.1.2(iso->identified organization->dod->internet->mgmt2->mib-2->interface)
3.5) 获取 mib-2 的 address translation 的数据,即.1.3.6.1.2.1.3(iso->identified organization->dod->internet->mgmt2->mib-2->address translation)
3.6)获取 mib-2 库的 ip 的数据,即.1.3.6.1.2.1.4(iso->identified organization->dod->internet->mgmt2->mib-2->ip)
3.7)获取 mib-2 库的 icmp 的数据,即.1.3.6.1.2.1.5(iso->identified organization->dod->internet->mgmt2->mib-2->icmp)
3.8)获取 mib-2 库的 tcp 的数据,即.1.3.6.1.2.1.6(iso->identified organization->dod->internet->mgmt2->mib-2->tcp)
3.9)获取 mib-2库的udp的数据,即.1.3.6.1.2.1.7(iso->identified organization->dod->internet->mgmt2->mib-2->udp)
3.10)获取 mib-2 库的 snmp 的数据,即.1.3.6.1.2.1.11(iso->identified organization->dod->internet->mgmt2->mib-2->snmp)

snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.1
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.2
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.3
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.4
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.5
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.6
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.7
snmpbulkwalk -v 2c 192.168.6.53 -c public .1.3.6.1.2.1.11
===================================================================================
④ 查看阅读 HOST-RESOURCES 的 MIB 文件
#more /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt

===================================================================================
⑤ 查用 snmpwalk 命令连接 snmp 服务器 (192.168.6.53),获取 snmp 服务器的 HOST-RESOURCES 的各种信息。
5.1)指定共同体为 public,协议为 snmpv1
5.2)获取 HOST-RESOURCES 的 host(所有资源)
5.3)获取 HOST-RESOURCES 的 hrSystem(系统日期/时间,初始化设备,内核引导参数,系统当前的登录用户数,当前的进程数,支持的最大进程数)
5.4)获取 HOST- RESOURCES 的 hrStorage(内存大小,磁盘大小,使用情况等)
5.5)获取 HOST-RESOURCES 的 hrDevice(设备 ID,设备类型,对设备的描述,引导盘,挂载分区等)
5.6)获取 HOST-RESOURCES 的 hrSWRun(线上系统的进程ID,进程名,涉及的参数,运行状态等)
5.7)获取 HOST-RESOURCES 的 hrSWRunPerf(线上系统进程占用CPU的时间,占用内存的大小)
5.8)获取 HOST-RESOURCES 的 hrSWInstalledName(已安装的软件包名)和 hrSWInstalledDate(已安装的软件包时间)

snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::host
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrSystem
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrStorage
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrDevice
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrSWRun
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrSWRunPerf
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrSWInstalledName
snmpwalk -v 1 192.168.6.53 -c public HOST-RESOURCES-MIB::hrSWInstalledDate


===================================================================================
⑥ 查看阅读 IF-MIB 的 MIB 文件
# more /usr/share/snmp/mibs/IF-MIB.txt

 

===================================================================================
⑦ 用 snmpdelta 命令连接 snmp 服务器 (192.168.6.53),监控网卡流量等信息
7.1)指定共同体为 public,协议为 snmpv1,以表格的方式输出结果,显示时间戳。
7.2)监控IF-MIB::ifInUcastPkts(输入流量),IF-MIB::ifOutUcastPkts(输出流量),格式为<object>。<instance>,如监控本地的第二块网卡 instance 为2
7.3)监控 ifInDiscards(已经丢弃的收到的数据包的总数),格式同上

# snmpdelta -c public -v 1 -Cs -CT 192.168.6.53 IF-MIB::ifInUcastPkts.2 IF-MIB::ifOutUcastPkts.2
# snmpdelta -c public -v 1 -Cs -CT 192.168.6.53 ifInDiscards.2

===================================================================================
⑧ 用 snmpnetstat 命令连接 snmp 服务器(192.168.6.53),查看 snmp 服务器的端口连接信息
8.1)指定共同体为 public,协议为 snmp2c
8.2)获取 192.168.6.53 的所有开放端口状态
8.3)获取 192.168.6.53 的网络接口状态
8.4)获取 192.168.6.53 的 TCP 协议的开放端口状态

snmpnetstat -v 2c -c public -a 192.168.6.53
snmpnetstat -v 2c -c public -i 192.168.6.53
snmpnetstat -v 2c -c public -P tcp 192.168.6.53

===================================================================================
⑨ 用 snmptranslate 命令在 MIB OID 在数字和文字名称之间进行转换
9.1)用snmptranslate把symbol 格式的HOST-RESOURCES-MIB::hrSystem 转换为 numberic 格式的oid,用-On(输出数字格式的oid),使用 -IR(允许“随机”访问 MIB)
9.2)用 snmptranslate 把 symbol 格式的 HOST-RESOURCES-MIB::hrSystem 转换为 symbol 格式的 oid,用-Onf(输出符号格式的 oid)
9.3) 用 snmptranslate 输出该对象(iso.org.dod.internet.mgmt.mib-2)的详细定义,用-Td(包括文字名称、所属 MIB、类型、状态、读写权限、描述信息,数字格式的 OID)
9.4)用 snmptranslate 打印从指定 OID(.1.3.6.1.2.1)开始一直到该OID(.1.3.6.1.2.1)所属的 MIB 子树末端的树型结构信息
9.5)用 snmptranslate 导出所有已经加载的 MIB 的数据,每个对象一行
9.6)用 snmptranslate 导出所有已经加载的 MIB 的对象,并且输出完整的 oid 路径
9.7)用 snmptranslate 导出已经加载的所有 MIB 的数字格式的 oid ,不含值和类型,仅仅有 oid 而已
9.8)用 snmptranslate 只输出文字格式的 OID 名称而已


snmptranslate -On -IR  HOST-RESOURCES-MIB::hrSystem
snmptranslate -Onf -IR  HOST-RESOURCES-MIB::hrSystem
snmptranslate -Td iso.org.dod.internet.mgmt.mib-2
snmptranslate -Tp iso.org.dod.internet.mgmt.mib-2
snmptranslate -Ta
snmptranslate -Tl
snmptranslate -To
snmptranslate -Ts

===================================================================================
10.1)用 snmptranslate 查询 MID OID的数字为 1.3.6.1.4.1.2021 的详细信息
10.2)用 snmptranslate 列出 1.3.6.1.4.1.2021 树型结构
10.3)用 snmpwalk 连接192.168.6.53的 snmp,通过 UCD-SNMP-MIB 列出 proc 的信息
10.4)用 ps -e 找过三个进程,写入到/etc/snmp/snmpd.conf配置文件中,如:keventd,nfsd,bdflush
10.5)重启 snmpd 服务
10.6)再用 snmpwalk 连接 192.168.6.53 的 snmp,列出 proc 的信息

snmptranslate -Td 1.3.6.1.4.1.2021
snmptranslate -Tp 1.3.6.1.4.1.2021
snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.2
打开snmpd.conf文件
# vi /etc/snmp/snmpd.conf
找到 # Process checks
加入:
proc keventd
proc nfsd
proc bdflush
service snmpd restart
snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.2

===================================================================================
11.1)用 snmpwalk 连接 192.168.6.53 的 snmp,通过 UCD-SNMP-MIB 列出 shell 脚本的输出信息
11.2)编辑 /etc/snmp /snmpd.conf 文件,加入:exec echotest /bin/echo hello world 和 exec shelltest /bin/sh /tmp/shtest
11.3)编写脚本 shtest,输出 hello world
11.4)重启服务
11.5)用 snmpwalk 连接 192.168.6.53 的 snmp,列出 shell 脚本的输出信息

snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.8
编辑/etc/snmp/snmpd.conf文件
vi /etc/snmp/snmpd.conf
找到:# Executables/scrīpts
在后面加入:
exec echotest /bin/echo hello world
exec shelltest /bin/sh /tmp/shtest
保存退出
cd /tmp/
cat > shtest
#!/bin/sh
echo hello world
echo hi there
exit 35
service snmpd restart
snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.8

===================================================================================
12.1)用 snmpwalk 连接 192.168.6.53 的 snmp,通过 UCD-SNMP-MIB 列出磁盘信息
12.2)编辑 /etc/snmp/snmpd.conf 文件,加入根分区和 /boot分区
12.3)用 kill 的方式重新读取配置
12.4)用 snmpwalk 连接192.168.6.53的 snmp,列出磁盘信息

snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.9
编辑 /etc/snmp/snmpd.conf 文件
vi /etc/snmp/snmpd.conf
找到:disk checks
加入:
disk / 10000
disk /boot 10000
保存退出
kill -HUP `ps -e|grep snmpd|awk '{print $1}'`
snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.9

===================================================================================
13.1)用 snmpwalk 连接 192.168.6.53 的 snmp,通过 UCD-SNMP-MIB 列出所有的系统进程
13.2)编辑 /etc/snmp/snmpd.conf 文件,加入:exec .1.3.6.1.4.1.2021.51 ps /bin/ps
13.3)用 kill 的方式重新读取配置
13.4)用 snmpwalk 连接 192.168.6.53 的 snmp,列出系统信息

snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.50
编辑 /etc/snmp/snmpd.conf 文件
vi /etc/snmp/snmpd.conf
加入:
exec .1.3.6.1.4.1.2021.51 ps /bin/ps
保存退出
kill -HUP `ps -e|grep snmpd|awk '{print $1}'`
snmpwalk -v 1 192.168.6.53 -c public .1.3.6.1.4.1.2021.50


------------------------------------------------------------------------------------------------------
【确保 Linux 主机已经安装了snmp 服务】

# rpm -qa |grep snmp
net-snmp-5.1.2-18.el4_8.2
net-snmp-utils-5.1.2-18.el4_8.2
php-snmp-5.1.6-3.el4s1.10
net-snmp-libs-5.1.2-18.el4_8.2
net-snmp-perl-5.1.2-18.el4_8.2
net-snmp-devel-5.1.2-18.el4_8.2



如果没有,则安装 snmp……
------------------------------------------------------------------------------------------------------
【配置 snmpd.conf】
# vi /etc/snmp/snmpd.conf

① 修改默认的 community string
com2sec notConfigUser default public
将 public 修改为你才知道的字符串

② 把下面的 # 号去掉
# view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

③ 把下面的语句
access notConfigGroup "" any noauth exact systemview none none
改成:
access notConfigGroup "" any noauth exact mib2 none none
------------------------------------------------------------------------------------------------------
【重启 snmpd】
# service snmpd restart
------------------------------------------------------------------------------------------------------
【其他】
① 确保 Linux 的 iptables 防火墙对我们的流量监控服务器开放了 udp 161 端口的访问权限
可使用 iptables –nL 查看当前 iptables 规则
可编辑 /etc/sysconfig/iptables 文件来修改 iptables 规则
② 仅允许一个 ip 地址访问
===================================================================================
【snmp 依赖的安装包】
------------------------------------------------------------------------------------------------------------------------------------

error: Failed dependencies:
beecrypt-devel is needed by net-snmp-devel-5.1.2-13.el4_7.2.i386
elfutils-devel is needed by net-snmp-devel-5.1.2-13.el4_7.2.i386
php-common = 5.1.6-3.el4s1.10 is needed by php-snmp-5.1.6-3.el4s1.10.i386
Suggested resolutions:
beecrypt-devel-3.1.0-6.i386.rpm
elfutils-devel-0.97.1-4.i386.rpm

error: Failed dependencies:
elfutils = 0.97.1-5 is needed by elfutils-devel-0.97.1-5.i386
elfutils-libelf-devel = 0.97.1-5 is needed by elfutils-devel-0.97.1-5.i386

yum-3.2.19-18.el5.centos.noarch.rpm
yum-metadata-parser-1.1.2-2.el5.i386.rpm
python-iniparse-0.2.3-4.el5.noarch.rpm
yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm


error: Failed dependencies:
python-elementtree is needed by yum-2.4.3-4.el4.centos.noarch
python-sqlite is needed by yum-2.4.3-4.el4.centos.noarch
urlgrabber is needed by yum-2.4.3-4.el4.centos.noarch
yumconf is needed by yum-2.4.3-4.el4.centos.noarch
libsqlite3.so.0 is needed by yum-metadata-parser-1.0-8.el4.centos.i386
------------------------------------------------------------------------------------------------------------------------------------
# rpm -ivh --aid gcc*.rpm


===================================================================================