跳转至

进程



进程采集器可以对系统中各种运行的进程进行实施监控, 获取、分析进程运行时各项指标,包括内存使用率、占用 CPU 时间、进程当前状态、进程监听的端口等,并根据进程运行时的各项指标信息,用户可以在观测云中配置相关告警,使用户了解进程的状态,在进程发生故障时,可以及时对发生故障的进程进行维护。

Attention

进程采集器(不管是对象还是指标),在 macOS 上可能消耗比较大,导致 CPU 飙升,可以手动将其关闭。目前默认采集器仍然开启进程对象采集器(默认 5min 运行一次)。

配置

前置条件

  • 进程采集器默认不采集进程指标数据,如需采集指标相关数据,可在 host_processes.conf 中 将 open_metric 设置为 true。比如:
[[inputs.host_processes]]
    ...
    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

  ## Enable listen ports tag, default is false
  enable_listen_ports = false

  ## Enable open files field, default is false
  enable_open_files = 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"
ENV_INPUT_HOST_PROCESSES_ENABLE_LISTEN_PORTS enable_listen_ports true/false
ENV_INPUT_HOST_PROCESSES_ENABLE_OPEN_FILES enable_open_files true/false

指标

以下所有数据采集,默认会追加名为 host 的全局 tag(tag 值为 DataKit 所在主机名),也可以在配置中通过 [inputs.host_processes.tags] 指定其它标签:

 [inputs.host_processes.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  # ...

host_processes

Collect process metrics, including CPU/memory usage, etc.

  • 标签
Tag Description
host Host name
pid Process ID
process_name Process name
username Username
  • 字段列表
Metric Description Type Unit
cpu_usage CPU usage, the percentage of CPU occupied by the process since it was started. This value will be more stable (different from the instantaneous percentage of top) float percent
cpu_usage_top CPU usage, the average CPU usage of the process within a collection cycle float percent
mem_used_percent Memory usage percentage float percent
open_files Number of open files (only supports Linux) int count
rss Resident Set Size (resident memory size) int B
threads Total number of threads int count

对象

host_processes

Collect data on process objects, including process names, process commands, etc.

  • 标签
Tag Description
host Host name
listen_ports The port the process is listening onW
name Name field, consisting of [host-name]_[pid]
process_name Process name
state Process status, currently not supported on Windows
username Username
  • 字段列表
Metric Description Type Unit
cmdline Command line parameters for the process string -
cpu_usage CPU usage, the percentage of CPU occupied by the process since it was started. This value will be more stable (different from the instantaneous percentage of top) float percent
cpu_usage_top CPU usage, the average CPU usage of the process within a collection cycle float percent
mem_used_percent Memory usage percentage float percent
message Process details string -
open_files Number of open files (only supports Linux, and the enable_open_files option needs to be turned on) int count
pid Process ID int -
rss Resident Set Size (resident memory size) int B
start_time process start time int msec
started_duration Process startup time int sec
state_zombie Whether it is a zombie process bool -
threads Total number of threads int count
work_directory Working directory (Linux only) string -

文档评价

文档内容是否对您有帮助? ×