MON是什么意思

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 02:21:42
MON是什么意思

MON是什么意思
MON是什么意思

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体系的轻便简单.