进程监控是一项关键任务,旨在监测系统中运行的进程的性能和状态。通过有效的进程监控,可以实时了解进程的运行情况,及时发现问题并采取措施,确保系统的稳定性和性能。


本期EasyOps产品使用最佳实践,我们将为您揭晓:

  • 1. 如何利用自动发现将现网的进程纳入到监控系统中?

  • 2. 如何对进程配置基本的性能和状态监控?


「 需 求 背 景 」


众所周知,进程作为承载服务的运行载体,它的运行状态关系着服务,甚至整个系统平台的正常运行。因此,针对进程本身的监控是非常基础和关键的。


在针对进程级别的监控,我们可能关注以下指标:



并且,我们通过dashboard可以直观展示上述指标的趋势:



「 进 程 采 集 配 置 」


针对进程的监控,我们一般分为两种指标类型:性能监控和状态监控。


  • 性能监控:顾名思义,是监控进程的运行性能的,监控数据一般是时间序列数据,拥有鲜明的趋势变化的特点,一般指进程的CPU,内存,文件描述符等指标;

  • 状态监控指进程的运行健康状态,运行/停止。


针对不同类型的监控,我们需要配置不同的采集策略。


在配置采集策略之前,我们需要先配置进程的资源自动发现策略,以将现网的进程纳入到CMDB中。这是监控进程的基础和前提。


 >> 通用部署实例自动发现


在优维EasyOps平台中,通常把进程称作【部署实例】,以更加形象地表示进程的运行特征。进程就是部署在操作系统上的一个实例,为了符合EasyOps平台的描述语境,下文中使用【部署实例】来指代进程。


首先,我们需要配置部署实例的发现策略,在资源自动发现中,配置【通用部署实例】的自动发现策略,扫描范围填写普通服务,通用部署实例和HTTP服务,也可以选择如Nginx部署实例,tomcat部署实例等类型,此时会把部署实例以及其承载的服务一并发现上来,并建立关联关系。而后,选择要发现进程的端口范围和主机即可。



点击立即发现后,即可发现现网的部署实例。


「 配 置 性 能 采 集 任 务 


新建采集任务,选择部署实例监控套件,这个套件会关联到【部署实例ARTIFACT_INST@ONEMODEL】这个模型中,该模型作为各种类型部署实例的父模型,可覆盖多种部署实例类型。



而后选择目标部署实例的一些特征来过滤出关注的部署实例,比如:



提交即可。


「 配 置 拨 测 采 集 任 务 


拨测采集任务主要用于监控进程的存活性状态, 一般是通过拨测服务的端口的方式去实现的。


注意:拨测采集任务需要选定特定资源类型的子模型,此时您可能需要建立多条拨测采集任务来满足需求。比如,针对HTTP服务,则选择【HTTP服务】的模型;针对Kafka服务,则选择【Kakfa服务】模型。


说明:

  • IP包含目标主机,表示监控这些主机上的服务

  • 集群模式包含standalone,并且父服务不为空,表示监控服务上的子服务类型。由于我们的拨测目标需要具体到IP:PORT,因此仅针对子服务拨测。

  • 通过定义变量的方式获取要拨测的IP:PORT,注意选择tcpPing的步骤类型


点击提交即可。


最后通过建立合适的告警规则,即可完成对进程的全面监控,这里不再赘述。