进程¶
进程采集器可以对系统中各种运行的进程进行实施监控, 获取、分析进程运行时各项指标,包括内存使用率、占用CPU时间、进程当前状态、进程监听的端口等,并根据进程运行时的各项指标信息,用户可以在观测云中配置相关告警,使用户了解进程的状态,在进程发生故障时,可以及时对发生故障的进程进行维护。
Attention
进程采集器(不管是对象还是指标),在 macOS 上可能消耗比较大,导致 CPU 飙升,可以手动将其关闭。目前默认采集器仍然开启进程对象采集器(默认 5min 运行一次)。
前置条件¶
- 进程采集器默认不采集进程指标数据,如需采集指标相关数据,可在
host_processes.conf
中 将open_metric
设置为true
。比如:
配置¶
进入 DataKit 安装目录下的 conf.d/host
目录,复制 host_processes.conf.sample
并命名为 host_processes.conf
。示例如下:
[[inputs.host_processes]]
# Only collect these matched process' metrics. For process objects
# these white list not applied. Process name support regexp.
# process_name = [".*nginx.*", ".*mysql.*"]
# Process minimal run time(default 10m)
# If process running time less than the setting, we ignore it(both for metric and object)
min_run_time = "10m"
## Enable process metric collecting
open_metric = false
# Extra tags
[inputs.host_processes.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
# ...
配置好后,重启 DataKit 即可。
支持以环境变量的方式修改配置参数(只在 DataKit 以 K8s daemonset 方式运行时生效,主机部署的 DataKit 不支持此功能):
环境变量名 | 对应的配置参数项 | 参数示例 |
---|---|---|
ENV_INPUT_HOST_PROCESSES_OPEN_METRIC |
open_metric |
true /false |
ENV_INPUT_HOST_PROCESSES_TAGS |
tags |
tag1=value1,tag2=value2 如果配置文件中有同名 tag,会覆盖它 |
ENV_INPUT_HOST_PROCESSES_PROCESS_NAME |
process_name |
".*datakit.*", "guance" 以英文逗号隔开 |
ENV_INPUT_HOST_PROCESSES_MIN_RUN_TIME |
min_run_time |
"10m" |
指标集¶
以下所有数据采集,默认会追加名为 host
的全局 tag(tag 值为 DataKit 所在主机名),也可以在配置中通过 [inputs.host_processes.tags]
指定其它标签:
指标¶
host_processes
¶
采集进程指标数据,包括cpu内存使用率等
- 标签
标签名 | 描述 |
---|---|
host |
主机名 |
pid |
进程id |
process_name |
进程名 |
username |
用户名 |
- 字段列表
指标 | 描述 | 数据类型 | 单位 |
---|---|---|---|
cpu_usage |
cpu使用占比(%*100),进程==自启动以来==所占 CPU 百分比,该值相对会比较稳定(跟 top 的瞬时百分比不同) | float | percent |
cpu_usage_top |
cpu使用占比(%*100), 一个采集周期内的进程的 CPU 使用率均值 | float | percent |
mem_used_percent |
mem使用占比(%*100) | float | percent |
open_files |
open_files 个数(仅支持linux) | int | count |
rss |
Resident Set Size (常驻内存大小) | int | B |
threads |
线程数 | int | count |
对象¶
host_processes
¶
采集进程对象的数据,包括进程名,cmd等
- 标签
标签名 | 描述 |
---|---|
class |
分类: host_processes |
host |
主机名 |
listen_ports |
进程正在监听的端口 |
name |
name 字段,由 host_pid 组成 |
process_name |
进程名 |
state |
进程状态,暂不支持 windows |
username |
用户名 |
- 字段列表
指标 | 描述 | 数据类型 | 单位 |
---|---|---|---|
cmdline |
进程的命令行参数 | string | - |
cpu_usage |
cpu使用占比(%*100),进程==自启动以来==所占 CPU 百分比,该值相对会比较稳定(跟 top 的瞬时百分比不同) | float | percent |
cpu_usage_top |
cpu使用占比(%*100), 一个采集周期内的进程的 CPU 使用率均值 | float | percent |
mem_used_percent |
mem使用占比(%*100) | float | percent |
message |
进程详细信息 | string | - |
open_files |
open_files 个数(仅支持linux) | int | count |
open_files_list |
进程打开的文件及其描述符列表(仅支持linux) | string | - |
pid |
进程id | int | - |
rss |
Resident Set Size (常驻内存大小) | int | B |
start_time |
进程启动时间 | int | msec |
state_zombie |
是否是僵尸进程 | bool | - |
threads |
线程数 | int | count |
work_directory |
工作目录(仅支持linux) | string | - |