进程监控
进程监控是针对主机内活跃进程进行的监控。云监控通过安装云监控插件Agent,默认采集活跃进程消耗的CPU、内存,以及打开的文件数量等信息。您还可以通过配置自定义进程监控,监控包含关键字的进程个数,并为这些进程设置告警规则,及时关注进程数的变化,确保其正常运行。
插件会每分钟统计一次1分钟内消耗 CPU Top5的进程,Top5的进程不固定,进程列表中会展示出最近24小时内所有消耗CPU Top5的进程。
前提条件
请确保主机已安装云监控插件。具体操作,请参见Agent安装说明。
约束与限制
目前用户添加的自定义进程监控不会做数量限制,但Agent采集时,只会采集用户最先配置的16个进程。
添加进程监控
进程监控是针对主机内活跃进程进行的监控,默认采集活跃进程消耗的CPU、内存,以及打开的文件数量等信息。自定义进程监控可采集关键进程的数量,随时获取关键进程的运行状态。
假设主机上当前运行如下几个进程 :
/usr/bin/java /usr/bin/ntpd /telescope /usr/bin/python
您配置了3个进程关键字,则采集结果分别如下:
- 配置关键字为:java,采集到的进程数:1。
- 配置关键字为:telescope,采集到的进程数:1。
- 配置关键字为:usr,采集到的进程数:3。
“进程数量”在配置自定义监控时不需要配置,在您配置进程关键字后系统随后会自动刷新展示匹配关键字的进程数量。
- 登录云监控服务管理控制台。
- 根据需要查看的资源进行操作:
- 查看弹性云服务器的进程监控,选择“主机监控 > 弹性云服务器”进入主机监控界面;
- 查看裸金属服务器的进程监控,选择“主机监控 > 裸金属服务器”进入主机监控界面。
- 单击资源所在行的“查看监控指标”,进入“操作系统监控”页面。
- 单击“操作系统监控”右侧的“进程监控”,进入“进程监控”页面。
- 在“进程监控”页面,单击“自定义进程监控”下面的“添加进程监控”,进入“添加进程监控”页面。
- 在“添加进程监控”页面,云产品和监控范围默认为当前资源,支持重新选择,配置进程监控的任务名称、进程名称,如图1所示。
表1 添加指定进程监控 参数
参数说明
示例
任务名称
进程监控任务的任务名称,只能包含字母、数字、/、(、)、#、_、*(*只能出现在开头)、-(中划线不能出现在开头),且长度不超过255位。
进程监控创建成功后,任务名称不支持修改。
Process_Monitoring
描述
进程监控描述信息,非必填。
-
云产品
需要添加进程监控的云产品,只支持选择“弹性云服务器”和“裸金属服务器”。
进程监控创建成功后,云产品不支持修改。
弹性云服务器
监控范围
需要添加进程监控的资源。
-
监控进程
进程监控的进程名称。只能包含字母、数字、/、(、)、#、_、*(*只能出现在开头)、-(中划线不能出现在开头),且长度不超过255位。
java
- 配置完成后,单击“确定”。
- 登录云监控服务管理控制台。
- 选择“主机监控 > 进程监控”,进入“进程监控”页面。
- 在“进程监控”页面,单击“添加进程监控”,进入“添加进程监控”页面。
- 配置进程监控的任务名称、选择云产品、选择指定资源,配置进程名称,参数说明请参考表2。
图2 添加进程监控
- 配置完成后,单击“确定”。
修改进程监控
- 登录云监控服务管理控制台。
- 选择“主机监控 > 进程监控”,进入“进程监控”页面。
- 单击进程监控任务所在行操作列的“修改”,进入“修改进程监控”页面。
- 修改进程监控的描述信息、指定资源、监控进程名称,参数说明请参考表2。
图3 修改进程监控
- 修改完成后,单击“确定”。
删除进程监控
- 登录云监控服务管理控制台。
- 选择“主机监控 > 进程监控”,进入“进程监控”页面。
- 单击进程监控任务所在行操作列的“删除”。
- 在“删除进程监控”弹窗中输入“DELETE”,单击“确定”,可以删除进程监控。
图4 删除进程监控
查看进程监控的进程指标
- 登录云监控服务管理控制台。
- 选择“主机监控 > 进程监控”,进入“进程监控”页面。
- 单击进程监控任务所在行监控列的“
”图标,进入“进程指标查询”页面。
- 在“进程指标查询”页面,选择“资源实例”、“进程名称”、“进程ID”,可以查看指定进程的CPU使用率、内存使用率、打开文件数的数据曲线图,相关指标说明请参见表3。
- “进程指标查询”支持查看“近15分钟”、“近30分钟”、“近1小时”、“近2小时”、“近3小时”、“近12小时”、“近24小时”、“近7天”和“近30天”9个固定时长的监控周期,同时也支持以通过“自定义时间段”选择查看近155天内任意时间段的历史监控数据。
查看自定义进程监控
- 登录云监控服务管理控制台。
- 根据需要查看的资源进行操作:
- 查看弹性云服务器的进程监控,选择“主机监控 > 弹性云服务器”进入主机监控界面;
- 查看裸金属服务器的进程监控,选择“主机监控 > 裸金属服务器”进入主机监控界面。
- 单击资源所在行的“查看监控指标”,进入“操作系统监控”页面。
- 单击“操作系统监控”右侧的“进程监控”,进入“进程监控”页面。
- 在“自定义进程监控”下面,单击进程名称前面的“
”图标。
- 在待查看的进程ID所在行单击“查看监控详情”,进入“进程指标查询”页面,可查看当前进程的CPU使用率、内存使用率、打开文件数的数据曲线图,相关指标说明请参见表3。页面左上方提供查看“近1小时”、“近3小时”、“近12小时”、“近24小时”和“近7天”5个固定时长的监控周期,同时也支持以通过“自定义时间段”选择查看近155天内任意时间段的历史监控数据。
- 在“自定义进程数”页面,展示了主机上运行的自定义进程数据详情。
表3 进程监控相关指标说明 指标名称
指标含义
取值范围
采集方式(Linux)
采集方式(Windows)
CPU使用率
进程消耗的CPU百分比。
0-1*cpu核心数
测量对象:云服务器或裸金属服务器
通过计算/proc/pid/stat的变化得出。
测量对象:云服务器或裸金属服务器
通过Windows API GetProcessTimes获取进程CPU使用率。
内存使用率
进程消耗的内存百分比。
0-1
测量对象:云服务器或裸金属服务器
计算方式:RSS*PAGESIZE/MemTotal
RSS: 通过获取/proc/pid/statm第二列得到。
PAGESIZE: 通过命令getconf PAGESIZE获取。
MemTotal:通过/proc/meminfo获取。
测量对象:云服务器或裸金属服务器
使用Windows API procGlobalMemoryStatusEx获取内存总量,通过GetProcessMemoryInfo获取内存已使用量,计算两者比值得到内存使用率。
打开文件数
进程消耗的打开文件数。
≥ 0
测量对象:云服务器或裸金属服务器
通过执行ls -l /proc/pid/fd命令可以查看数量。
测量对象:云服务器或裸金属服务器
通过 Windows API NtQuerySystemInformation 获取系统上所有打开的句柄信息,检查每个句柄是否是当前进程打开的文件句柄,得到当前进程的打开文件数。
Windows下部分特殊进程会由于权限等原因无法采集指定进程打开文件数指标。
创建自定义进程监控的告警通知
配置了自定义进程数量的告警通知,当进程的数量减少或增加时,云监控服务会第一时间通知到您。
- 登录云监控服务管理控制台。
- 根据需要查看的资源进行操作:
- 查看弹性云服务器的进程监控,选择“主机监控 > 弹性云服务器”进入主机监控界面;
- 查看裸金属服务器的进程监控,选择“主机监控 > 裸金属服务器”进入主机监控界面。
- 单击资源所在行的“查看监控指标”,进入“操作系统监控”页面。
- 单击“操作系统监控”右侧的“进程监控”,进入“进程监控”页面。
- 在“自定义进程监控”页面,根据需要创建告警规则。
- 单击进程所在行的“创建告警规则”,为当前的进程创建告警规则。
- 单击进程名称前面的“
”图标,单击进程ID所在行的“创建告警规则”,为当前的进程ID创建告警规则。
- 配置告警规则基本信息,参数配置请参考创建告警规则和通知。
查看系统进程数
云监控服务在您安装插件后,会默认展示系统的进程数据。
查看系统进程数的操作步骤
- 登录云监控服务管理控制台。
- 根据需要查看的资源进行操作:
- 查看弹性云服务器的进程监控,选择“主机监控 > 弹性云服务器”进入主机监控界面;
- 查看裸金属服务器的进程监控,选择“主机监控 > 裸金属服务器”进入主机监控界面。
- 单击资源所在行的“查看监控指标”,进入“操作系统监控”页面。
- 单击“操作系统监控”右侧的“进程监控”,进入“进程监控”页面。
在“系统进程数”页面,展示了主机上运行的进程数据。系统进程查询结果的指标说明如表4所示。
表4 系统进程数查询结果指标说明 指标名称
指标含义
取值范围
采集方式(Linux)
采集方式(Windows)
运行中进程数
该指标用于统计测量对象处于运行状态的进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
不支持
空闲进程数
该指标用于统计测量对象处于空闲状态的进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
不支持
僵死进程数
该指标用于统计测量对象处于僵死状态的进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
不支持
阻塞进程数
该指标用于统计测量对象被阻塞的进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
不支持
睡眠进程数
该指标用于统计测量对象处于睡眠状态的进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
不支持
系统进程数
该指标用于统计测量对象的总进程数。
≥ 0
测量对象:云服务器或裸金属服务器
通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。
测量对象:云服务器裸金属服务器
通过psapi.dll系统进程状态支持模块得到进程总数。
查看进程TOP
- 云监控服务插件会每分钟统计一次消耗 CPU Top5的进程,Top5的进程不固定,进程列表中会展示出最近24小时内所有消耗CPU Top5的进程。
- 查询进程CPU使用率与内存使用率的命令:top
- 查询当前进程打开文件数命令:lsof或ls /proc/pid/fd |wc -l ,其中pid需要替换为待查询的进程ID。
- 当某个进程占用多个CPU时,由于采集结果为多个CPU的总使用率,因此会出现CPU使用率超过100%的现象。
- TOP5进程不固定,进程列表中展示的是近24小时内按一分钟统计周期进入过TOP5的进程。
- 只有近24小时内进入过TOP5的进程并开启了监控开关的进程才会采集CPU使用率、内存使用率和打开文件数。如满足上述条件的进程已被关闭时,则不会展示此进程的相关数据。
- 列表中的时间表示该进程创建的时间。
- 客户端浏览器的时间如果和被监控弹性云服务器的时间不一致,可能会出现监控图表无指标数据的情况,请调整本地时间和主机时间保持一致。
- 新版Agent将不支持TOP5进程信息上报,无法开启进程监控开关,推荐使用自定义进程监控功能。
查看Top CPU进程数据的操作步骤
- 登录云监控服务管理控制台。
- 根据需要查看的资源进行操作:
- 查看弹性云服务器的进程监控,选择“主机监控 > 弹性云服务器”进入主机监控界面;
- 查看裸金属服务器的进程监控,选择“主机监控 > 裸金属服务器”进入主机监控界面。
- 单击资源所在行的“查看监控指标”,进入“操作系统监控”页面。
- 单击“操作系统监控”右侧的“进程监控”,进入“进程监控”页面。
- 单击“进程TOP”下面的“配置”,进入TOP进程列表。
- 在TOP进程列表中打开您要开启的进程的“监控开关”,单击确定。
单击进程所在行的“查看监控详情”,进入“进程指标查询”页面,可查看当前进程的CPU 使用率、内存使用率、打开文件数的数据曲线图,相关指标说明请参见表5。页面左上方提供查看“近1小时”、“近3小时”、“近12小时”、“近24小时”和“近7天”5个固定时长的监控周期,同时也支持以通过“自定义时间段”选择查看近155天内任意时间段的历史监控数据。
表5 进程监控相关指标说明 指标名称
指标含义
取值范围
采集方式(Linux)
采集方式(Windows)
CPU使用率
进程消耗的CPU百分比。
pHashId是(进程名+进程ID)的md5值。
0-1*cpu核心数
测量对象:云服务器或裸金属服务器
通过计算/proc/pid/stat的变化得出。
测量对象:云服务器或裸金属服务器
通过Windows API GetProcessTimes获取进程CPU使用率。
内存使用率
进程消耗的内存百分比,pHashId是(进程名+进程ID)的md5值。
0-1
测量对象:云服务器或裸金属服务器
计算方式:RSS*PAGESIZE/MemTotal
- RSS: 通过获取/proc/pid/statm第二列得到。
- PAGESIZE: 通过命令getconf PAGESIZE获取。
- MemTotal:通过/proc/meminfo获取。
测量对象:云服务器或裸金属服务器
使用Windows API procGlobalMemoryStatusEx获取内存总量,通过GetProcessMemoryInfo获取内存已使用量,计算两者比值得到内存使用率。
打开文件数
进程消耗的打开文件数。
pHashId是(进程名+进程ID)的md5值。
≥ 0
测量对象:云服务器或裸金属服务器
通过执行ls -l /proc/pid/fd命令可以查看数量。
暂不支持