- 皮皮
-
mon通用目资源监视系统备用于监视网络服务用性服务器问题诸温度等影响系统运行环境条件
资源监视视两部独立任务:测试条件现问题触发作mon设计用于检测独立stand-alone服务并能作相应响应作mon调度器形式实现监视任务执行监视器失效调用响应告警程序
我般mon作集群环境资源监控平台通我能够监控几乎所已知服务像http服务、telnet服务、邮件服务等等甚至能够监视文件变化实解控主机否重启等等mon监视远程主机系统资源提供良平台除外mon提供强告警机制监视具体服务失效或者效mon作放映喜论mon监视工具monitor告警程序都通便捷脚本语言书写使用shell使用perl或者别需要传递参数借助mon守护进程变量、系统环境变量命令行式传递给相应具体脚本程序
面些mon软件包附带客户端工具cgi-bin/
clients/
目录找:
-moncmd,
用于客户端操作工具实现完整客户/服务接口
-monshow用于报告监视服务运行状态既命令行工具提供cgi教本友、图形化式显示服务前状态、组信息错误志
-skymon,
SKYTEL双路页面调度接口允许查询服务状态同提供moncmd致维护服务访问通简单用户/密码认证机制访问控制文件进行
-mon.cgi,
monweb接口仅允许通web页面查看服务运行状态实改变服务相应参数
监视器告警程序并mon部尽管附带发行包些工具意味着新服务需要监视或者修改作需要响应mon须改保证mon扩展性
mon特性
mon针linux发工具众所周知sorlaris工作客户服务端都由perl语言书写轻便性问题
监控
监控词用于检查特定环境条件任何形式随报告服务功失败消息mon设计非独立使用自喜任何语言书写监控程序要按照要求放mon指定监控程序工作
异步事件通信机制
mon服务支持异步事件通信机制放式协议像monitoralert脚本触发任何事件典型应用作SNMP陷阱远程结点产陷阱事件采用监视器池通知失效事件处理容易能建立布式监控体系例WAN范围内同域主机收集自身运行信息适重事件通知位于位置服务器比NOC等
告警
告警教本用于mon检测问题发送消息或者进行失效处理工作些告警脚本监视脚本mon本身部作扩展模块随意加入支持"Upalerts"种用于服务失效段间随即恢复所触发专用脚本程序
告警管理失效控制
任何受监控服务失效都引起告警行甚至同事件触发告警消息别同用户使用特性建立"on
call"调度例设定系统使旦发现任何资源用情况经判断早8点前发送告警消息给所系统管理员早8点发送给管理员王
并行性
能够同主机或者同组主机检测服务工作并行化例
限制重复报警
mon系统限制重复报警行例设定持续失效服务仅没1发送告警邮件停发送选择忽略些微、短暂失效事件
依赖关系
mon支持内部服务依赖特性例监视服务器受监视WWW服务器间路由失效虽访问HTTP服务确告警消息内容要指路由问题非HTTP问题重要资源访问依赖关系防止量告警消息发依赖性理解层结构或者树结构发失效事件种依赖关系使失效事件按照树结构向处理任务传递叶结点说依赖关系能使告警尽能反映失效真实情况复杂依赖关系应该使用图表示实际用树结构或者层结构描述依赖关系
扩展配置
mon提供伸缩性、扩展性非强配置文件机制主机规划组每主机或者主机组自服务(service)具体参考附带范例文件
真客户/服务模式
使用交互命令、WWW界面SkyTel客户端工具查询服务状态历史纪录协议简单使容易添加自客户端工具Mon支持种认证包括PAM实现每用户访问控制查询服务状态使用PerlAPI模块进行编程所编写自通信接口简单比用WAP协议访问服务状态要提现几社区发展自WWW接口工具
基于视图状态报告
通复杂配置文件用户通服务状态视图查看信息需要解每受监视服务具体状态例"network"视图显示整网络拓扑情况"servers"视图则包括所关服务信息故需要每用户配置视图用户控制自视图
允许或禁止实告警
mon禁止服务失效事件告警行直失效问题解决才使效种状态叫"ack"客户接口获(恢复)用户能知道支持员解决特殊问题必虑特定主机、组或者服务设定暂禁止客户端重新使能状态需要停止或重启服务假升级特殊服务禁止告警功能升级完重新使告警效
历史记录
mon保持失效事件、告警触发等行历史纪录提供用户查询
轻便
Mon非轻便工具扩展服务需要编写复杂代码需经历痛苦编译、链接程所扩展功能都模块化且采用纯脚本语言perl编写点充保证Mon体系轻便简单
- 西柚不是西游
-
mon是一个通用目的地资源监视系统,可以备用于监视网络服务的可用性,服务器问题,诸如温度等影响系统运行的环境条件。 资源监视可以被视为两部分独立的任务:测试条件,当出现问题时触发动作。mon被设计用于检测独立的stand-alone服务并能作出相应的响应动作。mon以调度器的形式实现监视任务的执行,当监视器失效时可以调用响应的告警程序。 我们一般把mon作为集群环境中的资源监控平台。通过它,我们能够监控几乎所有的已知服务,像http服务、telnet服务、邮件服务等等,甚至能够监视文件的变化,实时了解被控主机是否在重启等等。mon为监视远程主机的系统资源提供了一个良好的平台。除此之外,mon提供强大的告警机制,也就是在监视到具体的服务失效或者生效时,mon会作出什么放映。可喜的是,不论是mon的监视工具monitor还是告警程序,都是通过便捷的脚本语言来书写的。你可以使用shell也可以使用perl或者别的什么。需要传递的参数借助mon守护进程的变量、系统环境变量以命令行的方式传递给相应的具体脚本程序。 下面是一些mon软件包附带的客户端工具,可以在cgi-bin/ 和clients/ 子目录下找到: -moncmd, 用于客户端的操作工具,实现了完整的客户/服务接口。 -monshow,用于报告监视服务的运行状态,既有命令行工具也提供了cgi教本。它可以以友好的、图形化的样式显示服务当前的状态、组信息和错误日志。 -skymon, SKYTEL的双路页面调度接口,允许你查询服务状态,同时提供了和moncmd一致的维护服务的方法。访问通过简单的用户/密码认证机制和一个访问控制文件进行。 -mon.cgi, mon的web接口,不仅允许你通过web页面查看服务的运行状态,还可以实时的改变服务的相应参数。 监视器和告警程序并不是mon的一部分,尽管附带的发行包中有一些这样的工具。这就意味着,如果有一个新的服务需要监视或者有修改动作需要响应,mon也无须改动。这可以保证mon的可扩展性。 mon的特性 mon是针对linux开发的工具,但众所周知在sorlaris下他也可以工作。因为客户和服务端都是由perl语言书写,因此在轻便性上不会有问题。 监控 “监控”这个词是用于检查特定的环境条件,以任何形式随时报告服务成功还是失败的消息。mon的设计非常独立,你可以使用自己喜爱的任何语言书写监控程序,只要按照要求放在mon指定的地方,你的监控程序就可以工作。 异步事件通信机制 mon服务支持异步事件的通信机制。这是一个开放式的协议,就像monitor和alert脚本一样,你可以触发任何事件。一个典型的应用就是作为SNMP的陷阱。远程结点产生的陷阱事件可以采用和监视器池通知失效事件一样的处理方法。因此很容易就能建立一个分布式的监控体系。例如,在一个WAN范围内,不同域的主机可以收集自身的运行信息,适时地将重大的事件通知位于中心位置的服务器,比如NOC等。 告警 “告警”教本用于在mon检测到问题时,发送消息或者进行失效处理工作。这些告警脚本和监视脚本一样,也不是mon本身的一部分,而是作为扩展的模块可以随意加入的。这里也支持"Upalerts",是一种用于当服务失效一段时间随即又恢复正常后所触发的专用脚本程序。 告警管理和失效控制 任何受监控服务的失效都会引起告警行为,甚至同一个事件会触发多个告警消息分别到不同的用户。你可以使用这一特性建立"on call"调度。例如,你可以设定系统使之一旦发现任何资源不可用的情况,经判断是在早上8点以前,就发送告警消息给所有的系统管理员,如果在早上8点以后,只发送给管理员小王。 并行性 能够将不同主机或者同组主机上的检测服务工作并行化。例如, 限制重复报警 mon系统可以限制重复报警的行为。例如,你可以设定一个持续的失效服务仅没1小时发送一次告警邮件,而不是不停地发送。你也可以选择,忽略那些微小的、短暂的失效事件。 依赖关系 mon支持内部服务依赖特性。例如,当监视服务器和受监视的WWW服务器之间的路由失效时,虽然无法访问HTTP服务,但正确的告警消息内容要指出是路由问题而非HTTP问题。当重要的资源不可访问是,依赖关系也可以防止大量的告警消息发出。你可以把依赖性理解成为层次结构或者是树结构,当发生一个失效事件时,这种依赖关系可以使失效事件按照树结构的方向将处理任务传递到叶子结点上,也就是说,依赖关系能使告警尽可能的反映失效的真实情况。然而,复杂的依赖关系应该使用生成图来表示,因为实际中你是不会用树结构或者层次结构来描述依赖关系的。 可扩展的配置 mon提供了一个伸缩性、扩展性非常强的配置文件机制。主机可以被规划成组,每个主机或者主机组可以有自己的多个服务(service)。具体可以参考一下附带的范例文件。 真正的客户/服务模式 你可以使用交互命令、WWW界面和SkyTel客户端工具查询服务的状态和历史纪录。协议很简单,使得你可以很容易添加自己的客户端工具。Mon支持多种认证方法,包括PAM,可以实现每个用户的访问控制。查询服务状态可以使用一个Perl的API模块进行编程,所以编写你自己的通信接口也很简单,比如你可以用WAP协议来访问服务状态。这里要提的是,现在有几个社区在发展自己的WWW接口工具。 基于视图的状态报告 通过复杂的配置文件,用户可以通过服务状态视图查看信息,而不需要了解每一个受监视服务的具体状态。例如,一个"network"视图显示了整个网络拓扑的情况,而"servers"视图则包括所有有关服务的信息。如故需要,你可以为每个用户配置视图,用户也可以控制他们自己的视图。 允许或禁止实时告警 mon可以禁止一个服务失效事件的正常告警行为,直到失效问题被解决才使之有效。这种状态又叫"ack",可以在客户接口获得(恢复),这样的话用户就能知道支持人员正在解决特殊问题而不必多虑。它也可以将特定的主机、组或者服务设定为暂时禁止客户端重新使能的状态,而不需要停止或重启服务。假如你正在升级一个特殊的服务,你可以禁止告警功能,当升级完成后你就可以重新使告警有效。 历史记录 mon可以保持失效事件、告警触发等行为的历史纪录,以提供用户将来查询。 轻便 Mon是非常轻便的工具,扩展它的服务不需要编写复杂的代码,也无需经历痛苦的编译、链接过程。因为所有的扩展功能都是模块化的,而且采用纯脚本语言perl编写。这一点充分保证了Mon体系的轻便简单。