跳转至

进程



进程采集器可以对系统中各种运行的进程进行实施监控, 获取、分析进程运行时各项指标,包括内存使用率、占用 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 即可。

可通过 ConfigMap 方式注入采集器配置配置 ENV_DATAKIT_INPUTS 开启采集器。

也支持以环境变量的方式修改配置参数(需要在 ENV_DEFAULT_ENABLED_INPUTS 中加为默认采集器):

  • ENV_INPUT_HOST_PROCESSES_OPEN_METRIC

    采集处理器指标

    Type: Boolean

    ConfField: open_metric

    Default: false

  • ENV_INPUT_HOST_PROCESSES_PROCESS_NAME

    处理器白名单

    Type: List

    ConfField: process_name

    Example: .datakit.,guance

  • ENV_INPUT_HOST_PROCESSES_MIN_RUN_TIME

    处理最短运行时间

    Type: TimeDuration

    ConfField: min_run_time

    Default: 10m

  • ENV_INPUT_HOST_PROCESSES_ENABLE_LISTEN_PORTS

    启用监听端口标签

    Type: Boolean

    ConfField: enable_listen_ports

    Default: false

  • ENV_INPUT_HOST_PROCESSES_ENABLE_OPEN_FILES

    启用打开文件字段

    Type: Boolean

    ConfField: enable_open_files

    Default: false

  • ENV_INPUT_HOST_PROCESSES_TAGS

    自定义标签。如果配置文件有同名标签,将会覆盖它

    Type: Map

    ConfField: tags

    Example: tag1=value1,tag2=value2

指标

以下所有数据采集,默认会追加名为 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 -

文档评价

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