九、通过SNMP协议监控Linux主机:
SNMP:Simple Network Management Protocol,简单网络管理协议。通常情况下,通过Agent方式监控Linux和Windows主机,通过SNMP方式监控路由器和交换机等网络设备。
SNMP的OID和MIB:
OID:Object Identifier,对象标识符,又称为物联网域名,是由ISO/IEC、ITU-T国际标准化组织上世纪80年代联合提出的标识机制,采用分层树形结构对任何类型的对象(包括实体对象、虚拟对象、复合对象等)进行全球无歧义、唯一命名。OID具有分层灵活、扩展性强、跨异构系统等优势,并可兼容现有标识机制,已经广泛应用于信息安全、医疗卫生、网络管理等领域。
MIB:Management Information Base,管理信息库,是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在MIB中。
OID好比IP地址,由数字组成,比较难记,但SNMP的监控基于OID;MIB好比域名,容易记忆,把OID和名字对应起来,有多种MIB库,比如UCD-SNMP-MIB、IF-MIB等等。
SNMP的版本:
v1:基于community进行访问控制
v2c:基于community进行访问控制,相比v1增加了认证功能,也是目前广泛使用的版本
v3:在v2c的基础上增强了认证功能
1、node-122节点安装SNMP,作为服务端:# yum -y install net-snmp
2、node-122节点修改snmpd.conf配置文件:
# cd /etc/snmp/
# cp snmpd.conf{,.bak}
# vim snmpd.conf
com2sec notConfigUser default marion
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1
access notConfigGroup "" any noauth exact systemview none none
说明:
com2sec notConfigUser default marion:用户名、访问IP白名单(default代表所有IP都可访问)、认证密码
group notConfigGroup v2c notConfigUser:组名、SNMP版本、用户名
view systemview included .1.3.6.1:视图名称、包含(incl/excl)、subtree,.1.3.6.1表示权限,以此开头的都能访问,比如.1.3.6.1.4.1.2021.10.1.3和.1.3.6.1.2.1.2
3、node-122节点启动SNMP:
# systemctl start snmpd
# systemctl status snmpd
# ps aux | grep snmpd
# ss -tunlp | grep -w :161
# systemctl enable snmpd
4、zabbix-server节点安装SNMP,作为客户端:# yum -y install net-snmp-utils
5、zabbix-server节点使用OID和MIB获取node-122节点相关信息:
# snmpwalk -v2c -c marion 192.168.0.122 .1.3.6.1.4.1.2021.10.1.3
# snmpwalk -v2c -c marion 192.168.0.122 .1.3.6.1.2.1.2
# snmpwalk -v2c -c marion 192.168.0.122 laLoad
# snmpwalk -v2c -c marion 192.168.0.122 ifDescr
# snmpwalk -v2c -c marion 192.168.0.122 ifOperStatus
# snmpwalk -v2c -c marion 192.168.0.122 ifHCOutOctets
# snmpwalk -v2c -c marion 192.168.0.122 ifHCInOctets
6、Zabbix Web修改宏{$SNMP_COMMUNITY}所对应的值,默认为public:
Administration --> General --> Macros --> Update
7、Zabbix Web添加node-122节点的SNMP监控接口:
8、node-122节点取消之前所有链接的模板(监控项有冲突),并重新链接SNMP监控模板:
勾选所有监控项,点击“Check now”:
9、查看最新监控数据: