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

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

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

    1. 如何利用自动发现将现网的进程纳入到监控系统中?
    1. 如何对进程配置基本的性能和状态监控?

「 需 求 背 景 」

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

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

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

「 进 程 采 集 配 置 」

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

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

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

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

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

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

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

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

「 配 置 性 能 采 集 任 务

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

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

提交即可。

「 配 置 拨 测 采 集 任 务

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

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

说明:

  • IP包含目标主机,表示监控这些主机上的服务
  • 集群模式包含standalone,并且父服务不为空,表示监控服务上的子服务类型。由于我们的拨测目标需要具体到IP:PORT,因此仅针对子服务拨测。
  • 通过定义变量的方式获取要拨测的IP:PORT,注意选择tcpPing的步骤类型

点击提交即可。

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

相关推荐
无名之逆9 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
大丈夫立于天地间9 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg50179 小时前
Spring Boot 的配置文件
java·linux·spring boot
Dream Algorithm9 小时前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手9 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
暮云星影9 小时前
三、FFmpeg学习笔记
linux·ffmpeg
吴盐煮_9 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
rainFFrain9 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon9 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
hyshhhh10 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉