进程监控是一项关键任务,旨在监测系统中运行的进程的性能和状态。通过有效的进程监控,可以实时了解进程的运行情况,及时发现问题并采取措施,确保系统的稳定性和性能。
本期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的步骤类型
点击提交即可。
最后通过建立合适的告警规则,即可完成对进程的全面监控,这里不再赘述。