Process Service

Topics marked with * relate to features available only in vFabric Hyperic.

Process

You can configure Hyperic to monitor a process.

Specifying Process Queries

You specify a query statement that identifies the process you wish to monitor. You specify queries using Process Table Query Language (PTQL), a simple query language for finding processes based based on their attributes.

PTQL queries take this form:

Class.Attribute.operator=value

Where:

  • Class — is the name of the Sigar class minus the Proc prefix.

  • Attribute — is an attribute of the given Class, index into an array or key in a Map class.

  • operator — is one of the following (for String values):

    • eq — Equal to value

    • ne — Not Equal to value

    • ew — Ends with value

    • sw — Starts with value

    • ct — Contains value (substring)

    • re — Regular expression value matches

Delimit queries with a comma.

For example, this query statement finds a JBoss instance by looking for a process whose name is "org.jboss.Main":

State.Name.eq=java,Args.*.eq=org.jboss.Main

this query statement finds the OpenSSH daemon by looking for sshd PID file.

Pid.PidFile.eq=/var/run/sshd.pid

For more examples, see the pdk/lib/.sigar_shellrc file included in the Hyperic Agent distribution and the Sigar PTQL Documentation at http://support.hyperic.com/display/SIGAR/Home.

Create Process Service in Hyperic

To create a Process service:

  1. Navigate to the platform where the process runs.

  2. Select New Platform Service from the Tools menu. 

  3. Name the service.

  4. Select "Process" from the Service Type pull-down.

  5. Click Edit in the "Configuration Properties" section of the new service's Inventory page.

  6. On the Configuration Properties page, supply at least the required properties, described in the table below.

Process Service Configuration Options

Name

Description

Required

Example

Notes

process.query

A PTQL statement, which contains one or more PTQL queries, that uniquely identifies the process to monitor.

Yes

 

 

Process Service Metrics

Each instance of a Process service provides the following metrics:

Name

Alias

Units

Category

Default On

Default Interval

Availability

Availability

percentage

AVAILABILITY

true

10 min

Virtual Memory Size

VirtualMemSize

B

UTILIZATION

false

5 min

Resident Memory Size

ResidentMemSize

B

UTILIZATION

true

5 min

Cpu System Time

SystemTime

ms

UTILIZATION

false

10 min

Cpu System Time per Minute

SystemTime1m

ms

UTILIZATION

false

10 min

Cpu User Time

UserTime

ms

UTILIZATION

false

10 min

Cpu User Time per Minute

UserTime1m

ms

UTILIZATION

false

10 min

Cpu Total Time

TotalTime

ms

UTILIZATION

false

10 min

Cpu Total Time per Minute

TotalTime1m

ms

UTILIZATION

false

10 min

Cpu Usage

Usage

percentage

UTILIZATION

true

5 min

Start Time

StartTime

epoch-millis

AVAILABILITY

false

10 min

Open File Descriptors

OpenFd

none

UTILIZATION

false

5 min

Threads

Threads

none

UTILIZATION

false

5 min

Child Processes

ChildProcesses

none

UTILIZATION

false

5 min

Control

Supported Control Actions: kill, SIGHUP, SIGINT, SIGQUIT, SIGKILL, SIGTERM, SIGUSR1, SIGUSR2

Event Tracking

You can enable log tracking for a process service. If you do, the agent will log an event for responses that match the criteria you specify.

To enable log tracking, click the Enable Log Tracking box in the Monitoring section of the Configuration Properties page.

For information about Hyperic log tracking functionality and configuration options, and how to view log events, see Set Up Log Tracking for a Resource.