admin管理员组

文章数量:1536050

2023年12月31日发(作者:)

NMC知识点

1. 为什么使用NMC?NMC有哪些主要功能?NMC对NC带来的好处?

引入NMC的原因:

要保障规模不断扩大的应用并保障稳定高效,服务器集群和负载均衡是必由之路,开始集群站点在个数位时可以人工进行管理,但当站点变成几十、几百时,靠人工来管理和维护无疑成为灾难,于是自动化、智能型、可视化的主动监控系统-NMC应运而生。

NMC功能:

NMC(Network Manage Center)是先进的性能监控、性能分析、系统管理平台。NMC将极大地提高性能监控、性能分析、系统管理的深度和效率,从而获得更好的服务质量和客户满意度。对于大规模的复杂的IT系统,NMC将变得不可或缺。在监控方面,它融入了先进的性能监控思想,比如分布式监控服务、多层穿透、信息采集和分析分离、事件驱动的快照机制等,监控的对象覆盖了NC性能关注的所有方面,包括数据库,中间件,客户端等等。在性能分析方面,它具有强大的日志抽取、分析能力,提供了丰富的图表展现功能,可以对NC、JVM、线程、快照、CPU、内存,客户端,在线用户等日志进行抽取和分析,同时预置了大量的分析模型。在系统管理方面,它采用了主动发现主动管理的思想,可以在中间件出现故障时主动管理,从而提高系统可靠性;集成的补丁管理工具可以帮助管理员对补丁进程快速部署和回滚,极大提高集群环境下补丁管理的效率。

NMC的好处:

1. 可获得对系统的高度洞察力。使用NMC的实时监控可以获得实时掌握系统的运行状态,无论是系统概要的层面还是细粒度的线程层面,都一览无余。对日志和消息的分析可以评估系统整体运行状态、预测风险。

2. 快速发现和定位问题。无论通过实时监控还是离线分析,都可以快速发现定位性能问题。相对于传统的监控工具,NMC可以更加快速地帮助你定位性能问题。

3. 提高系统可用性。进程监控服务提供的主动管理,故障自动回复的功能可提高系统的可用性。即,当进程监控服务检测到中间件不响应时自动将其重启,或者将备份的服务器加入到集群,从而实现系统的高可用性。

4. 简洁高效的工作流。比如日志录制提供了响应终端用户的服务工作流,补丁挂你和进程定时重启提供了补丁维护的工作流。

5. 管理变得简单。系统管理员可以彻底地从补丁管理和中间件管理中解脱出来,把精力放到更加重要的事情上去。

2. NMC的术语解释

监控域:一个服务中心和一组受管于这个服务中心的监控实例的集合。这些监控实例可以分布在多个物理服务器上。监控实例由一组监控服务组成。在一个监控域中,所有的监控实例管理的监控服务都将其监控资源通过服务管理器向服务中心注册,监控服务资源由服务中心统一对外发布。

服务中心(Service Center) :一个监控域的核心管理进程,用于注册监控域内所有的服务资源,同时提供服务启动控制、访问日志、服务请求路由、安全检查、动态参数刷新功能。一个监控域内有且只有一个服务中心,所有的监控实例必须设置服务中心服务器。监控客户端只需要连接服务中心服务器即可访问整个监控域的服务资源。

消息:监控服务产生的警告。消息可以驱动生成快照。比如,线程监控发现某个任务执行时间超过3分钟,于是产生一条消息。这条消息驱动生成了中间件和数据库的快照。

快照:对系统运行时生成的详细的运行态信息。这些信息用于帮助具体地定位问题。比如中间件的线程详细堆栈,SQL堆栈。数据库的执行计划等。快照消息绑定。

3. NMC的技术流程和核心特性

流程:

STEP1. NMC客户端(集成的监控UI,基于插件的UI框架)通过多种协议(HTTP(S),POP,SMTP,JMS等等)与服务中心通信。

STEP2. 服务中心接到客户端请求后,服务中心管理器通过服务定位器对服务进行定位,并将请求的服务资源路由到相应的监控进程;

STEP3.监控进程将请求交给服务管理器,通过服务管理器将请求交给具体的服务实例处理。(一个监控域中可以有一个或者多个监控实例。)

核心特性:

NMC一个很重要的优势就是服务之间可以相互穿透,比如进程到线程再到数据库信息的穿透、客户端到线程信息的穿透。在多层架构的系统中,这种层与层之间的监控信息的穿透可以帮助你更加系统地,精确地分析问题。监控服务都会生成日志和产生消息,这些日志和消息可以进一步成为日志分析的数据来源。具体来说有:

1. NMC是一个集成的性能监控,问题分析,系统管理的平台

2. 提供HTTP POP3 SMTP OFFline等多种连接或者使用模式

3. 支持多个监控域。每个监控域支持多个服务器,多种类型的监控服务。

4. NMC能提供从客户端到中间件 、数据库全面的无缝监控体系。

5. 支持客户端日志和服务器端日志的相互穿透。

6. 提供强大的中间进程级的监控和管理功能。

7. 提供了细粒度的线程监控功能。

8. 提供了强大的灵活日志抽取和分析功能。

9. NMC提供了一种事件驱动的主动监控,主动管理的功能

10. NMC继承了补丁管理功能。

11. NMC实现了监控服务的安全和监控目标安全的隔离。

4. NMC部署的注意事项

1. 单机部署:

只需启动单个NMC server就可以了

2. 集群部署:

需要在每个物理服务器上启动一个NMC server,并且要先启动中心服务器,在启动节点服务器。PS:如果中心服务器的服务重启了,节点服务器必须重启。

3. 服务器端部署的注意事项:

1. 对中间件和数据库的监控依赖于%NCHOME%/ierp/bin/文件,为了部署方便,建议将监控服务和NC中间件代码部署在一个服务器上。如果要单独部署,需要在ites中指定。

2. 如果在WAS管理控制台中更改了单个Server或者集群中某个成员Server的端口,一定要在NC的文件中修改该对应的端口,要保证和真实环境信息的一致性。

3. Linux/UNIX环境特别注意要将NMC/server/bin和NMC/server/目录下的文件赋予可执行权限。把任务放到后台执行(nohup)。

4. JRE_HOME要设置为JDK1.5或者以上的版本。

5. 修改NMC端口需要修改NMC/server/conf/,NMC/server/conf/,%NCHOME%/resource/ties三个文件。

6. 如果是数据库是RAC环境,需要在文件中将数据源拆分成两个针对单个实例的数据源,这样可以保证做快照和数据库检查的性能,可以单独提供一个用于NMC。比如:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.12.167.11)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.12.167.12)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ncdata)))

改成以下两个数据源:

dbsource11

……..

jdbc:oracle:thin:@10.12.167.11:1521:ncdata

…....

dbsource12

………

jdbc:oracle:thin:@10.12.167.11:1521:ncdata

………….

5. NMC的进程监控的主要功能:

1. 检查中间件的状态,包括端口响应的时间和内存使用的情况,比如,当发现中间件不能正常工作,则可以选择对其自动重启或者动态加入一个备份的中间件;

2. 将JVM 堆空间的使用情况、中间件响应时间、WEB thread及Service thread信息采样,将采样信息写入日志,通过日志分析对系统进行性能评估和性能诊断;

3. 更新数据库连接池的信息和数据库活动会话的信息;

4. 管理中间件,比如重启,生成JAVACORE,HEAPDUMP,设置定时重启等。

6. NMC的线程监控的主要功能

1. 对线程信息进行实时的细粒度的监控,包括线程堆栈,SQL堆栈,性能信息,业务信息,线程状态,等待时间etc。

2. 对单个线程的监控可以穿透到DB.

3. 终止一个线程。

4. 查询垃圾线程。

5. 单独跟踪某一个线程。

6. 联查业务,联查操作员详细信息等业务功能。

7. NMC的数据库监控的主要功能:

1. 提供一组服务用来检查服务器运行是否正常,是否有性能问题;当发现DB有性能问题时,发送快照或者发送报警消息。

2. 提供客户端可以调用的数据库操作方法。

3. 预置监控脚本。

8. NMC的客户端监控的主要功能:

1. 监控客户端的性能,包括监控CPU,I/O,Network,Java Heap,是否启用压缩,是否启用缓存等的信息。NC client 通过登录触发执行一个监控任务将监控结果发给NMC服务器。NMC Client对收集来的数据进行分析。

2. 对在线的用户进行real-time监控和历史分析。

9. NMC的CPU监控的主要功能:

1. 监控各种平台的CPU,定时将CPU的运行状态写入日志,便于日后性能分析;

2. 当发现某CPU的使用率一段时间内,一直高于某阙值,发送报警信息。

10. NMC的内存监控的主要功能:

1. 监控各系统的内存,定时将内存的运行状态写入日志,便于日后性能分析;

2. 当发现某块内存的使用率一直高于某阙值时,发送报警信息。

11. NMC的消息中心的主要功能:

消息中心是离线分析的重要工具,它是离线分析的第一选择。

后台的每个监控服务都可以根据设定的目标事件产生消息。

消息由两部分组成:消息概要和快照,快照目前提供中间件线程快照和数据库的快照。消息中心提供自动发送邮件的功能。

在消息中心中,可以分析所有的这些消息,利用这些消息,可以快速发现和定位系统存在的问题。

12. 消息和快照的生成过程:

监控服务如果发现目标事件发生了,于是产生一条警告消息,消息会发送到一个消息队列。消息处理服务轮询从消息队列中读取消息,根据消息内容及这个服务配置的消息快照项目(在服务中配置,详见消息的配置),请求对应的服务生成快照信息,快照信息生成后返回给消息处理服务,然后消息处理服务写到快照文件

13. NMC的日志抽取功能:

NMC的日志抽取功能是:将NC产生的日志和监控服务产生的日志(eg:CPU,JAVA虚拟机,内存,在线用户,客户性能的日志)抽取到本地日志数据库,用于后续的分析。

14. NMC的日志录制功能:

日志录制提供了一个简洁高效的工作流,实现闭环的高效的服务支持模式。

NC用户主动将自己的操作过程产生的日志(包括服务器端和客户端的日志)录制下来,录制开始前,操作员可以指定自己在服务器端的日志级别,录制结束后,录制好的日志保存在本地。

录制好的日志可以导入到NMC客户端的日志数据库。NC操作员进行日志录制,将录制好的日志发给分析人员,分析人员导入日志,对日志分析,将解决方案或者结果反馈给操作员。

15. NMC的日志分析功能

该功能可以对已经导入或者抽取到本地日志数据库的数据进行分析。提供了图形分析和数据库脚本的两种分析方法。

本质上日志分析是基于数据库的,所以在了解数据字典的情况下,可以自由地写SqL来分析日志。默认提供了一些分析脚本,分析脚本可以通过修改配置文件NMC/client/cfg/SQL/来完成。

16. NMC的集群管理功能

NMC提供了实用的管理功能,可大大简化管理员的工作。

1. 打补丁是频繁而且容易出错的环节,补丁管理工具使打补丁变得简单;

补丁管理系统的目标是将系统管理员彻底从打补丁中解放出来。补丁管理系统提供了补丁档案和代码备份库,以此为基础提供了快速对补丁进行应用和回滚的实践。除了打补丁,代码版本检查功能检查到代码集群间的代码版本不一致会主动发消息给消息中心,管理员在消息中心如果发现服务器间代码版本不一致的报警,可以主动检查服务器之间代码版本的一致性,主动采取解决措施。

补丁管理可实现的目标:

 规范补丁过程,提供快速打补丁的机制,并支持远程集中打补丁;

 提供补丁可回滚的机制;

 补丁档案的管理。实现补丁的集中管理;

 补丁操作日志的生成和查询;

 提供后台服务监控服务器间的代码版本的一致性,如果发现代码不一致,则主动发送报警。

2. 进程管理提供的中间件定时重启,可以实现中间件的滚动重启;

3. 安全设置可以为不同的管理员提供不同的监控权限,并且是实现了监控安全性和目标系统安全性的隔离。

4. 参数设置可以设置服务器端的参数,大部分参数可实时生效。

17. 补丁管理的过程

1. 将符合规范的补丁上传到补丁档案库。

2. 将补丁应用到目标系统。

3. 补丁验证失败时,对补丁回滚(ROLLBACK)。

18. 补丁制作的过程

1.选择需要导出的代码,配置文件,右键导出。

2.选择NC补丁安装,导出文件名为:C:

3.输入补丁信息

4.Specify the manifest 选择no generate the manifest file

5.完成

Ps:

1.如果补丁内容包含modules/meta-info中的配置文件或者包含模块之外的资源(比如external/lib),则这些文件一定要从NCHOME中选择,这样才能保证这些文件在补丁中的目录的正确性。

2.对于module之外的补丁,比如需要将代码部署到%nchome%/external/classes 或者%nchome/%/lib/classes下的文件,需要单独定义代码和补丁目录的对应关系。方法是:选择工程,例如test,右键属性->选择nc补丁安装盘配置->设置包和导出的目录的对应关系。

例如:

源代码根:fw/testsrc

目标路径:external/classes

19. 补丁回滚

将补丁档案列表中已经应用到目标系统的补丁进行回滚,补丁回滚将会把整个补丁对应的备份重新打入到目标系统。

PS: 同时满足以下条件不能回滚:

1. 此补丁(patch A)涉及到的资源,在打此补丁之后并且已经应用的补丁(patch B)中被覆盖;

2. patch B没有被回滚。

本文标签: 监控服务日志