显示标签为“OpenNMS”的博文。显示所有博文
显示标签为“OpenNMS”的博文。显示所有博文

2009-01-11

opennms 1.6.1-1 quick start guide



本安装手册为纯命令版,如果有什么疑问清参考官方安装手册,或给本贴留言。

[install yum on your Linux box]
选择任意Linux系统,安装上yum工具,在命令行测试 yum -v

[testing internet connection with those two URL]
测试是否能上网,用浏览器分别打开这两个网址

  1. http://www.martinliu.cn/2007/12/13/opennms-yum-install/

  2. http://yum.opennms.org/repofiles/


先别关闭这两个网页。

[Install opennms 开始安装:

  1. yum install yum-fastestmirror

  2. rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-snapshot-rhel4.noarch.rpm

  3. yum list opennms

  4. yum install opennms


[ post-install and config] 开始配置:

  1. export OPENNMS_HOME=/opt/opennms

  2. vi /var/lib/pgsql/data/pg_hba.conf

    1. 注释掉其中所有可用的行,加入下面三行
      local all all trust
      host all all 127.0.0.1/32 trust
      host all all ::1/128 trust



  3. /sbin/service postgresql restart

  4. /usr/java/jdk1.5.0_15/bin/java -version

  5. $OPENNMS_HOME/bin/runjava -S /usr/java/jdk1.5.0_15/bin/java

  6. $OPENNMS_HOME/bin/install -disU -l /usr/lib/jni:/usr/lib


[ startup opennms and login ]启动登录:

  1. /etc/init.d/opennms start

  2. http://localhost:8980/opennms

  3. username and password are admin/admin

  4. click Admin / Add Interface, input a ipaddress and press Add button


OK, I have get oepnnms 1.6.1-1 installed on my home pc, I hope you good luck and have fun.

2008-11-14

[发布说明] OpenNMS 1.6.0 (Stable) Released



OpenNMS 1.6.0 (Stable) Released

似乎每年的10月以后我就会进入一个超级繁忙的状态,很长时间没有更新blog了,今天姑且转载一个OpenNMS的发布说明吧。

OpenNMS, the world's first enterprise-grade network management platform developed as 100% free and open software, has released version 1.6.0. This is a stable, production release that incorporates nearly three years of development.

以上算是OpenNMS的广告语大家看看就是,需要注意的是一个企业级的产品实施费用是从很低的门槛一直到企业级的花费的。和其他的企业级解决方案的实施没有区别,差异在于,一个不同的许可证类型,此为开源许可证是也。

The last production version, 1.2.0, was aimed to compete squarely with Hewlett-Packard's OpenView Network Node Manager product. This release builds upon that work to expand the reach of OpenNMS to other parts of the OpenView family as well as to provide an open source alternative to products such as Tivoli's Netcool.

以上是OpenNMS的精神所在:OpenNMS一直在叫嚣这和OpenView, NetCool较量;这足以说明了它的勇气,和发展方向,它的创始人Tarus从一个人单枪匹马开始,到现在有一般人inhouse开发这个产品,自己全世界出差,如果说没有实现和商业产品的抗衡的话,我个人觉得他起码实现了一个所有开源参与者的梦想“为需要自己的人工作,为自己工作”

OpenNMS 1.6.0 sports a redesigned user interface, a number of scalability improvements and increased integration with other products. OpenNMS now runs on Windows, in addition to most flavors of Linux, Solaris and Mac OS X.

上面说的是新版的用户界面重新设计了,目前我还没有时间安装,回头装好了一定上图片,新版的稳定性得到提高并增加了和其他产品的集成。现在OpenNMS也能在Windows上运行了,在我看这是早晚的是,它是个纯Java的应用,移植不是什么难事,不过我不推荐在windows上完开源的产品,有点不伦不类的感觉,而且从原生态的Linux环境中才哪呢个够获取开源的全部优势。

One of the major additions to the platform is the Alarms subsystem. OpenNMS can receive events from a number of sources, such as SNMP traps, syslog, TL/1, and custom scripts. A key can be configured for each event that will allow it to be turned into an alarm. Thus if a device is generating multiple, identical events, their number will be reduced into just a single alarm. This greatly reduces the amount of event "noise" that operators see.

上面说告警子系统现在是增强了。OpenNMS能收到像是snmp trap,syslog, TL/1和自定义脚本发来的告警事件。某种键值能被设置,让一个事件能被出发成一个警报。报警事件经过了压制和降噪处理,较少了重复报的数量。

In addition, automated actions can be performed on alarms. For example, events that signal problem resolution, or "up" alarms, can be matched with "down" alarms to automatically clear them. Event workflow can be built into the system by using these automations to manage the alarm list, thus freeing up the operators to focus on the most important issues.

另外,对于一个警报来说,可以和一个自动化的动作配合,例如某些up事件能去清除对应的down事件。

While OpenNMS contains a robust automated discovery system, when managing tens of thousands of nodes it is often preferred to allow an external system to determine what OpenNMS is to monitor. Thus OpenNMS 1.6.0 contains a new "model importer" feature that allows node, interface and service information to be imported directly into the system using data in an XML format. One company uses this method to manage over 70,000 devices with a single instance of OpenNMS.

同时OpenNMS现在的自动发现系统非常强大哦,档管理一万个节点的时候,OpenNMS往往倾向于使用一个外部的系统来决定什么是需要OpenNMS监控的。在1.6中包括这样一个新功能‘模型导入’,他能把xml格式的节点和端口数据自己导入到OpenNMS系统中。曾经一个公司用这个方法管理这7万个节点,都在一套OpenNMS系统内,好家伙~~也就是说这个功能有了之后,你就可以不用一个节点的去发现了,往往有些机器发现的那会正好不在线,那就漏掉很多的机器了。
Data collection saw many improvements as well. With the proper hardware, OpenNMS is able to collect over one million data points every five minutes. This data can be from SNMP (versions 1, 2c and 3), JMX, HTTP, or NSClient. The collected data can be exported via the web user interface. Reports showing the highest and lowest values for a particular set of data points (Top N Reports) can also be created, and 1.6.0 contains a vastly improved thresholding system. Thresholds can be generated on individual data points, combinations of data points, as well as a "relative change" such as when a value shows a sudden increase or decrease.

数据的采集方面也有很多增强。利用一个合适的硬件,OpenNMS能够每5分钟把超过一百万的数据采集点采集一遍,要是采集稳定的话,这还是比较快的了。被采集的数据点可以使来自 snmp v1,2,3, JMX, http, nsclient。 采集来的数据能通过web界面到处了。这还是不错的功能,能有可能做一些系统之外的自定义报表了。自带的报表功能能够定制TopN的报表。OpenNMS现在的阀值管理系统也得到了增强。能为某一个数据点设置,也能为一组数据采集点,同时有了对 "relative change"的管理,也就是某个数据忽高忽低的管理,也即是某些瞬间的异常增的很高或降的很低。

OpenNMS was originally designed for network service monitoring, and that functionality has been increased as well. New monitors for such things as Windows services are now available, as well as more advanced synthetic transactions. The Page Sequence Monitor was created to monitor a complete web-based transaction, while the Mail Transport Monitor determines the full round-trip availability of a mail service.

OpenNMS天生是监控网络的。新增了很多monitor,例如windows服务监控,模拟交易监控。页面序列监控器用了监控一些列的web交易处理行为,还能通过Mail Transport Monitor 来确定邮件服务的可用性。

Probably the biggest change was the development of distributed monitoring. Using a small Java webstart application installed on a remote system, OpenNMS is able to monitor service availability from the point of view of the remote system. Combined with the Page Sequence Monitor one can measure the user's experience when visiting a website from various remote locations.

最大的变更在这个版本中是‘分布式监控’,使用一个小的安装在远处的一个主机上的Java Webstat应用,opennms能过过这个监控服务点看到远程的系统上采集的数据。结合页面序列监控功能,它可以实现这样的功能:在南北方,网通电信的网络中找四个点安装这个程序后,模拟从不同网络位置监控某个web网站上一系列功能页面的可用性。这就是所谓的模拟交易管理,是Web应用管理方面中当下不可缺少的环节。

As OpenNMS was designed as a platform, there are numerous ways for external applications, both open and proprietary, to integrate with it. There is a new Trouble Ticketing API that allows for two-way communication between OpenNMS and a number of external ticketing systems such as Jira, Concursive (CentricCRM) and OTRS.
像opennms这样的平台,可以提供给开源或者商业外部系统的接口。通过这些api的双向接口,你可以把报警事件送到外部的工单管理系统(事件管理流程平台)中,例如 Jira, Concursive (CentricCRM) and OTRS.、

These are just a few of the new features available in 1.6.0. As always, OpenNMS is 100% free and open software. Please check it out and let us know what you think. We hope you enjoy using it as much as we enjoy creating it.

嗯,终于读完了整篇的发布说明,你能相信,它都发布了这么久了,我只有在周五晚上抽空仔细读完么。这周简直是太忙,天天加班,还有天天处理不完的状况。今天的一个教训就是“软件系统之间的集成不是简单能搞定的,需要小心,小心在小心”

2008-10-29

Some old stuff for sharing

I think the following open source software resources could be helpful to you.

本页面上是我认为可能对您有用的资源连接,目的是让您能以最小的时间和精力代价来体验开源软件。使用一个虚拟应用可能是一个比较方便的途径;有些开源应用做的非常体贴用户,软件提供ISO文件下载,通过这个ISO文件甚至能一键安装,在一个物理和虚拟的硬件上试用这个软件了。

Virtual Appliances / 虚拟应用



ISO Appliances / ISO应用

FSF mail list
Welcome to the Free Software Supporter, the Free Software Foundation's
monthly news digest and action update.


2007-12-23

如何配置OpenNMS中的 Path outage -路径失效

这个功能是是1.3.2之后加入的。它解决的问题是:当OpenNMS系统和被监控节点之间的网络路径失效了,或者网络链路down了,那么OpenNMS就需要抑制发送这个节点的告警。例如,如果一个广域网链路down了,所有由这个链路连接的远程站点的所有节点就都看起来down了。因为你将会得到一个路由器上远端链路无响应的告警,而不需要得到在这个路由器后所有节点Down的告警。如果当一个远程节点不响应了,OpenNMS会测试一下那个远程路由器广域网接口的ip,通过对这个ip的测试OpenNMS觉得是否该发出此节点Down的告警。OpenNMS测试的这个节点叫做此节点的Critical Path IP Address(关键路径Ip地址)。

给一个节点配置Path Outage
在OpenNMS的节点配置上,点击Admin, 点击 Configure Path Outage,输入对于这个节点来说关键的ip地址。点击Submit按钮。

配置基于规则的Path outage
可以为一组节点配置一个规则。在总导航条上选中Admin,Configure Notifications,点击Configure Path Outages,在Define the Critical Path下面输入一个Ip地址,例如:192.168.0.1(这种格式);在Current Rule下面输入地址范围,例如:IPADDR IPLIKE 192.168.0.*;可以选中Show matching node list后的box,点击Validate Rule Results连接;在下面的页面可以查询到受那个关键Ip地址所影响的所有节点;最后点击Finish按钮完成配置。

查看Path Outage
在总导航条上选中Path Outages,在页面中你可以看到你配置的所有Path Outages的规则。
这个文章基本上翻译的是http://www.opennms.org/index.php/Path_Outage_How-To 只是觉得这是个不错的功能,所以就大概翻译了一下,希望对感兴趣的朋友们有帮助。由于手头硬件环境的限制,我还没有真实测试过这个功能,如果您对此功能做了什么测试的话,也欢迎和我交流,请留言或者或发邮件给我。

2007-12-21

如何使用OpenNMS中的StrafePing功能

自从1.3.7之后OpenNMS加入了Smokeping功能,取名为StrafePing。从此OpenNMS也成了Smokeping的银牌赞助商。

安装:

StafePing做为一个Poller默认被安装在1.3.7后的软件中,不需要单独安装和配置。

配置:

没有单独的配置文件,相关的配置信息需要修改文件: poller-configuration.xml中的相关部分。需要在 标记中加入需要使用的Ip地址范围。启用之后StrafePing做为一个被监控的服务显示在这个节点上。

默认安装OpenNMS并不使用这个服务,是为了减小网络流量;推荐根据OpenNMS硬件的能力只对部分节点做这种监控。

使用:

需要产品StrafePing的图形有两种方式。1)在OpenNMS首页上,点击右侧的Resources Graphs,选中产看的机器,在Response Time下面的列表中选中需要产看的Ip地址,点击Submit,即可产看到图形。2)在节点产看页面,选中Resources Graphs,在Response Time下面的列表中选中需要产看的Ip地址,点击Submit,即可产看到图形。

如何想看懂StafePing的图

请参考我以前的blog http://lzheng.blogspot.com/2007/02/smokeping-rttround-trip-time-tcp-tcp.html

参考Smokeping的网站http://oss.oetiker.ch/smokeping/doc/reading.en.html

2007-12-14

如何用通过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.txt
LICENSE.TXT
-----------
FREE OF CHARGE SOFTWARE PROGRAM LICENSE AGREEMENT for
SNMP INFORMANT STANDARD EDITION (The Software)

------------------------------------------------------------------------------
Copyright(c) 2005, Informant Systems, Inc. (www.informant-systems.com), and
Copyright(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服务器的可用性和性能管理。

2007-12-13

OpenNMS的Yum的安装方式,安装简单了很多

OpenNMS网站的安装文档:
http://www.opennms.org/index.php/Installation:Yum

下面是我在一个CentOS4的机器上按照上面文档安装的。

  1. 先浏览一下这个页面 http://yum.opennms.org/repofiles/ 找到适合你的OS的那一行。
  2. 我选择安装的是1.3.10-0.8030.snapshot 这是当前开发的最新版本的OpenNMS 运行命令: rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-snapshot-rhel4.noarch.rpm
  3. 检查是否安装成功, 运行命令: yum list opennms ;我能看到如下输出结果

[root@jng-hkg-48-dyn3328831 ~]# yum list opennms

Repository opennms-stable-common is listed more than once in the configuration

Repository opennms-stable-rhel4 is listed more than once in the configuration

Setting up repositories

Reading repository metadata in from local files

Available Packages

opennms.noarch 1.3.10-0.8030.snapshot opennms-snapshot

  1. 安装这个版本的OpenNMS,运行命令: yum install opennms ; yum会处理包的依赖关系,把需要安装的包都从网络下载并安装上,所以我按y键开始安装,根据网络快慢的情况不同,您需要等待~~

Dependencies Resolved

=============================================================================

Package Arch Version Repository Size

=============================================================================

Installing:

opennms noarch 1.3.10-0.8030.snapshot opennms-snapshot-common 5.0 k

Installing for dependencies:

iplike i386 1.0.6-1 opennms-snapshot-rhel4 10 k

jdk i586 2000:1.5.0_13-fcs opennms-snapshot-common 46 M

jicmp i386 1.0.4-1 opennms-snapshot-rhel4 43 k

opennms-core noarch 1.3.10-0.8030.snapshot opennms-snapshot-common 47 M

opennms-webapp-jetty noarch 1.3.10-0.8030.snapshot opennms-snapshot-common 27 M

postgresql i386 7.4.17-1.RHEL4.1 update 2.0 M

postgresql-server i386 7.4.17-1.RHEL4.1 update 3.0 M

Transaction Summary

=============================================================================

Install 8 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 125 M

Is this ok [y/N]: y

  1. 建立/opt/opennms目录;导出到环境变量 export OPENNMS_HOME=/opt/opennms
  2. 配置数据库;启动数据库,第一次启动之后才能得到相关的配置文件; 运行命令: /sbin/service postgresql start
  3. 修改/var/lib/pgsql/data/pg_hba.conf 文件;内容如下。

local all all trust

host all all 127.0.0.1/32 trust

host all all ::1/128 trust

  1. 修改 /var/lib/pgsql/data/postgresql.conf文件;内容如下

tcpip_socket = true

isten_addresses = 'localhost' (这一行加入了好些数据库启动不了了,去掉就行了,不知原因)

  1. 重新启动数据库服务;运行命令: /sbin/service postgresql restart
  2. 告诉OpenNMS JDK在那里; 运行命令:$OPENNMS_HOME/bin/runjava -S /usr/java/jdk1.5.0_13/bin/java
  3. 初始化OpenNMS的数据库;运行命令:$OPENNMS_HOME/bin/install -disU -l /usr/lib/jni:/usr/lib
  4. 启动OpenNMS;运行命令:/etc/init.d/opennms start
  5. 访问OpenNMS http://ip:8980/opennms 用户名和密码都是admin
  6. 进入管理部门,配置自动发现的ip范围,配置提示邮件。
  7. Enjoy open source software, have fun.

2007-06-15

开源IT管理工具大全之All in one虚拟机

我做开源工具测试时,90%以上是在VMWare虚拟机中实现的,本人比较懒一直没有学习Xen虚拟机的用法,等下次吧,一等要彻底开源是我的一个梦想呵呵!

说说这个All in One虚拟机的想法,我只是想把所有的我熟悉的工具都安装和配置在一个虚拟机里,这样当有人需要给做Demo的时候,我可以很快的做一个分享.如果有朋友感兴趣的话,我可以刻盘他.总的来讲希望能分享一下我的学习成果给大家.

第一步:安装虚拟机
这个虚拟机我不像使用很多的Snapshoot,我以前是这么做的,从一个基础的OS发出许多分支到不同的工具;这样做的缺点有二:1)特别占磁盘空间;2)不能同时访问多个系统.

我选择的Linux是Open Suse Linux 10.2;Suse的包管理对我来说真的很方便,从安装DVD上用Yast可以方便安装各种软件,无须考虑包之间的依赖性问题.
我选择的是最小图形化系统安装,安装完之后,vmdk文件的大小好像是2GB多.

接下来安装的是所有的必须的包,大致如下:Apache,Perl,MySQL,PostgreSQL,rddtool,net-snmp,php,gcc,Kernel-source(for vmware tools)...等安装完之后用chkconfig on 命令设置需要自动启动的服务;然后把apache等服务逐个启动一下验证是否工作正常.

然后安装的是VMWare tools,这个好像也不是必须,不过还是装上比较好,方便虚拟机和host机共享文件.我的虚拟机的版本是5.5.3workstation版本.

第二步:安装各种开源软件
下面可能会是一个很长的change log

1. 安装OpenNMS 1.3.2 安装方法 设置了opennms的自动启动,还没有设置tomcat5.5.23的自动启动.

2.安装Cacti 0.8.6j 安装方法, 使用的poller.php,尝试安装cactid,安装失败,原因可能是OpenSuse10.2好像没有net-snmp lib包. 暂时不安装cactid

3.安装OCSNG 1.0.1 安装方法

4.安装 hyperic-hq 3.0.4-389 安装方法, 2007-6-21th

5.安装 OTRS 2.2.1-1 安装方法很简单,执行rpm安装既可, 2007-7-28th

2007-06-01

There is the easiest way to run IT management tool

If you are not a Linux guru, windows is the OS you can use only. It does not matter. You could easily try it on your Windows Laptop probably. Since VMware Player is free for using, and there are lots of VMware applications on the internet. So, you just download whatever you need and run them on everywhere. Then you get a fancy IT management solution running on your computer; you really do not even know about Linux and open source. You will see it rocks for you; you won’t troubleshoot for installation issues.

http://www.vmware.com/download/player/

  • OpenNMS 1.3.2-CentOS4

http://sourceforge.net/project/showfiles.php?group_id=4141&package_id=227240

  • Zenoss 1.1.1

http://downloads.sourceforge.net/zenoss/zenoss-1.1.1-x86.vmware.zip

  • GroundWork 5.1

http://www.groundworkopensource.com/downloads/full_download.html#vmw

  • OpenESM (ZABBIX)
http://www.openesm.com/s1/

More will coming soon.

2007-05-13

Install OpenNMS 1.3.2 on OpenSuse 10.2 system (The simplest version )

1>Install dependence packages
zliu3:~yast -i rrdtool
zliu3:~yast -i postgresql
zliu3:~ # rpm -qa |grep rrdtool
rrdtool-1.2.15-25
zliu3:~ # rpm -qa |grep postgresql
postgresql-8.1.5-13
postgresql-libs-8.1.5-13
postgresql-contrib-8.1.5-13
postgresql-pl-8.1.5-15
postgresql-server-8.1.5-13
rcpostgresql start
copy jdk/tomcat 5.5 package files to /opt
cd /opt
tar xzvf jdk1.5.tar.gz
tar xzvf tomcat5.5.tar.gz
export JAVA_HOME=/opt/jdk1.5.0_09
export OPENNMS_HOME=/opt/opennms
export CATALINA_HOME=/opt/apache-tomcat-5.5.20
export PATH=$PATH:$JAVA_HOME/bin
java -version
$CATALINA_HOME/bin/startup.sh
Test Tomcat 5.5 http://Ip_address:8080/
vi /var/lib/pgsql/data/postgresql.conf
# - Connection Settings -
max_connections = 256

vi /var/lib/pgsql/data/pg_hba.conf
[refer to install guide]
#local all all ident sameuser
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust

rcpostgresql restart

2>Install and configure OpenNMS
Copy OpenNMS rpm packages to /root
rpm -ivh opennms*
$OPENNMS_HOME/bin/runjava -s
$OPENNMS_HOME/bin/install -dis
$OPENNMS_HOME/bin/install -y -w $CATALINA_HOME/conf/Catalina/localhost
$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh
/etc/init.d/opennms start
/etc/init.d/opennms -v status
OpenNMS.Eventd : running
OpenNMS.Trapd : running
OpenNMS.Dhcpd : running
OpenNMS.Actiond : running
OpenNMS.Capsd : running
OpenNMS.Notifd : running
OpenNMS.Scriptd : running
OpenNMS.Rtcd : running
OpenNMS.Pollerd : running
OpenNMS.PollerBackEnd : running
OpenNMS.Collectd : running
OpenNMS.Threshd : running
OpenNMS.Discovery : running
OpenNMS.Vacuumd : running
OpenNMS.EventTranslator: running
OpenNMS.PassiveStatusd : running

Test OpenNMS login page http://ip_address:8080/opennms

2007-05-08

OpenNMS网络和系统管理简介

1.1 概述

Opennms能够帮助IT管理部门持续的监控分布式的异构系统和网络设备的运行状态,它可以支持SNMP网络管理协议确保管理的扩展性,并且提供非常灵活的定制功能从而有利于管理范围的伸缩。它内置的故障事件管理以提供故障事件的记录和分析的能力,快速隔离非根源事件并迅速发现故障原因。Opennms良好的设计可以快速部署实施,简单友好的图形界面能够使得用户迅速掌握,从而降低操作的复杂度,提高IT管理效率。

1.2 体系架构

作为一个通用的网络系统故障监控平台,其体系架构应如下图所示:

附图1. Opennms体系架构

我们从下至上对Opnnms体系架构作一一的介绍:

u 被管理对象层,SNMP代理程序是数据采集和动作执行层。对应网络设备来讲,该层对应与网络设备本身的网络管理功能,不需要在设备上单独部署功能模块;对计算机来讲,该层是运行在目标计算机上的SNMP服务,负责采集该系统运行状况、性能等数据,并向管理层汇报。

u Opennms监控引擎是实现网络和系统可用性、故障管理的业务逻辑和策略的处理层。他利用特定的轮询策略:从代理程序层收集数据、更新和维护被管理对象状态、执行相关的报警事件通知。

u 管理对象数据库是网络和系统管理的数据存储层。其中以面向对象的方式保存着网络和系统资源的模型,记录着他们的配置、描述和状态等信息。这些模型和信息是通过Opennms网络扫描模块自动建立起来的,并由管理者层自动维护。

u 图形用户界面是网络和系统管理的数据表示层。他以各种直观、生动的用户界面向用户展示网络和系统中各种对象的关系、配置、状态和故障情况,是优秀的用户接口。

针对某企业简称user short name的环境,其IT故障监控子系统的管理框架为:

u 被管理对象层——启动核心路由器和交换机的SNMP网管协议,作为网络设备故障的数据提供源;在所有需要管理的服务器上运行SNMP服务,作为监控操作系统故障的数据提供源。

u Opennms网络监控服务器——新增一台服务器,部署Opennms的监控引擎模块,由该模块对被管理对象层的数据源进行自动的数据采集和翻译采集的结果。并实时发送报警信息。

u 对象存储库——在和Opennms监控引擎安装的机器上安装PostgreSQL,作为Opennms监控模块的对象存储库。

u 图形用户界面——某企业简称user short name管理员可使用任何的WWW浏览器连接Opennms网络监控服务器的用户界面,使用合适的用户名,在某种适当的权限下查看和浏览网络监控信息、状态信息、可用性报表和性能报表。

1.3 功能介绍

1.3.1 网络节点自动发现

对象存储库中的信息并不是靠管理员手工输入和维护的,而是由Opennms网络监控引擎-自动扫描模块自动从用户的计算机系统中搜索发现出来的。

附图2. 网络节点自动发现

1.3.2 图形用户管理界面

某企业简称user short name这 样的网络和系统中,需要一些友好的监控视图。目的是使得管理员能够通过直观的界面,迅速发现故障,从而在最短的时间内解决故障。该用户界面视图可使得管理 员通过管理工具看到现实世界对象的真实反映,而不是抽象的符号。使用户能够监控整个系统的概貌,系统的大体分布和总体运行状况等。并且决策适当的故障排除 方案,各种界面视图可通过Intranet进行浏览查看。

附图3. 网络管理员管理主页

该用户界面的最左边是:Nodes with Outages,表格中列出了最近发生故障状况的12个节点,这些节点可能是网络故障,或者是某些网络服务出错等。

用户界面的中间是:各种网络服务的服务水平报告。它列出了最近24小时之内各种网络服务的服务质量水平;其中的网络服务可能包括:网络接口的UP时间、Web服务、DNSDHCP服务和数据库服务等。

最右侧的是一些比较常用的功能选项:报警提示信息、节点的性能报表、节点网络服务相应时间报表和自定义的性能报表。

1.3.3 故障监控

被管理对象的数据采集和状态维护是由Opennms的监控引擎模块实现的。每个所管理的所有对象存储在数据库中。可以管理的对象包括:

u 支持SNMP网管的网络设备

u 部署了SNMP服务的服务器上的操作系统

Opennms采取统一的通讯方式从这些管理对象上采集可用性和故障信息,信息的采集有两种方式:

u Opennms主动地通过SNMP协议定期查询被管理对象状态

u Opennms被动接收被管理对象发来的SNMP Trap

Opennms得到被管理对象的轮询或Trap信息后,根据收到的信息类型、对象原来的状态和网络系统管理的策略和逻辑判断对象的状态是否发生变化。如果发生了变化,则可以按照管理策略采取若干更新操作。

1.3.4 故障事件管理

当 被管理对象的运行状态发生变化时,就会产生事件。如果该事件是由正常变为故障,则会产生故障报警。事件管理是通过收集、确认事件,对事件进行分类和过滤, 关联不同来源的事件完成对事件的处理和响应。通过事件管理,系统管理人员可以方便、迅速、及时掌握系统运行的故障和警报,及时进行处理,保障系统的正常、 稳定运行。

IT系统管理人员所关注的问题,如系统资源出现短缺、数据库连接失败、网络通信中断、主机文件系统溢出等等都会以事件的形式表现出来。

附图4. 事件管理控制台

1.3.5 操作系统监控

Opennms对各种计算机操作系统的可用性、运行状况和故障的集中监控是通过本身的SNMP服务程序完成的。这些SNMP代理程序是SNMP服务的组成部分。在本次建议的方案中,在所有的被监控服务器上其监控的主要内容包括:

u CPU利用率,显示系统、用户、空闲时间的百分比;

u 虚拟内存(Virtual memory)利用率;

u 文件系统使用情况,显示磁盘空间使用情况;

u 监视文件系统的使用率,当使用率超过特定阈值时向系统管理员报警;

u 监控网络端口的输入、输出、错包,以及端口是否被停用或者删除;

u UNIX系统还可以监控

² Load Average:服务器平均处理量

² 共享内存

1.3.6 网络节点配置信息管理

被监控对象节点在数据中的配置信息是IT设备的资产信息,每个网络节点都是一个特定的IT资产设备。每个节点在数据库中有很多属性字段供选择填写,主要有三类属性信息:

1. 配置种类信息:配置分类、告警分类、轮询属性和阈值分类。

2. 标识信息:资产描述、厂商、型号、资产编号、操作系统等

3. 位置信息:负责人、部门、楼层、房间、机架编号等

附图5. 节点资产信息

1.3.7 全面的节点监控

每个被监控的节点都能被细致的记录和监控。当查看某节点的信息时,有这样几类信息:状态信息、各种网络服务总的可用性、SNMP属性、各个接口熟悉、最近发生的5个事件和最近的故障事件。

附图6. 节点监控视图

在查看某个节点是,界面上的信息分为三类:网络服务可用性报表、当前状态和监控事件信息。在菜单栏还能有很多功能选项:查看故障事件、资产信息、响应时间报表、SNMP性能报表、重新扫描、节点管理和更新SNMP信息。

1.4 特点和优势

Opennms在网络和系统管理方面,有非常广泛的用户,特别是中小企业用户,Opennms具有很多极好的特点:

u 方便易用的用户管理界面——Opennms可以提供故障事件视图、节点视图、相应时间视图、性能视图等各种管理视图。

u 基于Open Source协议开发——用户可以按照自己的需求,通过修改软件本身或者软件的源代码来定制。

u 跨平台管理——Opennms支持任何能运行标准SNMP协议服务的操作系统系统,并且可以从一个单一的用户界面分别管理其局域网(LAN)。

u 切实可行的事件管理系统——Opennms通过方便易用的交互式控制台,为IT管理员显示关键事件,提供自动的事件响应,可以以电子邮件方式发出事件通知。

u 方便的集成——Opennms可以与第三方产品集成。例如Opennms可以方便的与DellHPIBM等厂商的服务器自带的SNMP故障管理软件集成。

u 2005 Linux World推荐管理产品 ——Opennms获得2005Linux世界大会的“最佳网络系统管理软件”的荣誉。已经被认定开源软件世界中的最佳网络系统管理软件。

版权所有,如果转载请著名出处。

曾被www.vshj.com转载:http://www.vshj.com/Article/2006/200607/Article_97842.htm

文章中所提到的图片请参阅我的相册。




OpenNMS常问问题All-in-One

问:OpenNMS是什么?
答: OpenNMS是第一个开发在开源模式下的企业级网络管理平台应用。OpenNMS的目标是成为一个真真的分布式、可升级的网络管理平台,尽管它看似一个 FCAPS网络管理模型,使之可用于开放源码和商业领域。目前:OpenNMS专注与以下三个方面:服务轮询 - 检查应用服务的可用性,产生可用性报表。数据收集 - 收集、保存和报表网络信息数据,并设定和触发门限值。事件和提示管理 - 接受事件系统内部的和外部的事件,将源事件提供给强大的故障告警和故障升级系统。OpenNMS Group是开发和支持OpenNMS应用的一个商业性的实体。

问:为什么要开源?
答: 我们坚信真真的创新不会来自规模巨大的企业。我们还相信网络管理软件领域比Linux操作系统更适合开源模式。不像Linux,网络管理要去监视和控制来 自不同厂商的很多的技术。考虑到每年都有很多新的网络设备面世。商业软件公司并不希望追赶这种更新产品的工作负荷,相反它们只能依赖与它们的通用管理技术 (最小化的通用性)。相反,对于一个开源项目中的每一个人--厂商、用户或者技术顾问--都能对项目做出自己的共享,从而保障了这个项目成功的几率。
问:OpenNMS是用什么语言写的?
答: OpenNMS主要是用Java语言写的。OpenNMS2.0的目标是:让它成为一个以一堆.jar文件形式来安装的产品。还有一些非Java的部分: icmpd-Java1.4 API不能理解ICMP。因为ICMP回答请求(ping)是一个最简单的来测试基于Ip的网络设备是否可以服务的方法,没有那个网络管理应用程序不用的 它的。将ICMP功能分离为一个独立的守护进程的目标是,如果系统中有ICMP的功能那么OpenNMS就用,如果没有OpenNMS就率略它。 OpenNMS不需要ICMP来监控网络设备。数据库-OpenNMS现在使用PostgreSQL作为它的地层数据库,PostgreSQL 是用C写 的。OpenNMS2.0会使用几个能通过Hibernate适配器访问到的数据库。rrdtool-OpenNMS当前的版本实时的选择使用 RRDtool或jRobin(Java会使用RRDtool)。最终这个选项的默认使用jRobin,也可以选择使用RRDtool。
问:OpenNMS有图形的显示么?
答: 这可能是一个对于OpenNMS新人来说最常问的问题:OpenNMS的图形监控界面在那?简单的问答是我们没有一个这样的地图,如果你想听听我们的解释 请继续往下看。OpenNMS是被一些经验丰富的网络管理技术顾问开发出来的。HP的Openvew NNM是一个很流行的商业软件,它能生产一个可定制化的网络监控图形。

OpenNMS Screenshot

OpenNMS

原文地址 http://www.opennms.org/index.php/FAQ-About

2007-04-26

OpenNMS 安装说明-精简版

Per-install Checklist:

  1. SuSE 10.1 Linux install CD
  2. OpenNMS rpm packages for SuSE Linux
  3. JDK 1.5 package
  4. Tomcat 5.5.20 package

Here we go:

  • Insert install CD into Cd/Dvd rom
  • Do SuSE Linux mini install
  • Logon in OS, run 'yast firewall' to open 8080 tcp port on firewall
  • upload all packages to /opt
  • untar JDK
  • untar Tomcat
  • install postgresql through yast; run 'rcpostgresql start'
  • Export some variables

export JAVA_HOME=/opt/jdk1.5.0_09
export OPENNMS_HOME=/opt/opennms
export CATALINA_HOME=/opt/apache-tomcat-5.5.20
export PATH=$PATH:$JAVA_HOME/bin

  • Test Java and Tomcat

java -version
$CATALINA_HOME/bin/startup.sh

  • Modify this file, vi /var/lib/pgsql/data/pg_hba.conf , then run 'rcpostgresql restart'

#local all all ident sameuser
local all all trus
thost all all 127.0.0.1 255.255.255.255 trust
host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust

  • install OpenNMS rpm packages; rpm -ivh xxx.rpm
  • $OPENNMS_HOME/bin/runjava -s
  • $OPENNMS_HOME/bin/install -dis
  • $OPENNMS_HOME/bin/install -y -w $CATALINA_HOME/conf/Catalina/localhost
  • restart Tomcat
  • start OpenNMS; $OPENNMS_HOME/bin/opennms start
  • Check opennms status; $OPENNMS_HOME/bin/opennms -v status
  • login web console

以上仅仅是我一个偷懒的方法,可以比较快的部署运行OpenNMS。这种方式的好处如下:

  1. Mini安装可以是最快的安装,总共只有几百MB就得到一个Linux操作系统
  2. SuSE的包管理比较好用,配合一张安装DVD,几乎所有软件招之即来,不需要下载任何东西
  3. Java和Tomcat的安装包是从以前的机器上直接把安装目录tar出来的,这也直接解压来用速度比较快。

这个安装方式的缺点:

  1. 并不是最优的安装,没用设置服务的自动重启
  2. 没用优化PostgreSQL
  3. 没用优化Java和Tomcat;ONMS是java应用,性能可能会是个问题
  4. 没用对ONMS做任何配置
  • Post-install Checklist:
    Change Admin password for ONMS
    customize ONMS per your requirements
    optimize Tomcat/Postgresql/ONMS configuration

2007-02-15

如何看懂Smokeping图表


RTT(Round-Trip Time)

简单说它是一个数据报在网络上两点中间往返一次的时间。是影响TCP性能和表征网络运行状况的重要参数。在网络中实时、准确地测量大量TCP设备和系统的RTT参数是网络管的重要环节之一。Smokeping就是这样的自动测试系统,它向目标设备和系统发送各种类型的测试数据包,测量、记录和展示RTT


Median RTT 中间数

它是中间数并不是平均值。Smokeping有多种类型的探针,探针在默认的设置下,每300秒向目标设备发送20测探测数据包。假如这20个数据包都返回的话,它就记录下了20RTT,那么Median RTT就是第十个包的RTT;如果有5个包丢失的话,那么Median RTT就是第八个返回的包的RTT值。


Avg RTT 评价值

它是每一个测试回合中所有RTT的算术评价值。


Avg pkt loss

它是丢包率。


上图中测试的三个服务器,是用默认的FPing探针探测该服务器是否在线。Smokeping就装在OpenNMS上,可以看出它的RTT最小;奇怪的是它的丢包率却是最大。其它的,一个是美国的一个Web服务器,另一个是美国的Exchange邮件服务器。


Last 3 Hours 最近的3小时

Median Ping RTT 506.2 ms avg中间数的平均值是5.6.2毫秒。如果是绿色的短横线,说明一个300秒的周期内所有的包都返回都有RTT的时间记录下来;如果是蓝色的短横线则说明有2个包丢失。

Packet Loss丢包率。从上图中我们看出全都是绿线,所以丢包率当然是0

Probe10 HTTP pings using echoping(1) every 300 seconds

这张图是2007-1-11 12:00:05生成的。每一个绿色的短横线都是一个测试回合300秒内用echoping测试HTTP协议10次。绿色画出的是中间数的位置,一个回合中的其它值都在它附近被以灰度的形式被刻画;灰度的范围越小越好,灰色的范围像是烟雾一样笼罩在中间数附近。在中间数附近的烟越小越好,说明网络很平稳。RTT曲线的起伏还显示了网络的负载情况。

点击这里看一个网上的Demo

update : 2008-1-18

现在OpenNMS把smokeping集成了,你可以在OpenNMS中配置使用这个功能。