snmpd的yum安装方式以及详细配置信息
安装 Net-SNMP
CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。
# yum install -y net-snmp net-snmp-utils
启动,停止,重启相关命令:
# systemctl start snmpd
# systemctl stop snmpd
# systemctl restart snmpd
# chkconfig snmpd on ##开机自启动
验证snmp服务:
1)使用snmpwalk命令,查看本机localhost的主机名:
如上,获取到本机主机名为oracle.domain.com,则表示snmp服务已经可以正常使用。
(2)使用snmptranslate命令,检查snmp工具是否可以使用:
如上,查出了部分oid,则表示snmp工具可以正常使用。
(3)测试远端主机是否可以获取数据。
我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:
如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。
配置snmp服务
以上安装完成后,使用的是snmp的默认配置,通过这些默认配置,我们只能获取主机的部分信息。但一些其他的重要信息,无法获取。如主机的CPU使用情况,内存使用情况等。
如上,无法获取CPU的空闲率(注:1.3.6.1.4.1.2021.11.11.0是主机CPU空闲率的oid)。
这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。
配置方法:修改/etc/snmp/snmpd.conf文件
1、修改查看设备节点的权限
在该文件中,找到如下位置:
view:定义了可以查看哪些节点设备的信息。
snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。
因此,可以修改这个配置,如下:
在此处添加了一行:
view systemview included .1
表示可以查看.1节点下的所有设备信息。
2、修改Process checks的配置
找到如下位置:
将
# proc mountd
# proc ntalkd 4
# proc sendmail 10 1
三行前的“#”号去掉,取消注释,结果为:
3、修改Executables/scripts配置
找到如下位置:
将
#exec echotest /bin/echo hello world
一行前的“#”号去掉,取消注释。
4、修改disk checks配置
找到如下位置:
将
#disk / 10000
一行前的“#”号去掉,取消注释。
5、修改load average checks配置
找到如下位置:
将 #load 12 14 14
一行前的“#”号去掉,取消注释。
6、保存修改,重启snmp服务
测试SNMP:
执行以下的几个命令都可以获取到本机的系统名字:
snmpget -v 2c -c public localhost sysName.0
snmpget -v 2c -c public 127.0.0.1 sysName.0
snmpget -v 2c -c public 192.168.1.229 sysName.0
snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0
开启UDP 161端口的访问权限:
iptables –L –n"查看当前iptables规则
iptables -I INPUT -p udp --dport 161 -j ACCEPT ### 命令添加UDP 161端口到iptables防火墙中
转载于:https://my.oschina.net/yjktpd/blog/3017567