centos 7 安装snmp
Posted 阿拉的梦想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 7 安装snmp相关的知识,希望对你有一定的参考价值。
centos 7 安装snmp
一、SNMP协议简介
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题
SNMP用于保证管理信息在任意两点间传送,便于网络管理员在网络上的任何节点检索信息、修改信息、寻找故障、完成故障诊断、进行容量规划和生成报告。
SNMP采用轮询机制,提供最基本的功能集,特别适合在小型、快速和低价格的环境中使用。SNMP的实现基于无连接的传输层协议UDP,因此可以实现和众多产品的无障碍连接。
1. SNMP的工作机制
SNMP分为NMS和Agent两部分:
- NMS是运行客户端程序的工作站。
- Agent是运行在网络设备(比如:交换机)上的服务器端软件。
NMS可以向Agent发出GetRequest、GetNextRequest和SetRequest报文,Agent接收到NMS的这些请求报文后,根据报文类型对MIB进行Read或Write操作,生成Response报文,并将报文返回给NMS。
Agent在设备发生异常情况或状态改变时(比如:设备重新启动),也会主动向NMS发送Trap报文,向NMS汇报所发生的事件。
2. SNMP的版本
目前,SNMP Agent支持SNMP v1、SNMP v2c和SNMP v3三个版本。
SNMP v3采用用户名和密码认证方式;SNMP v1、SNMP v2c采用团体名(Community Name)认证,非认可团体名的SNMP报文将被丢弃。SNMP团体名用来定义SNMP NMS和SNMP Agent的关系。团体名起到了类似于密码的作用,可以限制SNMP NMS访问SNMP Agent。
3. MIB
在SNMP报文中用管理变量来描述管理对象。为了唯一标识管理对象,SNMP用层次结构命名方案来识别管理对象。整个层次结构就像一棵树,树的节点表示管理对象
每一个节点,都可以用从根开始的一条路径唯一地标识,MIB的作用就是用来描述树的层次结构,它是所监控设备的标准变量定义的集合。管理对象可以用一串数字1.2.1.1唯一确定,这串数字是管理对象的对象标识符
二、安装snmp
1.查看系统信息
[root@VM-4-10-centos ~]# uname -a
Linux VM-4-10-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2.yum安装
yum install net-snmp net-snmp-utils
3.查看配置文件列表
[root@VM-4-10-centos ~]# rpm -ql net-snmp
/etc/snmp
/etc/snmp/snmpd.conf
/etc/snmp/snmptrapd.conf
/etc/sysconfig/snmpd
/etc/sysconfig/snmptrapd
/usr/bin/agentxtrap
/usr/bin/net-snmp-create-v3-user
/usr/bin/snmpconf
/usr/lib/systemd/system/snmpd.service
/usr/lib/systemd/system/snmptrapd.service
/usr/lib/tmpfiles.d/net-snmp.conf
/usr/sbin/snmpd
4. 防火墙设置
若报错:
[root@VM-4-10-centos ~]# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.10.1.3.1
Timeout: No Response from localhost
需要开启161端口
/sbin/iptables -I INPUT -p tcp --dport 161 -j ACCEPT
或者关闭防火墙
systemctl stop firewalld.service
systemctl stop iptables
5.启动snmp
systemctl restart snmpd.service #启动SNMP服务
systemctl enable snmpd.service #开机启动SNMP服务
三、snmp的常用命令
1.获取snmp信息
snmpwalk -v 2c -c public 127.0.0.1
-v 2c 指定版本信息
-c 指定团体名 public为默认团体名
[root@VM-4-10-centos ~]# snmpwalk -v 2c -c public 127.0.0.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux VM-4-10-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (97441) 0:16:14.41
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: VM-4-10-centos
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP Notification, plus filtering.
SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Notifications.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (3) 0:00:00.03
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (1003332737) 116 days, 3:02:07.37
HOST-RESOURCES-MIB::hrSystemUptime.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
2.snmpget获取指定OID的信息
snmpget -v 2c -c public 127.0.0.1 HOST-RESOURCES-MIB::hrSystemUptime.0
[root@VM-4-10-centos ~]# snmpget -v 2c -c public 127.0.0.1 HOST-RESOURCES-MIB::hrSystemUptime.0
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (1003337290) 116 days, 3:02:52.90
[root@VM-4-10-centos ~]#
3.snmptranslate 在MIB OID 在数字和文字名称之间进行转换的命令
snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystem
用-On(输出数字格式的oid),使用 -IR(允许“随机”访问 MIB)
[root@VM-4-10-centos ~]# snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystem
.1.3.6.1.2.1.25.1
[root@VM-4-10-centos ~]#
四、修改配置文件
vim /etc/snmp/snmpd.conf
这里的view默认只能查看这两个目录下的,若要查看全部,改为.1就行,若要添加其他目录,加一行照着写就行。
修改后,保存配置文件,重启snmp服务
systemctl restart snmpd.service
可以man snmpd.conf
查看相关帮助文档
常用OID列表 https://blog.csdn.net/qq_28657577/article/details/82834442
以上是关于centos 7 安装snmp的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7上安装Zabbix(高速安装监控工具Zabbix)