procstat

package
v0.0.0-...-c6d3e3d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2017 License: MIT Imports: 10 Imported by: 0

README

Telegraf plugin: procstat

Description

The procstat plugin can be used to monitor system resource usage by an individual process using their /proc data.

The plugin will tag processes by their PID and their process name.

Processes can be specified either by pid file, by executable name, by command line pattern matching, or by username (in this order or priority. Procstat plugin will use pgrep when executable name is provided to obtain the pid. Procstat plugin will transmit IO, memory, cpu, file descriptor related measurements for every process specified. A prefix can be set to isolate individual process specific measurements.

Example:

[[inputs.procstat]]
  exe = "influxd"
  prefix = "influxd"

[[inputs.procstat]]
  pid_file = "/var/run/lxc/dnsmasq.pid"

The above configuration would result in output like:

> procstat,name="dnsmasq",pid="44979" cpu_user=0.14,cpu_system=0.07
> procstat,name="influxd",pid="34337" influxd_cpu_user=25.43,influxd_cpu_system=21.82

Measurements

Note: prefix can be set by the user, per process.

Threads related measurement names:

  • procstat_[prefix_]num_threads value=5

File descriptor related measurement names:

  • procstat_[prefix_]num_fds value=4

Context switch related measurement names:

  • procstat_[prefix_]voluntary_context_switches value=250
  • procstat_[prefix_]involuntary_context_switches value=0

I/O related measurement names:

  • procstat_[prefix_]read_count value=396
  • procstat_[prefix_]write_count value=1
  • procstat_[prefix_]read_bytes value=1019904
  • procstat_[prefix_]write_bytes value=1

CPU related measurement names:

  • procstat_[prefix_]cpu_user value=0
  • procstat_[prefix_]cpu_system value=0.01
  • procstat_[prefix_]cpu_idle value=0
  • procstat_[prefix_]cpu_nice value=0
  • procstat_[prefix_]cpu_iowait value=0
  • procstat_[prefix_]cpu_irq value=0
  • procstat_[prefix_]cpu_soft_irq value=0
  • procstat_[prefix_]cpu_soft_steal value=0
  • procstat_[prefix_]cpu_soft_stolen value=0
  • procstat_[prefix_]cpu_soft_guest value=0
  • procstat_[prefix_]cpu_soft_guest_nice value=0

Memory related measurement names:

  • procstat_[prefix_]memory_rss value=1777664
  • procstat_[prefix_]memory_vms value=24227840
  • procstat_[prefix_]memory_swap value=282624

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Procstat

type Procstat struct {
	PidFile     string `toml:"pid_file"`
	Exe         string
	Pattern     string
	Prefix      string
	ProcessName string
	User        string
	PidTag      bool
	// contains filtered or unexported fields
}

func NewProcstat

func NewProcstat() *Procstat

func (*Procstat) Description

func (_ *Procstat) Description() string

func (*Procstat) Gather

func (p *Procstat) Gather(acc telegraf.Accumulator) error

func (*Procstat) SampleConfig

func (_ *Procstat) SampleConfig() string

type SpecProcessor

type SpecProcessor struct {
	Prefix string
	// contains filtered or unexported fields
}

func NewSpecProcessor

func NewSpecProcessor(
	processName string,
	prefix string,
	pid int32,
	acc telegraf.Accumulator,
	p *process.Process,
	tags map[string]string,
) *SpecProcessor

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL