描述常见监控系统及SNMP协议

一、什么是监控系统

在运维领域,监控系统即用于监控生产环境所使用的硬件、软件或者是业务的运行情况的报警系统。其能够对生产环境所产生的异常作出报警,使得管理员能够及时获知报警信息,保证业务的正常运行。
监控系统功能可以分为以下几个模块:

1、采样:即周期性地获取某个关注指标相关的数据,一个监控系统通常支持多种采样手段,常见的手段有:ssh/telnet、agent、IPMI、SNMP、JMX等等。
2、存储:即用于存储采样所收集到的数据,以便于管理员进行回溯查看。其存储的数据可分为历史数据和趋势数据,其中历史数据即每次采样所收集到的数据结果,通常保存周期为三个月到半年;而另一个趋势数据即为一段时间内的所采样的数据的最大值、最小值、平均值等数据,因数据量较小,通常保存较长的时间。监控系统常用的存储系统有Mysql、mariadb、Oracle、rrd等等。
3、报警:即当监控的对象发生异常时,系统用于通常管理员或其他相关人员的报警媒介。常用的报警媒介有:邮件、短信、微信、脚本等等。
4、展示:监控系统通过采样收集得到的数据,那么肯定得通过展示才能让管理人员更加方便的知道当前的监控项的运行情况。展示就是监控系统把数据从数据库中读取出来,然后通过统一的整理归类为标准的图形化进行输出展示,常见的展示接口有:webGUI、GUI、APP等等。

上述就是一个运维监控系统应用的四大功能,目前比较流行的开源监控系统由:zabbix、cacti、nagios、ganglia等等。

二、SNMP协议

SNMP即Simple Network Management Protocol,简单网络管理协议,是用于在网络实体或节点之间交换管理或监控信息的协议。
作为运维人员,我们的工作很大一部分就是为了保证我们的网络能够正常、稳定地运行。因此监控、控制、管理各种网络设备成了我们日常的工作内容。而SNMP协议就是在早起网络兴起时代产生的,用于减轻管理人员运维工作的协议。使用SNMP协议能够对支持该协议的网络设备进行监控和信息采集,而这些信息则可以用来构建网络中的监控系统。
SNMP协议,如其名所示,其部署也很简单。只要一个网络设备支持SNMP协议,那么基本上我们都可以使用SNMP协议来对其进行监控。其由着以下几个优点:

1、标准化协议:SNMP协议属于TCP/IP协议中的标准网络管理协议,因此其兼容大多数的网络设备。
2、认可度高/流行度高:几乎所有主流的厂商都支持SNMP,所有使用SNMP管理的设备都使用相同的管理接口以支持通用的管理消息集合。
3、可移植性高:SNMP独立于操作系统和编程语言,SNMP的功能设计是可移植的,它定义了一套核心操作集,所有支持SNMP的设备都需要支持这套操作。
4、轻量级:SNMP协议的工作不会对设备的操作或性能产生冲击,网络设备只需以极小的资源消耗和负载即可增加对SNMP的管理支持。
5、扩展性高:因为所有的SNMP管理的设备上都会支持相同的一套核心操作集,而且SNMP也支持计算机网络设备中各种类型的设备的信息交互,因此添加设备变得很简单。

SNMP协议的组成通常分为三个部分:

1、网络设备:即网络中需要监控或管理的设备。
2、Agent:即网络设备和管理组件之间的中间件,是运行在网络设备中的程序进程,用于收集设备的管理信息并反馈给管理组件。
3、管理组件:管理组件即管理系统通常是一个远程部署的独立系统,可以为一台计算机,也可以为一台服务器。管理员可通过该系统对各种设备进行监控与管理。

SNMP协议发展到现在,一共经历了三个主要的版本:SNMPv1、SNMPv2、SNMPv3。对于当前互联网时代来说,最好的版本当属SNMPv3,因为其做了大量关于安全性的增强,包括:

1、会检验收到的SNMP消息在网络传输过程中是否被篡改;
2、添加一个SNMP实体身份证明,用于校验发送SNMP信息的发送人身份。
3、会检查收到的SNMP消息内容是否包含管理消息,是否是即时创建的。
4、对每个SNMP消息的内容进行加密保护。

你可能感兴趣的:(描述常见监控系统及SNMP协议)