ClusterWareAI Plugin System#

The ClusterWareAI ™ Plugin System allows quick changes to the status and monitoring system across the entire cluster or on subsets of compute nodes.

There are a few plugin types:

  • Status Plugins: These default to an update every 10 seconds, so these are generally sensors or readings that change somewhat frequently. For example, the free RAM or the current CPU load on a node.

  • Hardware Plugins: Called less often than regular status plugins, usually every 300 seconds, these are sensors and readings that change less frequently and may be tied to the hardware itself. For example, the total RAM on a node or the CPU architecture.

  • Telegraf Plugins: These are more granular Telegraf configuration files that the ClusterWareAI platform can individually enable or disable.

To permanently enable plugins, build the plugins into the compute node boot images. Built-in plugins are always enabled and they cannot be disabled except by changing the disk image.

For information that may only be needed some of the time, add arbitrary plugins to a compute node using the _status_plugins list (with similar attributes for hardware and telegraf). These on-the-fly plugins can be turned on and off at any time simply by setting, overwriting, or clearing that node attribute.

For example, the following enables the chrony and ipmi status plugins:

cw-nodectl –all set _status_plugins=chrony,ipmi

Update the attribute to keep chrony enabled and disable ipmi by removing it from the attribute list:

cw-nodectl –all set _status_plugins=chrony

Plugin Best Practices#

While the ability to enable and disable plugins in an ad-hoc fashion can be powerful, basic best practices still hold:

  • It may be helpful to consider the ClusterWareAI software as “the management tool” and Telegraf as “the monitoring tool”:

    • Information you want to take action on should be included in the status or hardware updates. It should be permanently enabled in scripts-enabled so that it is available when that action is needed.

    • Information that might be useful for long-term analyses and trends should be stored in Telegraf.

  • Frequent changes to plugins may make the underlying data less useful. If a parameter exists at some times and not at others, it will be difficult to make future decisions based on any changes seen in that parameter.

  • Any data that will be viewed through Grafana should be built into the image (in telegraf-enabled), otherwise the data may not exist and any Grafana dashboards may produce empty charts.

  • For more security-conscious clusters, any security-relevant plugins should be enabled in the scripts-enabled or telegraf-enabled directories, making them permanently enabled and more resistant to tampering.