如何用通过OpenNMS监控Windows 服务器

OpenNMS 可以监控可用性和性能参数。下面看看 OpenNMS 监控 Windows 服务器的三种情况。第一种情况:Windows 机器上没有安装 SNMP 服务,在自动发现了这个节点后,它会被加入节点列表,之后它被定期的轮询。如果这个节点断网了,OpenNMS 会报警;同时这个节点的可用性被计算。自动发现还会发现这个机器上的服务。ICMP 是肯定会有的,还可能有 http 等其他的服务;这些服务也会被定时的轮询,如果某个服务停了,这个节点的整个的可用性受到影响。这种情况下该节点的所有服务的响应时间会被 OpenNMS 收集并保持历史数据。第二种情况:安装了 SNMP 服务。先说一下 windows 服务的安全性,默认情况下 public 是默认的只读密码;为了更加安全可以配置其他的只读密码,并指定某些特定的 IP 才能访问这个节点。这个策略在 Windows 的觉策略中很容易实现,或者说建议使用域控制器来管理这个策略,比较方便。假定 OpenNMS 能访问该节点的 snmp 服务的情况下。这些数据会增加:SNMP Attributes;在选择了资源图后,可以看到 snmp 的节点数据和接口数据。进入后可以看到,其实收集 的是一个 tcp/ip 接口上基本的信息:流量,连接数,丢包,错包等。个人认为流量是个最有用的数据,特别是对于一些简单的 web/ftp 服务器也就够用了。第三种情况:我们需要监控到操作系统的性能数据 cpu/disk/RAM 等。就需要安装一个 snmp 代理,这个代理可以提供这些信息,opennms 才能通过 snmp 协议收集这些数据。需要到下面网址下载一个免费的 snmp 代理,当然这个产品也有收费版本:http://www.wtcs.org/informant/download.htm 这个代理很小需要在 windows 机器上安装一下。默认情况下 OpenNMS 的对 windows 采集模板中包含了对 cpu/disk/ram 等数据的采集,等到下一次 OpenNMS 在采集这个机器的时候相关数据就会被显示在节点 snmp 数据下面。这里是通过这个免费的 snmp 代理能采集到的数据:/Program Files/SNMP Informant/standard/mibs/informant-std-tree.txt–standard(1.3.6.1.4.1.9600.1.1)|+–logicalDiskTable(1)| || +–logicalDiskEntry(1) [lDiskInstance]| || +– r-n InstanceName lDiskInstance(1)| +– r-n Gauge32 lDiskPercentDiskReadTime(2)| +– r-n Gauge32 lDiskPercentDiskTime(3)| +– r-n Gauge32 lDiskPercentDiskWriteTime(4)| +– r-n Gauge32 lDiskPercentFreeSpace(5)| +– r-n Gauge32 lDiskPercentIdleTime(6)| +– r-n Gauge32 lDiskAvgDiskQueueLength(7)| +– r-n Gauge32 lDiskAvgDiskReadQueueLength(8)| +– r-n Gauge32 lDiskAvgDiskWriteQueueLength(9)| +– r-n Gauge32 lDiskAvgDiskSecPerRead(10)| +– r-n Gauge32 lDiskAvgDiskSecPerTransfer(11)| +– r-n Gauge32 lDiskAvgDiskSecPerWrite(12)| +– r-n Gauge32 lDiskCurrentDiskQueueLength(13)| +– r-n Gauge32 lDiskDiskBytesPerSec(14)| +– r-n Gauge32 lDiskDiskReadBytesPerSec(15)| +– r-n Gauge32 lDiskDiskReadsPerSec(16)| +– r-n Gauge32 lDiskDiskTransfersPerSec(17)| +– r-n Gauge32 lDiskDiskWriteBytesPerSec(18)| +– r-n Gauge32 lDiskDiskWritesPerSec(19)| +– r-n Gauge32 lDiskFreeMegabytes(20)| +– r-n Gauge32 lDiskSplitIOPerSec(21)|+–memory(2)| || +– r-n Gauge32 memoryAvailableBytes(1)| +– r-n Gauge32 memoryAvailableKBytes(2)| +– r-n Gauge32 memoryAvailableMBytes(3)| +– r-n Gauge32 memoryCommittedBytes(4)| +– r-n Gauge32 memoryCacheBytes(5)| +– r-n Gauge32 memoryCacheBytesPeak(6)| +– r-n Gauge32 memoryPageFaultsPerSec(7)| +– r-n Gauge32 memoryPagesInputPerSec(8)| +– r-n Gauge32 memoryPagesOutputPerSec(9)| +– r-n Gauge32 memoryPagesPerSec(10)| +– r-n Gauge32 memoryPoolNonpagedBytes(11)| +– r-n Gauge32 memoryPoolPagedBytes(12)| +– r-n Gauge32 memoryPoolPagedResidentBytes(13)| +– r-n Gauge32 memorySystemCacheResidentBytes(14)| +– r-n Gauge32 memorySystemCodeResidentBytes(15)| +– r-n Gauge32 memorySystemCodeTotalBytes(16)| +– r-n Gauge32 memorySystemDriverResidentBytes(17)| +– r-n Gauge32 memorySystemDriverTotalBytes(18)|+–networkInterfaceTable(3)| || +–networkInterfaceEntry(1) [netInstance]| || +– r-n InstanceName netInstance(1)| +– r-n Gauge32 netBytesReceivedPerSec(2)| +– r-n Gauge32 netBytesSentPerSec(3)| +– r-n Gauge32 netBytesTotalPerSec(4)| +– r-n Gauge32 netCurrentBandwidth(5)| +– r-n Gauge32 netOutputQueueLength(6)| +– r-n Gauge32 netPacketsOutboundDiscarded(7)| +– r-n Gauge32 netPacketsOutboundErrors(8)| +– r-n Gauge32 netPacketsReceivedDiscarded(9)| +– r-n Gauge32 netPacketsReceivedErrors(10)| +– r-n Gauge32 netPacketsReceivedUnknown(11)| +– r-n Gauge32 netPacketsReceivedPerSec(12)| +– r-n Gauge32 netPacketsSentPerSec(13)| +– r-n Gauge32 netPacketsPerSec(14)|+–objects(4)| || +– r-n Gauge32 objectsProcesses(1)| +– r-n Gauge32 objectsThreads(2)|+–processorTable(5)| || +–processorEntry(1) [cpuInstance]| || +– r-n InstanceName cpuInstance(1)| +– r-n Gauge32 cpuPercentDPCTime(2)| +– r-n Gauge32 cpuPercentInterruptTime(3)| +– r-n Gauge32 cpuPercentPrivilegedTime(4)| +– r-n Gauge32 cpuPercentProcessorTime(5)| +– r-n Gauge32 cpuPercentUserTime(6)| +– r-n Gauge32 cpuAPCBypassesPerSec(7)| +– r-n Gauge32 cpuDPCBypassesPerSec(8)| +– r-n Gauge32 cpuDPCRate(9)| +– r-n Gauge32 cpuDPCsQueuedPerSec(10)| +– r-n Gauge32 cpuInterruptsPerSec(11)|+–system(6)|+– r-n Gauge32 systemSystemUpTime(1)最后记得在看看这个许可证文件:Program Files/SNMP Informant/standard/license.txtLICENSE.TXT———–FREE OF CHARGE SOFTWARE PROGRAM LICENSE AGREEMENT forSNMP INFORMANT STANDARD EDITION (The Software)——————————————————————————Copyright(c) 2005, Informant Systems, Inc. (www.informant-systems.com), andCopyright(c) 2003-2005, Williams Technology Consulting Services (www.wtcs.org)——————————————————————————Product names used in this document are trademarks of their respective owners.* IMPORTANT-PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE.——————————————————————————后面略….在安装了 snmp 代理之后,我们可以看到 OpenNMS 可以帮助我们完成 windows 服务器的可用性和性能管理。

comments powered by Disqus
本博客始于 2007 年
Built with Hugo
主题 StackJimmy 设计