使用Mycat分布式数据库中间件时需要对各个性能指标进行监控,官方已经提供了一个监控软件,于是讨论起来监控是怎么具体可能有哪些实现,虽然知道已经有很多的监控软件可以使用,比如zabbix,但是今天听同事说有一个叫做SNMP的协议,是专门用在环境监控方面的,回头一查发现这竟然是行业标准,而且zabbix也是基于这个协议实现的,本着不折腾不舒服的精神,调查了一番总结如下,主要分成两个部分:
- snmp协议的内容总结;
- 通过编程获取snmp协议中传递的信息;
本文主要着重在snmp协议的内容以及具体的结构,下一篇会通过Java 来获取snmp中传递的信息。
snmp已经发展出了三个版本,由于本文只是做一个总结,所以不涉及版本信息。
1. snmp协议的应用场景
snmp的中文名是简单网络管理协议,是Simple Network Management Protocol的简称,而且是一个应用层协议,等于和http是平级,但是差别咋就这么大呢?什么用处呢?用来在网络实体和节点之间交换管理或者监控信息,这是官方说法。简单点来说就是打小报告的,只不过这里打小报告的是程序而不是人,被报告的是机器或者操作系统而不是人。
为什么用这个东西?简单来说,就是为了方便偷懒,当开始时一个公司中的计算机不是很多,运维人员还可以一个一个去查看是什么问题,但是如果一家公司的计算机有成百上千台,还能去一个一个看吗?当然不能了,说能的人出门右转是精神