一、准备文件
安装snmp服务需要的rpm包:
- perl-Data-Dumper-2.145-3.el7.x86_64.rpm
- net-snmp-libs-5.7.2-28.el7_4.1.x86_64.rpm
- net-snmp-utils-5.7.2-28.el7_4.1.x86_64.rpm
- lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm
- lm_sensors-devel-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm
- net-snmp-agent-libs-5.7.2-28.el7_4.1.x86_64.rpm
- net-snmp-5.7.2-28.el7_4.1.x86_64.rpm
上面四个net-snmp包有一定的版本要求,必须版本一致,否则安装无法成功。我这里都使用的5.7.2-28.el7版本,也可以下载其他版本的rpm包,但注意版本要一致。
可以到这个地址 http://rpm.pbone.net/ 或者 http://www.rpmfind.net/ 下载这些rpm包,该网站比较全面,包含各种版本的包,
也可以去我的百度云下载:
链接: https://pan.baidu.com/s/1FIbjZ-oXsy_L6WGbkKZqMQ 提取码: fiwr
二、安装步骤
(1)将这个几rpm包放到任意目录下,进入到这个目录,执行命令 rpm -ivh *.rpm (注:下面命令按顺序依次执行)
例如,将这几个rpm包放在 /root目录下,然后进入这个目录 cd /root, 然后执行命令
rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
rpm -ivh net-snmp-libs-5.7.2-28.el7_4.1.x86_64.rpm
rpm -ivh net-snmp-utils-5.7.2-28.el7_4.1.x86_64.rpm
rpm -ivh lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm
rpm -ivh lm_sensors-devel-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm
rpm -ivh net-snmp-agent-libs-5.7.2-28.el7_4.1.x86_64.rpm
rpm -ivh net-snmp-5.7.2-28.el7_4.1.x86_64.rpm
安装完成之后,这几个rpm包就可以删掉了。
(2)修改配置文件(/etc/snmp/snmpd.conf),大家可以参考 http://www.linuxde.net/2013/02/12269.html 对snmp进行符合自己要求的配置,如果你嫌麻烦,可以直接用我配置好的snmpd.conf覆盖过去,基本能满足我们日常开发需求,步骤就是把压缩包里的snmpd.conf复制到 /etc/snmp/snmpd.conf目录下,覆盖。够简单,够暴力......
cp snmpd.conf /etc/snmp/snmpd.conf
(3)最后启动服务,执行命令
systemctl start snmpd
设置开机自启动(可有可无):
chkconfig snmpd on
(4)测试验证SNMP配置的正确性,执行命令
snmpwalk -v 1 127.0.0.1 -c public system
(注意,127.0.0.1 更改为自己安装snmp服务的那台机器地址)
如果看到以上内容,表明安装成功!
三、常见问题,snmp无法安装
(1)如果在Centos7如果已经移除了mariadb,并且安装了Mysql,例如安装了Mysql5.7后,会发现无法安装snmp。报错如下:
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by net-snmp-1:5.7.2-28.el7_4.1.x86_64
则需要安装我们之前mysql对应版本的compat:
rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
此时发现snmp可以正常安装:
(2)安装时报错:
error: Failed dependencies:
perl(Data::Dumper) is needed by net-snmp-1:5.7.2-28.el7_4.1.x86_64
则需要安装autoconf:
yum -y install autoconf
安装autoconf之后再安装snmp,发现可以成功安装:
(3)如果执行 snmpwalk -v 1 127.0.0.1 -c public system 报错 bash: snmpwalk: command not found...
则还需要安装net-snmp-utils才可以使用snmpwalk命令(net-snmp-utils并不是必须安装的包,但安装它会带来不少帮助,它提供了很多工具,例如可以使用snmptranslate命令查看oid,可以使用snmpget、snmpwalk命令等):
yum -y install net-snmp-utils
参考文献:https://blog.csdn.net/weixin_33446857/article/details/79195803