Project

General

Profile

Install Icinga2 and Icingaweb2 » History » Revision 4

Revision 3 (Jon Goldberg, 06/08/2017 07:33 PM) → Revision 4/16 (Jon Goldberg, 06/08/2017 08:00 PM)

{{last_updated_at}} by {{last_updated_by}} 
 # Install Icinga2 and Icingaweb2 

 {{>toc}} 

 ### Installation (Master Node) 

 Steps are adapted I followed this guide: 
 <http://linoxide.com/ubuntu-how-to/install-icinga2-ubuntu-16-04/>. 
 Here's where I deviated from [this guide](http://linoxide.com/ubuntu-how-to/install-icinga2-ubuntu-16-04/). the guide: 

 #### Install Icinga2 
 ``` 
 # These lines for -     I installed nagios-plugins - but in Ubuntu 16.04 only: this has Samba as a 
     dependency.  So then I also ran 
     `apt remove samba-common samba-libs`. 
 apt -     I didn't install software-properties-common 
 add-apt-repository -y ppa:formorer/icinga 
 apt update 
 apt-get install icinga2 


 # These 3 lines for Debian 8 only: 
 echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list 
 apt-get update 
 apt-get -t jessie-backports install icinga2 

 systemctl enable icinga2.service 
 systemctl start icinga2.service 
 ``` 

 #### Install PHP 5.6 - Icingaweb2 is now PHP7-compatible. 
 ``` 
 apt remove samba-common samba-libs 
 # Work around this bug: https://bugs.launchpad.net/ubuntu/+source/icingaweb2/+bug/1574250 
 # FIRST, uncomment -     I uncommented the second line in /etc/php/7.0/mods-available/zend-framework.ini 
 phpenmod zend-framework 
 systemctl restart apache2.service 
 ``` 

 
     /etc/php/7.0/mods-available/zend-framework.ini, ran 
     `phpenmod zend-framework` and restarted Apache (to work around this 
     bug: 
     <https://bugs.launchpad.net/ubuntu/+source/icingaweb2/+bug/1574250> 

 ### Configuration 

 -     Run `icinga2 node wizard. `Select "N" to create a master node. 
 -     Enable the command module to allow issuing commands from Icingaweb2: 
     `icinga2 feature enable command`; service icinga2 restart 
 -     Add an API user for remote checks.  For instance, a user that can 
     receive backupninja checks: 

     <div class="code panel pdl" style="border-width: 1px;"> 

     <div class="codeContent panelContent pdl"> 

     ```  
     object ApiUser "backupninja" { 
       password = "<redacted>" 
       permissions = [ 
         { 
           permission = "actions/process-check-result" 
           filter = {{ match("backupninja", service.display_name) }} 
         } 
       ] 
     } 
     ``` 

 

 ### Install additional checks 

 #### Install Plugins 

 Place the following two scripts in your plugins directory 
 (`/usr/lib/nagios/plugins`) and ensure they're executable: 

 -     **check\_drupal** - installs with the Drupal "nagios" plugin, also 
     available 
     [here](http://cgit.drupalcode.org/nagios/plain/nagios-plugin/check_drupal?id=7da732e2d4943ec5368243f4cd2e33eb02769f23). 
 -     **check\_civicrm** - There are two scripts - one for Civi 4.6 and 
     below, another for 4.7 and up.  4.7 version is available 
     [here](https://github.com/PalanteJon/check_civicrm){.external-link}, 
     4.6 version is 
     <span>[here](https://raw.githubusercontent.com/aghstrategies/com.aghstrategies.civimonitor/master/check_civicrm.php).</span> 
 -     <span>**check\_domain** - This does a WHOIS lookup to ensure domain 
     names aren't about to expire.  Install from 
     [here](https://raw.githubusercontent.com/glensc/monitoring-plugin-check_domain/master/check_domain.sh).</span> 
 -     <span><span>**check\_rbl** - Check spam blacklists.  File is 
     [here](https://raw.githubusercontent.com/matteocorti/check_rbl/master/check_rbl), also install dependencies: 
     `apt install libreadonly-xs-perl libnagios-plugin-perl libdata-validate-ip-perl libdata-validate-domain-perl libnet-dns-perl` 

 #### Define CheckCommand and Service objects for the new plugins 

 Copy the CheckCommand and Service files from 
 `icinga.jmaconsulting.biz:/etc/icinga2/zones.d/global-templates/CheckCommands` 
 and `icinga.jmaconsulting.biz:/etc/icinga2/conf.d/services`. See [[Add New Checks to Icinga2]] for details. 


 ### Set up vim syntax highlighting on the Icinga2 server 
 ``` 
 mkdir -p ~/.vim/{syntax,ftdetect} 
 cd ~/.vim/syntax 
 wget https://raw.githubusercontent.com/Icinga/icinga2/master/tools/syntax/vim/syntax/icinga2.vim 
 cd ~/.vim/ftdetect 
 wget https://raw.githubusercontent.com/Icinga/icinga2/master/tools/syntax/vim/ftdetect/icinga2.vim 
 ```