Community Plugins
This page lists plugins for Ohai plugins and Chef Infra Client handlers that are developed and maintained by the Chef community.
Ohai
Ohai is a tool for collecting system configuration data, which it then provides to Chef Infra Client to use in cookbooks. Chef Infra Client runs Ohai at the start of every Chef Infra run to determine system state. The attributes that Ohai collects are called automatic attributes
. Chef Infra Client uses these attributes to ensure that nodes are in the desired state after each configuration run.
The types of attributes Ohai collects include but aren’t limited to:
- Operating System
- Network
- Memory
- Disk
- CPU
- Kernel
- Host names
- Fully qualified domain names
- Virtualization
- Cloud provider metadata
Ohai includes required and optional plugins to detect common configuration information. Ohai has a plugin model and language to write custom plugins to collect additional system state information.
The following Ohai plugins are available from the open source community:
Plugin | Description |
---|---|
dell.rb | Adds some useful Dell server information to Ohai. For example, service tag, express service code, storage info, or RAC info. To use this plugin, OMSA and SMBIOS applications need to be installed. |
ipmi.rb | Adds a MAC address and an IP address to Ohai, where available. |
kvm_extensions.rb | Adds extensions for virtualization attributes to provide additional host and guest information for KVM. |
ladvd.rb | Adds ladvd information to Ohai, when it exists. |
lxc_virtualization.rb | Adds extensions for virtualization attributes to provide host and guest information for Linux containers. |
network_addr.rb | Adds extensions for network attributes with additional ipaddrtype_iface attributes to make it semantically easier to retrieve addresses. |
network_ports.rb | Adds extensions for network attributes so that Ohai can detect to which interfaces TCP and UDP ports are bound. |
parse_host_plugin.rb | Adds the ability to parse a host name using three top-level attribute and five nested attributes. |
r.rb | Adds the ability to collect basic information about the R Project. |
sysctl.rb | Adds sysctl information to Ohai. |
vserver.rb | Adds extensions for virtualization attributes to allow a Linux virtual server host and guest information to be used by Ohai. |
wtf.rb | Adds the irreverent wtfismyip.com service so that Ohai can determine a machine's external IPv4 address and geographical location. |
xenserver.rb | Adds extensions for virtualization attributes to load up Citrix XenServer host and guest information. |
win32_software.rb | Adds the ability for Ohai to use Windows Management Instrumentation (WMI) to discover useful information about software that's installed on any node that's running Windows. |
win32_svc.rb | Adds the ability for Ohai to query using Windows Management Instrumentation (WMI) to get information about all services that are registered on a node that's running Windows. |
Handlers
Use a handler to identify situations that arise during a Chef Infra Client run, and then tell Chef Infra Client how to handle these situations when they occur.The following open source handlers are available from the Chef community:
- Airbrake
A handler that sends exceptions (only) to Airbrake, an application that collects data and aggregates it for review.
- Asynchronous Resources
A handler that asynchronously pushes exception and report handler data to a STOMP queue, from which data can be processed into data storage.
- Campfire
A handler that collects exception and report handler data and reports it to Campfire, a web-based group chat tool.
- Datadog
A handler that collects Chef Infra Client stats and sends them into a Datadog newsfeed.
- Flowdock
A handler that collects exception and report handler data and sends it to users using the Flowdock API.
- Graphite
A handler that collects exception and report handler data and reports it to Graphite, a graphic rendering application.
- Graylog2 GELF
A handler that provides exception and report handler status (including changes) to a Graylog2 server, so that the data can be viewed using Graylog Extended Log Format (GELF).
- Growl
A handler that collects exception and report handler data and then sends it as a Growl notification.
- HipChat
A handler that collects exception handler data and sends it to HipChat, a hosted private chat service for companies and teams.
- IRC Snitch
A handler that notifies administrators (using Internet Relay Chat (IRC)) when a Chef Infra Client run fails.
- Journald
A handler that logs an entry to the systemd journal with the Chef Infra Client run status, exception details, configurable priority, and custom details.
- net/http
A handler that reports the status of a Chef run to any API using net/HTTP.
- Simple Email
A handler that collects exception and report handler data and then uses pony to send email reports that are based on `.erb` (Embedded Ruby ) templates.
- SNS
A handler that notifies exception and report handler data and sends it to a SNS topic.
- Slack
A handler to send Chef Infra Client run notifications to a Slack channel.
- Splunk Storm
A handler that supports exceptions and reports for Splunk Storm.
- Syslog
A handler that logs basic essential information, such as about the success or failure of a Chef Infra Client run.
- Updated Resources
A handler that provides a simple way to display resources that were updated during a Chef Infra Client run.
- ZooKeeper
A Chef report handler to send Chef run notifications to ZooKeeper.