snmp简介
简单的网络管理协议有v1,v2c,v3几个版本。现广泛使用v2c版本,v2c为v2的社区版,默认端口udp161
snmp OID
+ OID: 相当于一个树形的结构,是以数字显示,以点(.)为分隔符的
参考博客
请求方式为WALK的是枝节点,底下有许多叶子节点做遍历使用
snmp MID
相当于dns 域名解析中的域名,它是字符串与OID对应
snmp 架构模型
snmp是C/S架构,但snmp是定义了agent端的API接口,用来收集被监控测的主机信息。manage端则由开发者自己定义
cacti
早期的监控系统,就是定义了snmp管理端的采集信息API,并将其展示存储
host snmp agent ==> cacti snmp manage ==> rrd
rrd ==> php == web dashboard
即监控信息简单,且通过插件实现报警功能
nagios 是做服务状态监控,并实现报警功能。所以早期运维工程师一般使用cacti + nagios来实现完整意义的监控
linux 安装 snmp
yum -y install net-snmp net-snmp-utils
system start snmpd
- net-snmp: 为snmp的客户端
-
net-snmp-utils: 为linux模拟服务端向客户端请求数据的包
net-snmp中包含一个snmpd客户端和snmptrapd服务端使用trapper来捕获snmp数据
snmp 客户端配置文件说明
[root@zabbix-agent-01 ~]# egrep -v "^#|^$" /etc/snmp/snmpd.conf
# 定义社区为public,将public映射为notConfigUser
com2sec notConfigUser default public
# 将notConfigUser映射为notConfigGroupv1和v2c版本
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
# 授权可以看主机的哪些信息
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
# 授权让谁可以看主机上的信息
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
-----------------------------------------------------------------------------------------------
具体信息可以查看源配置文件的英文注释
zabbix 添加 snmp 监控
注:可以看到已经有数据采集,但仍有地方是灰色,此时注意snmp agent端的授权管理,是否允许采集内存信息