跳转至

进程


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

    开启进程指标采集

    字段类型: Boolean

    采集器配置字段: open_metric

    默认值: false

  • ENV_INPUT_HOST_PROCESSES_PROCESS_NAME

    进程名白名单

    字段类型: List

    采集器配置字段: process_name

    示例: .*datakit.*,guance

  • ENV_INPUT_HOST_PROCESSES_MIN_RUN_TIME

    进程最短运行时间

    字段类型: Duration

    采集器配置字段: min_run_time

    默认值: 10m

  • ENV_INPUT_HOST_PROCESSES_ENABLE_LISTEN_PORTS

    启用监听端口标签

    字段类型: Boolean

    采集器配置字段: enable_listen_ports

    默认值: false

  • ENV_INPUT_HOST_PROCESSES_TAGS

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

    字段类型: Map

    采集器配置字段: tags

    示例: 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
container_id Container ID of the process, only supported Linux
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
container_id Container ID of the process, only supported Linux
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 -

文档评价

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