Different LWRP usage examples are added to examples directory.
To configure icinga2 server, check examples/icinga2_server directory. More examples will be added as we go.
assign where (icinga) = assign_where (LWRP)
ignore where (icinga) = ignore_where (LWRP)
assign where statements are defined as a LWRP resource Array attribute -assign_where. Each array element is treated as a different assign where statement and LWRP creates a separate statement.
e.g.
assign_where ['host.address',
'host.vars.nrpe && host.vars.enable_check',
'host.vars.application == "redis"'
]Above LWRP resource will be applied to an Object as shown below:
assign where host.address
assign where host.vars.nrpe && host.vars.enable_check
assign where host.vars.application == "redis"Similarly, ignore where statements are created using LWRP resource Array attribute ignore_where.
Currently icinga2 cookbook supports below Objects LWRP Resources:
- icinga2_apilistener
- icinga2_apiuser
- icinga2_applynotification
- icinga2_applyservice
- icinga2_checkcommand
- icinga2_endpoint
- icinga2_envendpoint
- icinga2_envhostgroup
- icinga2_envzone
- icinga2_environment
- icinga2_eventcommand
- icinga2_externalcommandlistener
- icinga2_feature
- icinga2_gelfwriter
- icinga2_graphitewriter
- icinga2_influxdbwriter
- icinga2_host
- icinga2_hostgroup
- icinga2_idomysqlconnection
- icinga2_idopgsqlconnection
- icinga2_notification
- icinga2_notificationcommand
- icinga2_scheduleddowntime
- icinga2_script
- icinga2_service
- icinga2_servicegroup
- icinga2_sysloglogger
- icinga2_timeperiod
- icinga2_user
- icinga2_usergroup
- icinga2_zone
- icinga2_livestatuslistener
- icinga2_statusdatawriter
- icinga2_compatlogger
- icinga2_checkresultreader
- icinga2_notificationcomponent
- icinga2_filelogger
- icinga2_perfdatawriter
Note:
-
Few of LWRP attributes which are required to create an icinga2 Object are not declared
:required => truein LWRP in favour of creating icinga2 Object template. -
Same LWRP resource used to create icinga2
Object, can also be used to create icinga2Templateas well. -
Few of LWRP resource attributes which refers to icinga2
constantsor can refer toconstantsare treated as literalString. It means they will not be transformed into rubyStringby LWRP while creating configuration file.
e.g.
Below attribute definition generate correct syntax for ApiListener LWRP attribute cert_path:
cert_path 'SysConf + "/icinga2/pki/" + NodeName + ".crt"'
will transform to:
cert_path SysConf + "/icinga2/pki/" + NodeName + ".crt"
While below attribute definition generate incorrect syntax:
cert_path 'SysConf + /icinga2/pki/ + NodeName + .crt'
will transform to
cert_path SysConf + /icinga2/pki/ + NodeName + .crt
LWRP Resource Object Config File Location
Icinga2 Object created by LWRP are stored under a separate directory objects.d. Directory name is configurable by node attribute node['icinga2']['objects_d'].
This directory is created under icinga2 config directory node['icinga2']['conf_dir'].
LWRP Resource Object/Template Config File Name Convention
LWRP generated icinga2 Objects are stored into a single file. It means each LWRP has its own conf file.
As few of LWRP can create an Object and Template, below conf file name convention is followed through out LWRP resources.
Object conf file : "#{LWRP_NAME}.conf".
Template conf file : "#{LWRP_NAME}_template.conf".
e.g.
LWRP `icinga2_host` object resources will create icinga2
`Host` objects conf file - /etc/icinga2/objects.d/host.conf
LWRP `icinga2_service` object resources will create icinga2
`Service` objects conf file - /etc/icinga2/objects.d/service.conf
LWRP `icinga2_service` template resources will create icinga2
`Service` templates conf file - /etc/icinga2/objects.d/service_template.conf
LWRP `icinga2_applyservice` resources will create icinga2
`apply Service` conf file - /etc/icinga2/objects.d/applyservice.conf
All LWRP generated icinga2 object/template/apply conf files are created in a single directory and managed separately.
As this cookbook supplies almost all necessary LWRP for icinga2 feature, object, template etc. it is a good practice and safe to say to use LWRP instead of managing configuration /etc/icinga2/conf.d or /etc/icinga2/zones.conf default configuration files.
Note: Default configuration files managed by cookbook:
- /etc/icinga2/constants.conf
- /etc/icinga2/icinga2.conf
- /etc/icinga2/init.conf
icinga2.conf no longer includes zones.conf in favour of LWRP.
As mentioned in a section above, instead of creating Host objects for each chef node, using LWRP environment Host objects can easily be created for all chef nodes for a chef environment.
LWRP resource attributes are common for all the Host. It may be required to define or override attribute for few specific Host objects, but it is not yet incorporated or foreseen any usage at this point which might change over time.
Turn Off Monitoring for a Chef Node
To turn off monitoring for a chef node, simply set attribute - node['monitoring_off'].
If this attribute is set for a chef node, LWRP environment will simply ignore that node.
LWRP generated config file
There are two files generated by LWRP environment:
-
if zone is not defined -
host_#{*environment*}_#{*resource_name*}.conf -
if zone is defined:
host_#{environment*}_#{*zone*}_#{*resource_name*}.conf
Note: Cookbook version prior to v0.7.0 might require to manually delete configuration file
host_#{*environment*}.confif zone is defined. Note: Cookbook version prior to v2.7.1 might require to manually delete configuration filehost_#{*environment*}.conf / host_#{*environment*}_#{*zone*}.conf.
LWRP example
icinga2_environment 'SingaporeDevelopment' do
import node['icinga2']['object']['host']['import']
environment 'development'
limit_region true
ignore_resolv_error true
enable_cluster_hostgroup true
enable_application_hostgroup true
cluster_attribute 'flock'
application_attribute 'application'
check_interval '1m'
retry_interval '10s'
max_check_attempts 3
action_url '/pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_'
endAbove LWRP resource will create Host objects for a chef environment nodes for a given search_pattern and other filter.
LWRP Options
- action (optional) - default :create, options: :create, :delete, :reload
- environment (required, String) - chef environment name
- cookbook (optional, String) - default icinga2, chef cookbook name for template
- template (optional, String) - default object.environment.conf.erb, chef template name
- search_pattern (optional, String) - chef search pattern for given environment
- env_resources (optional, Hash) - user provided Hash for environment nodes and host groups etc., overrides default chef search nodes inventory
- cluster_attribute (optional, String) - chef node cluster attribute to create hostgroup and
Hostvars - application_attribute (optional, String) - chef node application attribute to create hostgroup and
Hostvars - enable_cluster_hostgroup (optional, TrueClass/FalseClass) - whether to create
HostGroupobjects for chef node cluster's - enable_application_hostgroup (optional, TrueClass/FalseClass) - whether to create
HostGroupobjects for chef node application's - enable_role_hostgroup (optional, TrueClass/FalseClass) - whether to create
HostGroupobjects for chef node run_list role - host_display_name_attr (optional, String) - whether to use
hostnameorfqdnorname(chef node name) for Host Object attributedisplay_name, options: hostname fqdn name - use_fqdn_resolv (optional, TrueClass/FalseClass) - whether to use DNS FQDN resolved address for
Hostobject attributeaddress - failover_fqdn_address (optional, TrueClass/FalseClass) - whether to use chef node attribute
node['ipaddress']if failed to resolve node FQDN - ignore_resolv_error (optional, TrueClass/FalseClass) - whether to ignore node FQDN resolve error
- ignore_node_error (optional, TrueClass/FalseClass) - whether to ignore node if failed to determine
node[]'chef_environment']ornode['fqdn']ornode['hostname'] exclude_recipes (optional, Array) - exclude chef node ifrun_listmatches recipe, not yet testedexclude_roles (optional, Array) - exclude chef node ifrun_listmatches role, not yet tested- env_custom_vars (optional, Hash) - add
Hostobject custom vars to all chef node - limit_region (optional, TrueClass/FalseClass) - whether to limit chef node to chef server region, currently tested for Amazon EC2, e.g. a icinga2 server located in region
us-east-1will only collect nodes located inus-east-1region - server_region (optional, String) - icinga2 server region can be overridden if cloud provider is not supported by the cookbook using this attribute
- add_cloud_custom_vars (optional, TrueClass/FalseClass) - whether to add cloud attributes, currently supports amazon ec2, e.g. instance id, vpc subnet etc.
- add_inet_custom_vars (optional, TrueClass/FalseClass) - whether to add inet ip address custom vars to Host objects
- add_node_vars (optional, Hash) - add node attributes to custom vars, e.g.
add_node_vars 'hardware' => %w(dmi system manufacturer)will add a custom var hardware with value of node attributenode['dmi']['system']['manufacturer'] - env_filter_node_vars (optional, Hash) - filter or match chef nodes for a given
Hashattribute key value pairs - env_skip_node_vars (optional, Hash) - ignore chef nodes for a given
Hashattribute key value pairs - import (optional, String) - icinga
Hostobject import template attribute - check_command (optional, String) - icinga
Hostobject attributecheck_command - max_check_attempts (optional, Integer) - icinga
Hostobject attributemax_check_attempts - check_period (optional, String) - icinga
Hostobject attributecheck_period - notification_period (optional, String) - icinga
Hostobject attributenotification_period - check_interval (optional, String/Integer) - icinga
Hostobject attributecheck_interval - retry_interval (optional, Integer) - icinga
Hostobject attributeretry_interval - enable_notifications (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_notifications - enable_active_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_active_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_passive_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_passive_checks - enable_event_handler (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_event_handler - enable_flapping (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_flapping - enable_perfdata (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_perfdata - event_command (optional, String) - icinga
Hostobject attributeevent_command - flapping_threshold (optional, String) - icinga
Hostobject attributeflapping_threshold - volatile (optional, , TrueClass/FalseClass) - icinga
Hostobject attributevolatile - zone (optional, String) - icinga
Hostobject attributezone - command_endpoint (optional, String) - icinga
Hostobject attributecommand_endpoint - notes (optional, String) - icinga
Hostobject attributenotes - notes_url (optional, String) - icinga
Hostobject attributenotes_url - action_url (optional, String) - icinga
Hostobject attributeaction_url - icon_image (optional, String) - icinga
Hostobject attributeicon_image - icon_image_alt (optional, String) - icinga
Hostobject attributeicon_image_alt - endpoint_port (optional, Integer) - icinga
Endpointobject attributeport - endpoint_log_duration (optional, String) - icinga
Endpointobject attributelog_duration - zone_parent (optional, String) - icinga
Zoneobject attributeparent
Note: Few of LWRP resource attributes has default value, please check LWRP resource until information is added here.
LWRP envhostgroup creates an icinga Hostgroup object for LWRP environment host groups.
An environment host groups are evaluated at compile time, hence it conflicts with LWRP hostgroup resources. To avoid the conflict, LWRP envhostgroup resources are created in a separate object file for an environment.
LWRP Environment HostGroup example
icinga2_envhostgroup 'envhostgroup' do
environment environment_name
groups %w(group)
endAbove LWRP resource will create HostGroup for a chef environment.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- environment (name_attribute, String) - chef environment name
- groups (optional, Array) - host group names
Note: This LWRP resource is only meant for LWRP environment and not to be used for custom resources.
LWRP envendpoint creates an icinga Endpoint object for LWRP environment endpoints.
An environment endpoints are evaluated at compile time, hence it conflicts with LWRP endpoint resources. To avoid the conflict, LWRP envendpoint resources are created in a separate object file for an environment.
LWRP Environment Endpoint example
icinga2_envendpoint 'envendpoint' do
endpoints %w(endpoint)
port 5665
environment environment_name
log_duration '1d'
endAbove LWRP resource will create Endpoint for a chef environment.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- environment (name_attribute, String) - chef environment name
- endpoints (optional, Array) - endpoint names
- port (optional, Integer) - default 5665, The service name/port of the remote Icinga 2 instance
- log_duration (optional, String) - Duration for keeping replay logs on connection loss.
Note: This LWRP resource is only meant for LWRP environment and not to be used for custom resources.
LWRP envzone creates an icinga Zone object for LWRP environment zones.
An environment zones are evaluated at compile time, hence it conflicts with LWRP zone resources. To avoid the conflict, LWRP envzone resources are created in a separate object file for an environment.
LWRP Environment Zone example
icinga2_envzone 'envzone' do
zones %w(zone)
parent 'master'
environment environment_name
endAbove LWRP resource will create Zone for a chef environment.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- environment (name_attribute, String) - chef environment name
- zones (optional, Array) - zone names
- parent (optional, String) - The name of the parent zone.
Note: This LWRP resource is only meant for LWRP environment and not to be used for custom resources.
Unlike LWRP environment, LWRP host creates an icinga Host object or template.
LWRP host can be useful for servers not managed by Chef or to monitor Cloud Services like Amazon Elastic Cache or Amazon RDS etc.
LWRP Host Object example
icinga2_host 'redis-ec.abcdef.0001.apse1.cache.amazonaws.com' do
display_name 'Production Redis Server'
address 'redis-ec.abcdef.0001.apse1.cache.amazonaws.com'
custom_vars :check_tcp_ports => %w(6379), :application => 'redis', :environment => 'production', :cluster_name => 'prodredis0001'
endAbove LWRP resource will create an icinga Host object.
LWRP Host Template example
icinga2_host 'generic-host' do
template true
max_check_attempts 5
check_interval '1m'
retry_interval '30s'
check_command 'hostalive'
endAbove LWRP resource will create an icinga Host template - generic-host.
LWRP Options
- action (optional) - default :create, options: :create, :delete, :reload
- display_name (optional, String) - icinga
Hostobject import template attribute - import (optional, String) - icinga
Hostobject import template attribute - address (optional, String) - icinga
Hostobject import template attribute - address6 (optional, String) - icinga
Hostobject import template attribute - groups (optional, Array) - icinga
Hostobject import template attribute - check_command (optional, String) - icinga
Hostobject attributecheck_command - max_check_attempts (optional, Integer) - icinga
Hostobject attributemax_check_attempts - check_period (optional, String) - icinga
Hostobject attributecheck_period - notification_period (optional, String) - icinga
Hostobject attributenotification_period - check_interval (optional, String/Integer) - icinga
Hostobject attributecheck_interval - retry_interval (optional, String/Integer) - icinga
Hostobject attributeretry_interval - enable_notifications (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_notifications - enable_active_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_active_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_passive_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_passive_checks - enable_event_handler (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_event_handler - enable_flapping (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_flapping - enable_perfdata (optional, TrueClass/FalseClass) - icinga
Hostobject attributeenable_perfdata - event_command (optional, String) - icinga
Hostobject attributeevent_command - flapping_threshold (optional, String) - icinga
Hostobject attributeflapping_threshold - volatile (optional, , TrueClass/FalseClass) - icinga
Hostobject attributevolatile - zone (optional, String) - icinga
Hostobject attributezone - command_endpoint (optional, String) - icinga
Hostobject attributecommand_endpoint - notes (optional, String) - icinga
Hostobject attributenotes - notes_url (optional, String) - icinga
Hostobject attributenotes_url - action_url (optional, String) - icinga
Hostobject attributeaction_url - icon_image (optional, String) - icinga
Hostobject attributeicon_image - icon_image_alt (optional, String) - icinga
Hostobject attributeicon_image_alt - custom_vars (optional, String) - icinga
Hostobject attributevars - template (optional, TrueClass/FalseClass) - whether to create a
Hosttemplate
LWRP hostgroup creates an icinga HostGroup object.
LWRP HostGroup example
icinga2_hostgroup 'hostgroup_name' do
display_name 'Host Group'
groups ['othergroup']
assign_where ['"hostgroup_name" in host.vars.hostgroups']
ignore_where ['"hostgroup_name" in host.vars.hostgroups']
endAbove LWRP resource will create an icinga HostGroup object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- display_name (optional, String) - icinga
HostGroupattributedisplay_name - groups (optional, Array) - icinga
HostGroupattributegroups - assign_where (optional, Array) - an array of
assign wherestatements - ignore_where (optional, Array) - an array of
ignore wherestatements
LWRP service creates an icinga Service object or template.
LWRP Service Object example
icinga2_service 'redis-ec.abcdef.0001.apse1.cache.amazonaws.com_service_check' do
display_name 'Production Redis Service Check'
host_name 'redis-ec.abcdef.0001.apse1.cache.amazonaws.com'
check_command 'tcp'
custom_vars :tcp_port => 6379
endAbove LWRP resource will create an icinga Service object for a host tcp port check.
LWRP Service Template example
icinga2_service 'generic-service' do
template true
max_check_attempts 5
check_interval '1m'
retry_interval '30s'
endAbove LWRP resource will create an icinga Service template object for a generic-service Service.
LWRP Options
- action (optional) - default :create, options: :create, :delete, :reload
- display_name (optional) - icinga
Serviceobject attributedisplay_name - import (optional) - icinga
Serviceobject attributeimport - host_name (optional) - icinga
Serviceobject attributehost_name - groups (optional) - icinga
Serviceobject attributegroups - check_command (optional) - icinga
Serviceobject attributecheck_command - max_check_attempts (optional) - icinga
Serviceobject attributemax_check_attempts - check_period (optional) - icinga
Serviceobject attributecheck_period - notification_period (optional) - icinga
Serviceobject attributenotification_period - check_interval (optional) - icinga
Serviceobject attributecheck_interval - retry_interval (optional) - icinga
Serviceobject attributeretry_interval - enable_notifications (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_notifications - enable_active_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_active_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_passive_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_passive_checks - enable_event_handler (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_event_handler - enable_flapping (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_flapping - enable_perfdata (optional) - icinga
Serviceobject attributeenable_perfdata - event_command (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeevent_command - flapping_threshold (optional, String) - icinga
Serviceobject attributeflapping_threshold - volatile (optional, TrueClass/FalseClass) - icinga
Serviceobject attributevolatile - zone (optional, String) - icinga
Serviceobject attributezone - command_endpoint (optional, String) - icinga
Serviceobject attributecommand_endpoint - notes (optional, String) - icinga
Serviceobject attributenotes - notes_url (optional, String) - icinga
Serviceobject attributenotes_url - action_url (optional, String) - icinga
Serviceobject attributeaction_url - icon_image (optional, String) - icinga
Serviceobject attributeicon_image - icon_image_alt (optional, String) - icinga
Serviceobject attributeicon_image_alt - custom_vars (optional, Hash) - icinga
Serviceobject attributevars - template (optional, TrueClass/FalseClass) - whether to create a
Servicetemplate
LWRP service creates an icinga Service object or template.
LWRP Apply Service Object example
icinga2_applyservice 'nrpe_check_load' do
display_name 'CPU Average Load'
import 'generic-service'
check_command 'nrpe'
custom_vars :nrpe_command => 'check_load'
assign_where ['host.vars.nrpe']
check_interval '1m'
retry_interval '15s'
max_check_attempts 3
action_url '/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'
endAbove LWRP resource will apply an icinga Service object to all Hosts with custom vars host.vars.nrpe.
LWRP Apply Service For Object example
icinga2_applyservice 'areca' do
set 'areca => config in host.vars.areca'
display_name '"areca raidset" + areca'
import 'generic-service'
check_command 'check_snmp'
assign_where ['"areca" in host.vars.enabled_services']
merge_vars ['config']
check_interval '5m'
retry_interval '3m'
max_check_attempts 2
endAbove LWRP resource will apply an icinga Service object with a Service for set (also called hash or dictionary) to all Hosts with custom vars host.vars.enabled_services including 'areca'. It will also merge the values in config into the Service object.
LWRP Options
- action (optional) - default :create, options: :create, :delete, :reload
- display_name (optional, String) - icinga
Serviceobject attributedisplay_name - set (optional, String) - gives a set (hash/dictionary) to the icinga
serviceobject - import (optional, String) - icinga
Serviceobject attributeimport - host_name (optional, String) - icinga
Serviceobject attributehost_name - groups (optional, Array) - icinga
Serviceobject attributegroups - check_command (optional, String) - icinga
Serviceobject attributecheck_command - max_check_attempts (optional, Integer) - icinga
Serviceobject attributemax_check_attempts - check_period (optional, String) - icinga
Serviceobject attributecheck_period - notification_period (optional, String) - icinga
Serviceobject attributenotification_period - check_interval (optional, String/Integer) - icinga
Serviceobject attributecheck_interval - retry_interval (optional, String/Integer) - icinga
Serviceobject attributeretry_interval - enable_notifications (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_notifications - enable_active_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_active_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_passive_checks - enable_passive_checks (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_passive_checks - enable_event_handler (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_event_handler - enable_flapping (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_flapping - enable_perfdata (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeenable_perfdata - event_command (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeevent_command - flapping_threshold (optional, TrueClass/FalseClass) - icinga
Serviceobject attributeflapping_threshold - volatile (optional, TrueClass/FalseClass) - icinga
Serviceobject attributevolatile - zone (optional, String) - icinga
Serviceobject attributezone - command_endpoint (optional, String) - icinga
Serviceobject attributecommand_endpoint - notes (optional, String) - icinga
Serviceobject attributenotes - notes_url (optional, String) - icinga
Serviceobject attributenotes_url - action_url (optional, String) - icinga
Serviceobject attributeaction_url - icon_image (optional, String) - icinga
Serviceobject attributeicon_image - icon_image_alt (optional, String) - icinga
Serviceobject attributeicon_image_alt - custom_vars (optional, Hash) - icinga
Serviceobject attributevars - merge_vars (optional, Array) - Merge vars from each member of a set into icinga
Serviceobject attributevars - assign_where (optional, Array) - an array of
assign wherestatements - ignore_where (optional, Array) - an array of
ignore wherestatements
LWRP servicegroup creates an icinga ServiceGroup object.
LWRP ServiceGroup example
icinga2_servicegroup 'servicegroup_name' do
display_name 'Service Group'
groups ['othergroup']
assign_where ['"servicegroup_name" in host.vars.servicegroups']
ignore_where ['"servicegroup_name" in host.vars.servicegroups']
endAbove LWRP resource will create an icinga ServiceGroup object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- display_name (optional, String) - icinga
ServiceGroupattributedisplay_name - groups (optional, Array) - icinga
ServiceGroupattributegroups - assign_where (optional, Array) - an array of
assign wherestatements - ignore_where (optional, Array) - an array of
ignore wherestatements
LWRP feature enable or disable an icinga Feature.
LWRP Feature enable example
icinga2_feature 'feature_name'Above LWRP resource will enable an icinga Feature.
LWRP Feature disable example
icinga2_feature 'feature' do
action :disable
endAbove LWRP resource will disable an icinga Feature.
LWRP Options
- name(name_attribute) - icinga2 feature name
- action (optional) - default :enable, options: :enable, :disable
LWRP user creates an icinga User object.
LWRP User Object example
icinga2_user 'user_name' do
import 'generic-user'
enable_notifications true
states %w(OK Warning Critical Unknown Up Down)
types %w(DowntimeStart DowntimeEnd DowntimeRemoved Custom Acknowledgement Problem Recovery FlappingStart FlappingEnd)
display_name 'User Info'
groups %w(usergroup)
email 'user@domain'
endAbove LWRP resource will create an icinga User object.
LWRP User Template example
icinga2_user 'generic-user' do
template true
endAbove LWRP resource will create an icinga User template.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- display_name (optional, String) - icinga
Userattributedisplay_name - import (optional, String) - icinga
Userattributeimport - groups (optional, Array) - icinga
Userattributegroups - email (optional, String) - icinga
Userattributeemail - pager (optional, String) - icinga
Userattributepager - period (optional, String) - icinga
Userattributeperiod - states (optional, Array) - icinga
Userattributestates - types (optional, Array) - icinga
Userattributetypes - zone (optional, String) - icinga
Userattributezone - custom_vars (optional, Hash) - icinga
Userattributevars - enable_notifications (optional, TrueClass/FalseClass) - icinga
Userattributeenable_notifications - template (optional, TrueClass/FalseClass) - whether to create a
Usertemplate
LWRP usergroup creates an icinga UserGroup object.
LWRP UserGroup example
icinga2_usergroup 'usergroup_name' do
display_name 'User Group'
groups ['usergroup']
zone 'zone_name'
assign_where ['assign where statement']
ignore_where ['ignore where statement']
endAbove LWRP resource will create an icinga UserGroup object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- display_name (optional, String) - icinga
UserGroupattributedisplay_name - groups (optional, Array) - icinga
UserGroupattributegroups - zone (optional, String) - icinga
UserGroupattributezone - assign_where (optional, Array) - an array of
assign wherestatements - ignore_where (optional, Array) - an array of
ignore wherestatements
LWRP zone creates an icinga Zone object.
LWRP Zone example
icinga2_zone 'zone' do
endpoints %w(endpoint)
parent 'parent zone'
endAbove LWRP resource will create an icinga Zone object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- endpoints (optional, String) - icinga
Zoneattributeendpoints - parent (optional, String) - icinga
Zoneattributeparent - global (optional, TrueClass/FalseClass) - icinga
Zoneattributeglobal
LWRP endpoint creates an icinga Endpoint object.
LWRP Endpoint example
icinga2_endpoint 'endpoint' do
host 'host address'
port 1234
log_duration 'log duration'
endAbove LWRP resource will create an icinga Endpoint object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- host (optional, String) - icinga
Endpointattributehost - port (optional, Integer) - icinga
Endpointattributeport - log_duration (optional, String) - icinga
Endpointattributelog_duration
LWRP timeperiod creates an icinga TimePeriod object.
LWRP TimePeriod example
icinga2_timeperiod '24x7' do
import 'legacy-timeperiod'
display_name 'Icinga 2 24x7 TimePeriod'
ranges 'monday' => '00:00-24:00',
'tuesday' => '00:00-24:00',
'wednesday' => '00:00-24:00',
'thursday' => '00:00-24:00',
'friday' => '00:00-24:00',
'saturday' => '00:00-24:00',
'sunday' => '00:00-24:00'
endAbove LWRP resource will create an icinga TimePeriod object.
LWRP TimePeriod template
icinga2_timeperiod 'legacy-timeperiod' do
template true
display_name 'legacy-timeperiod'
endAbove LWRP resource will create an icinga TimePeriod template.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- display_name (optional, String) - icinga
TimePeriodattributedisplay_name - import (optional, String) - icinga
TimePeriodattributeimport - zone (optional, String) - icinga
TimePeriodattributezone - ranges (optional, Hash) - icinga
TimePeriodattributeranges - template (optional, TrueClass/FalseClass) - whether to create an icinga
TimePeriodtemplate
LWRP eventcommand creates an icinga EventCommand object.
LWRP EventCommand example
icinga2_eventcommand 'eventcommand' do
command 'command name'
custom_vars :attribute => 'value'
endAbove LWRP resource will create an icinga EventCommand object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- import (optional, String) - icinga
EventCommandattributeimport - command (optional, String/Array) - icinga
EventCommandattributecommand - env (optional, Hash) - icinga
EventCommandattributeenv - timeout (optional, String/Integer) - icinga
EventCommandattributetimeout - arguments (optional, Hash) - icinga
EventCommandattributearguments - custom_vars (optional, Hash) - icinga
EventCommandattributecustom_vars
LWRP checkcommand creates an icinga CheckCommand object.
LWRP CheckCommand example
icinga2_checkcommand 'checkcommand' do
command 'command name'
env :attribute => 'value'
arguments :attribute => 'value'
custom_vars :attribute => 'value'
zone 'zone name'
endAbove LWRP resource will create an icinga CheckCommand object.
LWRP Options
- action (optional, String) - default :create, options: :create, :delete
- import (optional, String) - default plugin-check-command, icinga
CheckCommandattributeimport - command (optional, String/Array) - icinga
CheckCommandattributecommand - env (optional, Hash) - icinga
CheckCommandattributeenv - timeout (optional, Integer) - icinga
CheckCommandattributetimeout - zone (optional, String) - icinga
CheckCommandattributezone - arguments (optional, Hash) - icinga
CheckCommandattributearguments - custom_vars (optional, Hash) - icinga
CheckCommandattributecustom_vars - template (optional, TrueClass/FalseClass) - whether to create a
CheckCommandtemplate
LWRP scheduleddowntime creates an icinga ScheduledDowntime object.
LWRP ScheduledDowntime example
icinga2_scheduleddowntime 'downtime' do
host_name 'host name'
service_name 'service name'
author 'author'
comment 'comment'
duration 'duration'
endAbove LWRP resource will create an icinga ScheduledDowntime object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- host_name (optional, String) - icinga
ScheduledDowntimeattributehost_name - service_name (optional, String) - icinga
ScheduledDowntimeattributeservice_name - author (optional, String) - icinga
ScheduledDowntimeattributeauthor - comment (optional, String) - icinga
ScheduledDowntimeattributecomment - fixed (optional, TrueClass/FalseClass) - icinga
ScheduledDowntimeattributefixed - duration (optional, String) - icinga
ScheduledDowntimeattributeduration - zone (optional, String) - icinga
ScheduledDowntimeattributezone - ranges (optional, Hash) - icinga
ScheduledDowntimeattributeranges - template (optional, TrueClass/FalseClass) - whether to create an icinga
ScheduledDowntimetemplate
LWRP script creates a template resource file script under node['icinga2']['scripts_dir']. This resource is optional and not necessary applicable to all scenarios.
LWRP script example
icinga2_script 'mail-host-notification-custom.sh' do
cookbook 'wrapper_cookbook'
source 'mail-host-notification-custom.sh.erb'
endAbove LWRP resource will create a script file under node['icinga2']['scripts_dir']/mail-host-notification-custom.sh using template mail-host-notification-custom.sh.erb from cookbook wrapper_cookbook.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- source (optional, String) - default :name, template resource attribute
source - cookbook (required, String) - template resource attribute
cookbook - variables (optional, Hash) - template resource attribute
variables
LWRP externalcommandlistener creates an icinga ExternalCommandListener object.
LWRP ExternalCommandListener example
icinga2_externalcommandlistener 'externalcommandlistener' do
library 'library'
command_path 'command path'
endAbove LWRP resource will create an icinga ExternalCommandListener config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'compat', icinga
ExternalCommandListenerattributelibrary - command_path (optional, String) - icinga
ExternalCommandListenerattributecommand_path
LWRP gelfwriter creates an icinga GelfWriter object.
LWRP GelfWrite example
icinga2_gelfwriter 'gelfwriter' do
library 'library'
host 'host address'
port 1234
source 'source'
endAbove LWRP resource will create an icinga GelfWriter config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'perfdata', icinga
GelfWriterattributelibrary - host (required, String) - icinga
GelfWriterattributehost - port (required, Integer) - icinga
GelfWriterattributeport - source (optional, String) - icinga
GelfWriterattributesource
LWRP graphitewriter creates an icinga GraphiteWriter object.
LWRP GraphiteWriter example
icinga2_graphitewriter 'graphitewriter' do
library 'library'
host 'host address'
port 1234
endAbove LWRP resource will create an icinga GraphiteWriter config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'perfdata', icinga
GraphiteWriterattributelibrary - host (optional, String) - icinga
GraphiteWriterattributehost - port (optional, Integer) - icinga
GraphiteWriterattributeport - host_name_template (optional, String) - default icinga.$host.name$, icinga
GraphiteWriterattributehost_name_template - service_name_template (optional, String) - default icinga.$host.name$.$service.name$, icinga
GraphiteWriterattributeservice_name_template
LWRP influxdbwriter creates an icinga InfluxdbWriter object.
LWRP InfluxdbWriter example
icinga2_influxdbwriter 'influxdbwriter' do
library 'library'
host 'host address'
port 8087
database 'icinga2'
username 'myuser'
password 'mypassword'
endAbove LWRP resource will create an icinga InfluxdbWriter config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'perfdata', icinga
InfluxdbWriterattributelibrary - host (optional, String) - default 'localhost', icinga
InfluxdbWriterattributehost - port (optional, Integer) - default 8087, icinga
InfluxdbWriterattributeport - database (optional, String) - default 'icinga2', icinga
InfluxdbWriterattributedatabase - username (optional, String) - icinga
InfluxdbWriterattributeusername - password (optional, String) - icinga
InfluxdbWriterattributepassword - ssl_enable (optional, String) - default 'false', icinga
InfluxdbWriterattributessl_enable - ssl_ca_cert (optional, String) - icinga
InfluxdbWriterattributessl_ca_cert - ssl_cert (optional, String) - icinga
InfluxdbWriterattributessl_cert - ssl_key (optional, String) - icinga
InfluxdbWriterattributessl_key - host_template (optional, String) - icinga
InfluxdbWriterattributehost_template - service_template (optional, String) - icinga
InfluxdbWriterattributeservice_template - enable_send_thresholds (optional, String) - icinga
InfluxdbWriterattributeenable_send_thresholds - enable_send_metadata (optional, String) - icinga
InfluxdbWriterattributeenable_send_metadata - flush_intervald (optional, String) - icinga
InfluxdbWriterattributeflush_intervald - flush_threshold (optional, Integer) - icinga
InfluxdbWriterattributeflush_threshold
LWRP idomysqlconnection creates an icinga IdoMySqlConnection object.
LWRP IdoMySqlConnection example
icinga2_idomysqlconnection 'idomysqlconnection' do
library 'library'
host 'host address'
port 1234
user 'user name'
password 'password'
database 'database name'
socket_path '/var/lib/mysql/mysql.sock'
endAbove LWRP resource will create an icinga IdoMySqlConnection config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'db_ido_mysql', icinga
IdoMySqlConnectionattributelibrary - host (optional, String) - icinga
IdoMySqlConnectionattributehost - port (optional, Integer) - icinga
IdoMySqlConnectionattributeport - user (optional, String) - icinga
IdoMySqlConnectionattributeuser - password (optional, String) - icinga
IdoMySqlConnectionattributepassword - database (optional, String) - icinga
IdoMySqlConnectionattributedatabase - table_prefix (optional, String) - default icinga_, icinga
IdoMySqlConnectionattributetable_prefix - instance_name (optional, String) - icinga
IdoMySqlConnectionattributeinstance_name - instance_description (optional, String) - icinga
IdoMySqlConnectionattributeinstance_description - enable_ha (optional, TrueClass/FalseClass) - icinga
IdoMySqlConnectionattributeenable_ha - failover_timeout (optional, String/Integer) - icinga
IdoMySqlConnectionattributefailover_timeout - cleanup (optional, Hash) - icinga
IdoMySqlConnectionattributecleanup - categories (optional, Array) - icinga
IdoMySqlConnectionattributecategories
LWRP idopgsqlconnection creates an icinga IdoPgSqlConnection object.
LWRP IdoPgSqlConnection example
icinga2_idopgsqlconnection 'idopgsqlconnection' do
library 'library'
host 'host address'
port 1234
user 'user name'
password 'password'
database 'database name'
socket_path '/tmp/.s.PGSQL.nnnn'
endAbove LWRP resource will create an icinga IdoPgSqlConnection config object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default 'db_ido_mysql', icinga
IdoPgSqlConnectionattributelibrary - host (optional, String) - icinga
IdoPgSqlConnectionattributehost - port (optional, Integer) - icinga
IdoPgSqlConnectionattributeport - user (optional, String) - icinga
IdoPgSqlConnectionattributeuser - password (optional, String) - icinga
IdoPgSqlConnectionattributepassword - database (optional, String) - icinga
IdoPgSqlConnectionattributedatabase - table_prefix (optional, String) - icinga
IdoPgSqlConnectionattributetable_prefix - instance_name (optional, String) - icinga
IdoPgSqlConnectionattributeinstance_name - instance_description (optional, String) - icinga
IdoPgSqlConnectionattributeinstance_description - enable_ha (optional, TrueClass/FalseClass) - icinga
IdoPgSqlConnectionattributeenable_ha - failover_timeout (optional, String/Integer) - icinga
IdoPgSqlConnectionattributefailover_timeout - cleanup (optional, Hash) - icinga
IdoPgSqlConnectionattributecleanup - categories (optional, Array) - icinga
IdoPgSqlConnectionattributecategories
LWRP sysloglogger creates an icinga SyslogLogger object.
LWRP SyslogLogger example
icinga2_sysloglogger 'sysloglogger' do
severity 'critical'
endAbove LWRP resource will create an icinga SyslogLogger object.
LWRP Options
- name(name_attribute) - icinga
SyslogLoggername - severity (optional, String) - icinga
SyslogLoggerattributeport
LWRP notification creates an icinga Notification object.
LWRP Notification Object example
icinga2_notification 'notification' do
import 'notification template'
host_name 'host'
service_name 'service'
users %w(user)
user_groups %w(usergroup)
interval 'interval'
period 'period'
states %w(OK Warning Critical Unknown Up Down)
types %w(Custom Acknowledgement Problem Recovery)
endAbove LWRP resource will create an icinga Notification object.
LWRP Notification Template example
icinga2_notification 'notification' do
template true
period '24x7'
endAbove LWRP resource will create an icinga Notification template.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- import (optional, String) - icinga
Notificationattributeimport - host_name (optional, String) - icinga
Notificationattributehost_name - service_name (optional, String) - icinga
Notificationattributeservice_name - users (optional, Array) - icinga
Notificationattributeusers - user_groups (optional, Array) - icinga
Notificationattributeuser_groups - times (optional, Hash) - icinga
Notificationattributetimes - command (optional, String) - icinga
Notificationattributecommand - interval (optional, String/Integer) - icinga
Notificationattributeinterval - period (optional, String) - icinga
Notificationattributeperiod - zone (optional, String) - icinga
Notificationattributezone - types (optional, Array) - icinga
Notificationattributetypes - states (optional, Array) - icinga
Notificationattributestates - custom_vars (optional, Hash) - icinga
Notificationattributevars - template (optional, TrueClass/FalseClass) - whether to create a
Notificationtemplate
LWRP applynotification creates an icinga apply Notification object for Host and Service.
LWRP apply Notification Service Object example
icinga2_applynotification 'servicenotification' do
object_type 'Service'
command 'mail-service-notification'
users %w(user)
interval '1h'
assign_where ['host.address && host.vars.environment == "development"']
ignore_where ['host.vars.monitoring_disabled == true']
endAbove LWRP resource will apply Notification to all Service objects for provided assign where statements and ignore for specified ignore where statements.
LWRP apply Notification Host Object example
icinga2_applynotification 'hostnotification' do
object_type 'Host'
command 'mail-host-notification'
users %w(user)
interval '1h'
assign_where ['host.address && host.vars.environment == "development"']
ignore_where ['host.vars.monitoring_disabled == true']
endAbove LWRP resource will apply Notification to all Host objects for provided assign_where statements and ignore for specified ignore_where statements.
LWRP Options
- object_type (required, String) - apply Notification to
HostorService, valid values are: Host Service - action (optional, String) - default :create, options: :create, :delete
- import (optional, String) - icinga
Notificationattributeimport - users (optional, Array) - icinga
Notificationattributeusers - user_groups (optional, Array) - icinga
Notificationattributeuser_groups - times (optional, Hash) - icinga
Notificationattributetimes - command (optional, String) - icinga
Notificationattributecommand - interval (optional, String/Integer) - icinga
Notificationattributeinterval - period (optional, String) - icinga
Notificationattributeperiod - types (optional, Array) - icinga
Notificationattributetypes - states (optional, Array) - icinga
Notificationattributestates - assign_where (optional, Array) - icinga
assign wherestatements - ignore_where (optional, Array) - icinga
ignore wherestatements
LWRP notificationcommand creates an icinga NotificationCommand object.
LWRP NotificationCommand example
icinga2_notificationcommand 'mail-service-notification' do
command ['ConfigDir + "/icinga2/scripts/mail-service-notification.sh"']
env 'NOTIFICATIONTYPE' => '$notification.type$', \
'SERVICEDESC' => '$service.name$',\
'HOSTALIAS' => '$host.display_name$',\
'HOSTADDRESS' => '$address$',\
'SERVICESTATE' => '$service.state$',\
'LONGDATETIME' => '$icinga.long_date_time$',\
'SERVICEOUTPUT' => '$service.output$',\
'NOTIFICATIONAUTHORNAME' => '$notification.author$',\
'NOTIFICATIONCOMMENT' => '$notification.comment$',\
'HOSTDISPLAYNAME' => '$host.display_name$',\
'SERVICEDISPLAYNAME' => '$service.display_name$',\
'USEREMAIL' => '$user.email$'
endAbove LWRP resource will create an icinga NotificationCommand object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- import (optional, String) - default plugin-notification-command, icinga
NotificationCommandattributecert_path - command (optional, String/Array) - icinga
NotificationCommandattributecommand - env (optional, Hash) - icinga
NotificationCommandattributeenv - timeout (optional, Integer) - icinga
NotificationCommandattributetimeout - zone (optional, String) - icinga
NotificationCommandattributezone - arguments (optional, Hash) - icinga
NotificationCommandattributearguments - custom_vars (optional, Hash) - icinga
NotificationCommandattributevars
LWRP apilistener creates an icinga ApiListener object.
LWRP ApiListener example
icinga2_apilistener 'master' do
cert_path 'ConfigDir + "/icinga2/pki/" + NodeName + ".crt"'
key_path 'ConfigDir + "/icinga2/pki/" + NodeName + ".key"'
ca_path 'ConfigDir + "/icinga2/pki/ca.crt"'
bind_host 'host address'
bind_port '5665'
ticket_salt 'TicketSalt'
endAbove LWRP resource will create an icinga ApiListener object.
LWRP Options
- action (optional, String) - default :create, options: :create, :delete
- cert_path (required, String) - icinga
ApiListenerattributecert_path - key_path (required, String) - icinga
ApiListenerattributekey_path - ca_path (required, String) - icinga
ApiListenerattributeca_path - crl_path (optional, String) - icinga
ApiListenerattributecrl_path - bind_host (optional, String) - icinga
ApiListenerattributebind_host - bind_port (optional, String) - icinga
ApiListenerattributebind_port - ticket_salt (optional, String) - icinga
ApiListenerattributeticket_salt - accept_config (optional, TrueClass/FalseClass) - icinga
ApiListenerattributeaccept_config - accept_commands (optional, TrueClass/FalseClass) - icinga
ApiListenerattributeaccept_commands
LWRP apiuser creates an icinga ApiUser object.
LWRP ApiUser example
icinga2_apiuser 'master' do
password 'mysecretapipassword'
client_cn 'myname'
permissions '["*"]'
endAbove LWRP resource will create an icinga apiuser object.
LWRP Options
- action (optional, String) - default :create, options: :create, :delete
- password (required, String) - icinga
apiuserattributepassword - permissions (required, String) - icinga
apiuserattributepermissions - client_cn (optional, String) - icinga
apiuserattributeclient_cn
LWRP livestatuslistener creates an icinga LiveStatusListener object.
LWRP LiveStatusListener example
icinga2_livestatuslistener 'livestatuslistener' do
socket_type 'socket type'
socket_path 'socket path'
bind_host 'host address'
bind_port 'host port'
compat_log_path 'log path'
endAbove LWRP resource will create an icinga LiveStatusListener object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- socket_type (optional, String) - icinga
LiveStatusListenerattributesocket_type - socket_path (optional, String) - icinga
LiveStatusListenerattributesocket_path - bind_host (optional, String) - icinga
LiveStatusListenerattributebind_host - bind_port (optional, Integer) - icinga
LiveStatusListenerattributebind_port - compat_log_path (optional, String) - icinga
LiveStatusListenerattributecompat_log_path
LWRP statusdatawriter creates an icinga StatusDataWriter object.
LWRP StatusDataWriter example
icinga2_statusdatawriter 'statusdatawriter' do
status_path 'status path'
objects_path 'objects path'
update_interval 'update interval'
endAbove LWRP resource will create an icinga StatusDataWriter object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default compat, icinga
StatusDataWriterObjectlibrary - status_path (optional, String) - icinga
StatusDataWriterattributestatus_path - objects_path (optional, String) - icinga
StatusDataWriterattributeobjects_path - update_interval (optional, String/Integer) - icinga
StatusDataWriterattributeupdate_interval
LWRP compatlogger creates an icinga CompatLogger object.
LWRP CompatLogger example
icinga2_compatlogger 'compatlogger' do
log_dir 'log dir'
rotation_method 'rotation method'
endAbove LWRP resource will create an icinga CompatLogger object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default compat, icinga
CompatLoggerObjectlibrary - log_dir (optional, String) - icinga
CompatLoggerattributelog_dir - rotation_method (optional, String) - icinga
CompatLoggerattributerotation_method
LWRP checkresultreader creates an icinga CheckResultReader object.
LWRP CheckResultReader example
icinga2_checkresultreader 'checkresultreader' do
spool_dir 'spool dir'
endAbove LWRP resource will create an icinga CheckResultReader object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default compat, icinga
CheckResultReaderObjectlibrary - spool_dir (optional, String) - icinga
CheckResultReaderattributespool_dir
LWRP notificationcomponent creates an icinga NotificationComponent object.
LWRP NotificationComponent example
icinga2_notificationcomponent 'notificationcomponent'Above LWRP resource will create an icinga NotificationComponent object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default notification, icinga
NotificationComponentObjectlibrary - enable_ha (optional, String) - icinga
NotificationComponentattributeenable_ha
LWRP filelogger creates an icinga FileLogger object.
LWRP FileLogger example
icinga2_filelogger 'filelogger'Above LWRP resource will create an icinga FileLogger object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- path (optional, String) - icinga
FileLoggerattributepath - severity (optional, String) - icinga
FileLoggerattributeseverity
LWRP perfdatawriter creates an icinga PerfdataWriter object.
LWRP PerfdataWriter example
icinga2_perfdatawriter 'perfdatawriter' do
host_perfdata_path 'host perfdata path'
service_perfdata_path 'service perfdata path'
host_format_template 'host perfdata format'
service_format_template 'service perfdata format'
rotation_interval 'rotation interval'
endAbove LWRP resource will create an icinga PerfdataWriter object.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- library (optional, String) - default perfdata, icinga
PerfdataWriterObjectlibrary - host_perfdata_path (optional, String) - icinga
PerfdataWriterattributehost_perfdata_path - service_perfdata_path (optional, String) - icinga
PerfdataWriterattributeservice_perfdata_path - host_temp_path (optional, String) - icinga
PerfdataWriterattributehost_temp_path - service_temp_path (optional, String) - icinga
PerfdataWriterattributeservice_temp_path - host_format_template (optional, String) - icinga
PerfdataWriterattributehost_format_template - service_format_template (optional, String) - icinga
PerfdataWriterattributeservice_format_template - rotation_interval (optional, String/Integer) - icinga
PerfdataWriterattributerotation_interval
LWRP applydependency creates an icinga apply Dependency object for Host and Service.
LWRP apply Dependency Service Object example
icinga2_applydependency 'applyservicedependency' do
object_type 'Service'
parent_service_name 'check_nrpe'
states %w(OK Critical Unknown Warning)
period '24x7'
assign_where ['service.check_command == "nrpe"']
ignore_where ['service.name == "check_nrpe"']
endAbove LWRP resource will apply Dependency to all Service objects for provided assign where statements and ignore for specified ignore where statements.
LWRP apply Dependency Host Object example
icinga2_applydependency 'applyhostdependency' do
object_type 'Host'
parent_host_name 'gateway host'
states %w(Down Unknown)
period '24x7'
assign_where %w(host.address)
ignore_where ['!host.address']
endAbove LWRP resource will apply Dependency to all Host objects for provided assign_where statements and ignore for specified ignore_where statements.
LWRP Options
- action (optional) - default :create, options: :create, :delete
- object_relation (optional, String) - default
to, applyDependencyrelation - object_type (required, String) - apply Notification to
HostorService, valid values are: Host Service - parent_host_name (optional, String) - icinga apply
Dependencyattributeparent_host_name - child_host_name (optional, String) - icinga apply
Dependencyattributechild_host_name - parent_service_name (optional, String) - icinga apply
Dependencyattributeparent_service_name - child_service_name (optional, String) - icinga apply
Dependencyattributechild_service_name - disable_checks (optional, TrueClass/FalseClass) - icinga apply
Dependencyattributedisable_checks - disable_notifications (optional, TrueClass/FalseClass) - icinga apply
Dependencyattributedisable_notifications - period (optional, String) - icinga apply
Dependencyattributeperiod - states (optional, Array) - icinga apply
Dependencyattributestates - assign_where (optional, Array) - icinga
assign wherestatements - ignore_where (optional, Array) - icinga
ignore wherestatements