8.5.4.2. Supported Watchman Plug-ins
/etc/openshift/watchman/plugins.d
directory, and are outlined in the following table.
/etc/openshift/watchman/plugins.d
directory. To disable a plug-in, move the plug-in file from the plugins.d
directory and place it into an unused directory for backup. Ensure to restart the Watchman tool any time a change to the plugins.d
directory is made:
# service openshift-watchman restart
Watchman Plug-in Name | Plug-in Filename | Function |
---|---|---|
Syslog | syslog_plugin.rb | This searches the /var/log/messages file for any messages logged by cgroups when a gear is destroyed and restarts the gear if required. |
JBoss | jboss_plugin.rb | This searches JBoss cartridge server.log files for out-of-memory exceptions and restarts gears if required. |
Gear State | gear_state_plugin.rb | This compares the last state change commanded by the user against the current status of the gear in order to find the best use for resources. For example, this plug-in kills any processes running on a stopped gear, and restarts a started gear if it has no running processes. |
Throttler | throttler_plugin.rb | This uses cgroups to monitor CPU usage and restricts usage if required. |
Metrics | metrics_plugin.rb | This gathers and publishes gear-level metrics such as cgroups data for all gears on a node host at a configurable interval. |
OOM | oom_plugin.rb | Available starting with OpenShift Enterprise 2.1.4, this monitors for gears under out-of-memory (OOM) state, attempts to resolve problems, and restarts gears if required. |
As well as adding it to the plugins.d
directory, as outlined above, enabling the Metrics plug-in requires an extra step. Edit the /etc/openshift/node.conf
file and ensure the following line is uncommented to enable the Metrics plug-in:
WATCHMAN_METRICS_ENABLED=trueRestart the Watchman service for the changes to take effect
/var/log/openshift/node/platform.log
by default, which is the node platform log file. However, if you have Syslog enabled, log data is sent to the syslog file with type=metric
in each Metrics logline.
Example 8.2. Logged Metrics Data
Jun 10 16:25:39 vm openshift-platform[29398]: type=metric appName=php6 gear=53961099e659c55b08000102 app=53961099e659c55b08000102 ns=demo quota.blocks.used=988 quota.blocks.limit=1048576 quota.files.used=229 quota.files.limit=80000
To configure the throttler plug-in, edit the following parameters in the /etc/openshift/resource_limits.conf
file on a node host:
Example 8.3. Throttler Plug-in Configuration Parameters
[cg_template_throttled] cpu_shares=128 cpu_cfs_quota_us=100000 apply_period=120 apply_percent=30 restore_percent=70
apply_percent
parameter the gear is placed into a 'throttled' cgroup quota. The throttler plug-in continues to watch the gear until it is using the amount of CPU time defined by the restore_percent
parameter or less. When the amount is stabilized, the gear is placed back into the default cgroup limit.
cpu_shares
and cpu_cfs_quota
parameters define the throttle cgroup templates to apply to any throttled gears. The apply_period
parameter defines how long a gear is throttled before it is restored into the default cgroup limit. For example, using the default parameters, a gear is throttled once it uses over 30 percent of a gear's CPU usage for 120 seconds, and a throttled gear is unthrottled once it is using less than 70 percent of the throttled CPU usage for 120 seconds.