Resource Manager provides process availability monitoring for hosts that
support SNMP or SSH access. Process monitoring features include:
Process classes, defined by Python regular expressions. Classes may
generate one or more process sets, each containing one or more
process instances.
Process sets may include process instances running on multiple
hosts. This captures related or redundant processes, enabling a more
holistic view of data center services.
Process set names, to replace the often-cryptic names of process
instances with descriptive labels.
Process set locking, to maintain continuity of data collection if
the members of a given process set are not running during modeling.
A testing dialog, to discover and refine the sets a class generates.
Use the INFRASTRUCTURE > PROCESSES page to create and manage process
classes and process sets.
The tree view shows process class organizers (at the top) and the list
of process classes in each organizer (the rest of the view). You may
filter the list with the active search field, at the top of the list.
Process class options
The process class page includes the options described in the following
sections.
Process Count Threshold
You may set minimum and maximum values for the number of process
instances included in a process set. The threshold values apply to all
of the process sets generated by a class. The minimum and maximum values
are inclusive. That is, if the minimum is 3 and the maximum is 5, then
3, 4, and 5 are all valid process instance counts.
You may define a threshold as an exclusive range. If the minimum is 5
and the maximum is 3, then 4 is an invalid process instance count.
Process Memory Threshold (bytes)
You may set minimum and maximum values, in bytes, for the amount of
memory that each process instance in a set may consume. The threshold
values apply to all of the process sets generated by a class. The
minimum and maximum values are inclusive.
Creating process memory thresholds
Note
By default, OSProcess component templates do not contain a configured
memory threshold. Process class memory threshold values will not take effect
until a threshold is created on the template to import the configured values.
Follow the steps in this sample procedure to create a process component memory
threshold for devices in the /Server/SSH/Linux device class.
Navigate to ADVANCED > MONITORING TEMPLATES.
Scroll down to the OSProcess template name and click it to expand
the configured OSProcess templates.
Select the /Server/SSH/Linux template.
Click the Add Threshold (plus) button.
Name the process memory, set the type to MinMaxThreshold, and click
Add.
Double-click the memory threshold to open the Edit Threshold dialog.
Move the ps_mem data point from the available data points (left) to the
selected data points (right).
Populate the Minimum Value and Maximum Value fields with the following
expressions:
Minimum Value:
here.getMinProcessMemory()
Maximum Value:
here.getMaxProcessMemory()
These expressions allow the threshold to populate the values saved on your
process class definitions.
Set an appropriate Severity value and Event Class.
When complete, click Save.
The procedure is similar for other OSProcess templates, but the data point name
will change depending on the parent data source.
Monitoring Options
Enable Monitoring (zMonitor)
To disable monitoring for all process sets generated by this class,
set the local value to No.
Send Event on Restart (zAlertOnRestart)
To send an event when a process in a monitored process set restarts,
set the local value to Yes. If the PID of the monitored process
changes between monitoring cycles, a restart event is generated.
Failure Event Severity (zFailSeverity)
To specify a non-default event severity for the failure of process
sets generated by this class, set a local value.
Process Set Locking
Process sets are generated at
modeling time. Since modeling recurs regularly, a given modeling run may
result in a missing process set, due to a transient absence of one or
more process instances. To prevent this from happening, set the local
value of the Lock Process Components? (zModelerLock) field to one of the following
options.
Lock from Deletes
Prevent deletion of process sets generated by this process class if
modeling returns empty sets.
Lock from Updates
Prevent updates to process sets generated by this process class if
modeling returns new process sets.
The final option, Send an event when action is blocked?
(zSendEventWhenBlockedFlag), is used only when a process set is
locked. If you lock the process sets of a class, you may set the local
value of this field to Yes, and an event will be created when a process
set would have been either deleted or updated during modeling.
Example: Creating a process class
This section provides an example of using process availability
monitoring to create a new process class, for database processes. The
database runs on a Linux host, and the following output is a partial
list of the results of the ps axho args command on the database host.
Process monitoring uses the output of that command (or its equivalent)
as input for regular expression matching.
The following subsections provide procedures for creating a process
class that captures a selection of the preceding process instances in
process sets.
Test existing process classes
The existing process classes may already capture the process sets you
want. Follow these steps to test the existing process classes.
Log in to the Resource Manager
browser interface, and then navigate to
INFRASTRUCTURE > PROCESSES.
In the lower-left corner of the tree view,
click the Action menu, and select Test
All Process Classes Regular Expressions.
The top-right portion of the dialog box displays all of the process
classes, in the order in which they are evaluated.
Select the process names in the previous
section, and copy them into a paste buffer.
In the Test Process
Class Regular Expressions dialog, select all of the existing
text in the Input area, and then
paste the process names from the buffer.
Alternatively, you may paste the process names into an empty file,
save the file on the system from which your browser is launched, and
then use the Choose File button to
insert the process names.
At the bottom-left corner of the dialog, click
Test.
If any process sets are created, they are
displayed in the list area, above the Test button.
Create an organizer
Complete the previous section, and then follow these steps to create a
process class organizer.
Log in to the Resource Manager
browser interface.
Navigate to INFRASTRUCTURE >
PROCESSES.
In the lower-left corner of the tree view,
click the Add menu, and select
Add Process Class
Organizer.
In the Add Process
Class Organizer dialog, enter Database, and then click Submit.
Create a process class
Complete the previous section, and then follow these steps to create a
process class.
At the top of the tree view, double-click Processes, the root organizer to open
it.
Select Database.
In the lower-left corner of the tree view,
click the Add menu, and then
select Add Process Class.
In the Add Process
Class dialog, enter DB daemons, and then click Submit.
At the top of the tree view, double-click Processes to open it, and then select
Database.
Define the regular expression series of a process class
Complete the previous section, and then follow these steps to create the
series of regular expressions that define a process class, and generate
process sets.
In the list area of the tree view, select DB daemons.
In the Description field,enter Database
daemons.
In the Include
processes like field, replace DB daemons with a that selects
the database processes. For example, ora_[^_]{4}_orcl. The example
regular expression selects all of the processes in the sample
process instance list.
In the Exclude
processes like field, enter a regular expression to remove
processes from the results of the preceding regular expression. The
default entry excludes common user commands. The default entry does
not exclude any of the processes in the sample process instance
list.
The next two fields, Replace command line text and With, work together to simplify the
names of process sets.
In the Replace command line
text field, enter a regular expression containing one or
more pattern groups.
In the With field, enter
replacement text, along with the sequence number of one or more
of the pattern groups defined in the previous field.
For example, to create four pattern groups for database processes,
enter the following regular expression in the Replace command line text field:
^(ora_)([a-z])(.{4})(orcl)
To use two of the pattern groups in the replacement text, enter the
following text in the With field:
DB[\4]daemonsstartingwith[\2]
Each unique replacement generated by the combination of the text
plus the inserted pattern sequences becomes a process set. In the
case of this example, pattern group 4 does not vary, but pattern
group 2 does. So the number of process sets generated by this class
will equal the number of unique alphabetic characters found in the
first position after the first underscore.
Click Save.
Test a process class
Complete the previous section, and then follow these steps to test a
single process class.
In the lower-left corner of the tree view,
click the Action menu, and selec tTest
Process Class Regular Expressions.
The top-right portion of the dialog box displays the regular
expression series that defines this process class.
Select the process names in the previous
section, and copy them into a paste buffer.
In the Input
area, select all of the existing text, and then paste the process
names from the buffer.
At the bottom-left corner of the dialog, click
Test.
The Output
area displays each individual match, along with the count of unique
process sets. You may refine the regular expressions and retest as
often as you like.
Click Done.
Changes made to regular expressions in this dialog are copied to the
process class definition page. However, the changes are not saved
until you click the Save button on
that page.
Test and review the process class sequence
The order in which process classes are evaluated is significant. During
modeling, each time a process matches a class, the matching process is
put into a process set, and then removed from the list of processes that
are passed on to the next class in the sequence. New process classes are
inserted into the process class sequence automatically, and may not be
in the appropriate position in the sequence.
Complete the previous section, and then follow these steps to test and
review the process class sequence.
In the lower-left corner of the tree view,
click the Action menu, and select Test
All Process Classes Regular Expressions.
Select the process names in the previous
section, and copy them into a paste buffer.
In the Input
area, select all of the existing text, and then paste the process
names from the buffer.
At the bottom-left corner of the dialog, click
Test.
The number of processes matched and process
sets created in this test should be identical to the results of
testing the process class alone. If they are not, follow these steps
to adjust the process class sequence.
In the Test
Process Class Regular Expressions dialog, click Done.
From the Action menu, select Change Sequence.
Scroll through the list of process classes,
and then select the class to move.
Drag the class to an earlier (higher)
location in the sequence.
Click Submit.
Re-open the Test
Process Class Regular Expressions dialog, and re-test the
sequence.
Test the process class on a host
Process sets are created during modeling. To test a process class,
choose a device host that is configured for SNMP or SSH access, and
model it manually.
Complete the previous section, and then follow these steps to test the
process class on a host.
Navigate to INFRASTRUCTURE > DEVICES.
Select a host that is configured for SNMP or
SSH access, and is running process that match the new class.
For example, the list of processes used in this section is collected
from a VirtualBox virtual appliance downloaded from the Oracle Technology Network.
Open the host's Overview page. From the
Action menu, select Model Device. When modeling completes, the
OS Processes section of the tree view is updated to include the
new process sets.
Navigate to INFRASTRUCTURE >
PROCESSES.
In the tree view, select the DB daemons
class.
The process sets found on the host are displayed in the list at the
bottom of the page.