上面说了我们要监控什么,那么我们使用什么手段去监控呢?

SNMP

正常版本

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及 HUBS 等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。

版本上,SNMP v1 & v2 使用UDP传输,团体名和口令串是明文传输,安全性不高; V3版本中提升了这方面的安全性.

白话版本:目前的监控系统管理网络设备主要使用的手段,使用SNMP首先要拿到设备的MIB库,再用MIB浏览器查看OID和对应的值,通过SNMP就可以采集设备的性能或其他指标;

目前国内很多其他的服务器是不开SNMP的,所以它的主要作用是监控网络设备、安全设备、打印机这些,因为这些只能用SNMP监控。

clip_image002

图:Cacti的SNMP配置页面

WMI

Windows 管理规范(Windows Management Instrumentation)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。WMI 通过编程和脚本语言为日常管理提供了一条连续一致的途径。WMI功能包括:事件触发、远程调用、查询、查看、架构的用户扩展、指示等等。

白话版本:微软推出的针对Windows的管理规范,通过WMI可以监控和管理windows系统。再简单一点,可以在我的电脑上点右键所有的内容都可以进行监控,包括:性能,日志、设备情况等等。

clip_image004

图:Windows计算机管理

JMX

JMX(Java Management Extensions,即Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

白话版本:这是以java为基础的中间件要共同遵循的管理规范,可以用它管理Weblogic、JBOSS、Tomcat等中间件,采集他们的性能,如:session数、访问的容器数和事务回滚数等指标。

TELNET

Telnet协议是TCP/IP协议族的其中之一,是Internet远端登录服务的标准协议和主要方式,常用于网页服务器的远端控制,可供使用者在本地主机执行远端主机上的工作。

SSH

Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。

SMI-S

SMI-S(Storage Management Initiative Specification存储管理主动)是SNIA(全球网络存储工业协会)发起并主导,众多存储厂商共同参与开发的一种标准管理接口。借助该标准,独立管理软件可通过一个基于 Common Information Model (CIM) 协议的标准接口来管理存储设备(存储和交换机)。

其目标是在存储网络中的存储设备和管理软件之间提供标准化的通信方式,从而使存储管理实现厂商无关性,提高管理效率、降低管理成本,促进存储网络的发展。

总结一下设备和相应的监控手段:

设备类型

具体内容

监控手段

服务器

Windows OS
Linux
AIX
HP-UX
Solaris

TELNET
SSH
WMI
SHELL

网络安全设备

思科
华为
天融信

SNMP

数据库

Oracle
DB2
Sybase
MS SQL Server
Mysql

SQL

中间件

Weblogic
Websphere
Jboss
Tomcat

JMX

存储设备

IBM
EMC
HP
NETAPP

SMI-S

虚拟化监控

VMWARE

API

业务系统监控

OA
生产系统等

PING
HTTP