共计 6947 个字符,预计需要花费 18 分钟才能阅读完成。
配置详解:
1)配置 snmp, 编辑 /etc/snmp/snmpd.conf
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 这个范围做只读操作。
1.5)重启 snmpd 服务
1.6) 列出 snmpd 开放端口
vi /etc/snmp/snmpd.conf
# sec.name source community
com2sec notConfigUser default linuxtone
# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
# name incl/excl subtree mask(optional)
view all included .1
# group context sec.model sec.level prefix read write notif
access notConfigGroup “” any noauth exact all none none
保存退出
service snmpd restart
netstat -anp|grep snmp
2.1)查看阅读 mib- 2 所管理的信息类别的 MIB 文件
参考答案:
more /usr/share/snmp/mibs/RFC1213-MIB.txt
3)用 snmpbulkwalk 命令连接 snmp 服务器 (127.0.0.1), 获取 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 127.0.0.1 -c linuxtone .1.3.6.1.2.1.1
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.2
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.3
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.4
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.5
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.6
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.7
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.11
snmpbulkwalk -v 2c 127.0.0.1 -c linuxtone .1.3.6.1.2.1.6
4)查看阅读 HOST-RESOURCES 的 MIB 文件
参考答案:
more /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
5)查用 snmpwalk 命令连接 snmp 服务器 (127.0.0.1), 获取 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 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::host
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrSystem
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrStorage
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrDevice
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrSWRun
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrSWRunPerf
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrSWInstalledName
snmpwalk -v 1 127.0.0.1 -c linuxtone HOST-RESOURCES-MIB::hrSWInstalledDate
6)查看阅读 IF-MIB 的 MIB 文件
参考答案:
more /usr/share/snmp/mibs/IF-MIB.txt
7)用 snmpdelta 命令连接 snmp 服务器 (127.0.0.1), 监控网卡流量等信息
7.1) 指定共同体为 public, 协议为 snmpv1, 以表格的方式输出结果, 显示时间戳
7.2) 监控 IF-MIB::ifInUcastPkts(输入流量),IF-MIB::ifOutUcastPkts(输出流量),, 如监控本地的第二块网卡 instance 为 2
7.3)监控 ifInDiscards(已经丢弃的收到的数据包的总数), 格式同上
参考答案:
snmpdelta -c public -v 1 -Cs -CT 127.0.0.1 IF-MIB::ifInUcastPkts.2 IF-MIB::ifOutUcastPkts.2
snmpdelta -c public -v 1 -Cs -CT 127.0.0.1 ifInDiscards.2
8)用 snmpnetstat 命令连接 snmp 服务器 (127.0.0.1), 查看 snmp 服务器的端口连接信息
8.1) 指定共同体为 public, 协议为 snmp2c
8.2)获取 127.0.0.1 的所有开放端口状态
8.3) 获取 127.0.0.1 的网络接口状态
8.4) 获取 127.0.0.1 的 TCP 协议的开放端口状态
参考答案:
snmpnetstat -v 2c -c linuxtone -a 127.0.0.1
snmpnetstat -v 2c -c linuxtone -i 127.0.0.1
snmpnetstat -v 2c -c linuxtone -P tcp 127.0.0.1
9)用 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 连接 127.0.0.1 的 snmp, 通过 UCD-SNMP-MIB 列出 proc 的信息
10.4) 用 ps - e 找过三个进程, 写入到 /etc/snmp/snmpd.conf 配置文件中, 如:keventd,nfsd,bdflush
10.5)重启 snmpd 服务
10.6) 再用 snmpwalk 连接 127.0.0.1 的 snmp, 列出 proc 的信息
参考答案:
snmptranslate -Td 1.3.6.1.4.1.2021
snmptranslate -Tp 1.3.6.1.4.1.2021
snmpwalk -v 1 127.0.0.1 -c linuxtone .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 127.0.0.1 -c linuxtone .1.3.6.1.4.1.2021.2
11.1)用 snmpwalk 连接 127.0.0.1 的 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 连接 127.0.0.1 的 snmp, 列出 shell 脚本的输出信息
参考答案:
snmpwalk -v 1 127.0.0.1 -c linuxtone .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 127.0.0.1 -c linuxtone .1.3.6.1.4.1.2021.8
12.1)用 snmpwalk 连接 127.0.0.1 的 snmp, 通过 UCD-SNMP-MIB 列出磁盘信息
12.2) 编辑 /etc/snmp/snmpd.conf 文件, 加入根分区和 /boot 分区
12.3) 用 kill 的方式重新读取配置
12.4) 用 snmpwalk 连接 127.0.0.1 的 snmp, 列出磁盘信息
参考答案:
snmpwalk -v 1 127.0.0.1 -c linuxtone .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 127.0.0.1 -c linuxtone
.1.3.6.1.4.1.2021.9
13.1)用 snmpwalk 连接 127.0.0.1 的 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 连接 127.0.0.1 的 snmp, 列出系统信息
参考答案:
snmpwalk -v 1 127.0.0.1 -c linuxtone .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 127.0.0.1 -c linuxtone .1.3.6.1.4.1.2021.50
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142001.htm