#####Install Icinga-core from source code.
"Icinga is an enterprise grade open source monitoring system which keeps watch over networks and any conceivable network resource, notifies the user of errors and recoveries and generates performance data for reporting. Scalable and extensible, Icinga can monitor complex, large environments across dispersed locations."
#####Install Nagios Plugins from source code.
"Nagios plugins are standalone extensions to Nagios Core that provide low-level intelligence on how to monitor anything and everything with Nagios Core. Plugins operate as standalone applications, but are generally designed to be executed by Nagios Core."
- apt - https://github.com/opscode-cookbooks/apt
- yum-epel - https://github.com/opscode-cookbooks/yum-epel
- apache2 - https://github.com/onehealth-cookbooks/apache2
- mysql - https://github.com/opscode-cookbooks/mysql
- database - https://github.com/opscode-cookbooks/database
- htpasswd - https://github.com/Youscribe/htpasswd-cookbook
The following platforms and versions are tested and supported using Opscode's test-kitchen.
- Ubuntu 10.04, 12.04
- CentOS 5.8, 6.3
- debian 7.2
The following platform families are supported in the code, and are assumed to work based on the successful testing on Ubuntu and CentOS.
- Debian
- Red Hat (rhel)
- Fedora
- Amazon Linux
####Icinga:default Include Icinga::core Include Icinga::plugins
####Icinga::core Install icinga-core from de source code.
####Icinga::plugins Install Nagios Plugins from de source code.
common autentication attributes for all recipes.
#####Config Auth
Key | Type | Description | Default |
---|---|---|---|
node[:icinga][:auth][:config] | String | Set Local or AD (Active Directory) for auth | local |
#####Config Auth Active Directory Not default attribute set!! The module for auth Active Directory SSO(Single Sign-On) PyAuthenNTLM2 - https://github.com/Legrandin/PyAuthenNTLM2, the cookbook apply patch for this issue
Key | Type | Description | Example |
---|---|---|---|
default[:icinga][:auth][:ldap][:domain] | String | Domain Active Directory fqdn | contoso.com |
default[:icinga][:auth][:ldap][:server1] | String | PDC IP or DNS, ldap:// or ldaps:// | ldap://10.0.0.1 |
default[:icinga][:auth][:ldap][:server2] | String | BDC IP or DNS, ldap:// or ldaps:// (Optional) | ldap://10.0.0.2 |
default[:icinga][:auth][:ldap][:basedn] | String | DN Base for search users | dc=contoso,dc=com |
default[:icinga][:auth][:ldap][:binddn] | String | user for bind DN | [email protected] |
default[:icinga][:auth][:ldap][:bindpw] | String | password of user for bind DN | password |
default[:icinga][:auth][:ldap][:groups] | array | restricted login Memberof(Optional) | [admins, operators, monitoring] |
default[:icinga][:auth][:ldap][:admuser] | array | Admin users for icinga-core GUI | [user1, user2, user3] |
Key | Type | Description | Example |
---|---|---|---|
default[:icinga][:auth][:local][:users] | Array | (user => password) | { 'user1' => 'pass1', 'user2' => 'pass2', 'user3' => 'pass3' } |
default[:icinga][:auth][:local][:file] | String | Path for htpassword file | /etc/icinga/htpasswd.user |
default[:icinga][:auth][:local][:admusr] | Array | Admin users for icinga-core GUI | [user1, user2, user3] |
#####Basic config
Key | Type | Description | Default |
---|---|---|---|
node[:icinga][:core][:user] | String | Icinga OS User | icinga |
node[:icinga][:core][:group] | String | Icinga OS Group | icinga |
node[:icinga][:core][:veriosn] | String | Icinga version to install | 1.11.1 |
node[:icinga][:core][:filename] | String | Icinga filename to download without extension | "icinga-#{node[:icinga][:core][:version]}" |
node[:icinga][:core][:url] | String | Icinga url for download source code | "https://github.com/Icinga/icinga-core/releases/download/v1.11.1/icinga-11.1.1.tar.gz" |
node[:icinga][:core][:checksum] | String | Icinga checksum for download source code | '4463b8cf83f13516a7bca30d816e9d90' |
node[:icinga][:core][:path] | String | Icinga install path | '/usr/share/icinga' |
#####Apache config for icinga-core
Key | Type | Description | Default |
---|---|---|---|
node[:icinga][:core][:server_name] | String | Server Name apache vhost directive | icinga |
node[:icinga][:core][:alias] | String | Alias apache vhost directive | nil |
#####Mysql config for icinga-core
Key | Type | Description | Default |
---|---|---|---|
node[:icinga][:core][:db_user] | String | Username for database icinga-core | icinga |
node[:icinga][:core][:db_password] | String | password for user of database for icinga-core | icinga |
node[:icinga][:core][:db_name] | String | name of database for icinga-core | icinga |
####Icinga::plugins #####Basic config
Key | Type | Description | Default |
---|---|---|---|
node[:icinga][:nagios_plg][:version] | String | Nagios Plugins version to install | 1.5 |
node[:icinga][:nagios_plg][:filename] | String | Nagios Plugins filename to download without extension | nagios-plugins-#{node[:icinga][:nagios_plg][:version]} |
node[:icinga][:nagios_plg][:checksum] | String | Nagios Plugins checksum for download source code | 5d426b0e303a5201073c342d8ddde8bafca1432b |
node[:icinga][:nagios_plg][:checksum] | String | Nagios Plugins url for download source code | https://www.monitoring-plugins.org/download/#{node[:icinga][:nagios_plg][:filename]}.tar.gz |
Just include icinga
in your node's run_list
:
{
"name":"my_node",
"run_list": [
"recipe[icinga]"
]
}
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: Lucas Mariani (Psyreactor)