Install Icinga2 and Icingaweb2 » History » Version 7
Jon Goldberg, 06/08/2017 08:57 PM
1 | 1 | Jon Goldberg | {{last_updated_at}} by {{last_updated_by}} |
---|---|---|---|
2 | # Install Icinga2 and Icingaweb2 |
||
3 | |||
4 | {{>toc}} |
||
5 | |||
6 | ### Installation (Master Node) |
||
7 | |||
8 | 4 | Jon Goldberg | Steps are adapted from [this guide](http://linoxide.com/ubuntu-how-to/install-icinga2-ubuntu-16-04/). |
9 | 1 | Jon Goldberg | |
10 | 4 | Jon Goldberg | #### Install Icinga2 |
11 | ``` |
||
12 | 5 | Jon Goldberg | # Install MySQL if you haven't yet |
13 | |||
14 | 4 | Jon Goldberg | # These lines for Ubuntu 16.04 only: |
15 | apt install software-properties-common |
||
16 | add-apt-repository -y ppa:formorer/icinga |
||
17 | apt update |
||
18 | apt-get install icinga2 |
||
19 | 5 | Jon Goldberg | apt-get install icinga2-ido-mysql |
20 | 4 | Jon Goldberg | |
21 | # These 3 lines for Debian 8 only: |
||
22 | echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list |
||
23 | apt-get update |
||
24 | 1 | Jon Goldberg | apt-get -t jessie-backports install icinga2 |
25 | 5 | Jon Goldberg | apt-get -t jessie-backports install icinga2-ido-mysql |
26 | 4 | Jon Goldberg | |
27 | systemctl enable icinga2.service |
||
28 | 1 | Jon Goldberg | systemctl start icinga2.service |
29 | 5 | Jon Goldberg | apt install nagios-plugins |
30 | # nagios-plugins has Samba as a dependency, but you should remove it. |
||
31 | apt remove samba-common samba-libs |
||
32 | icinga2 feature enable ido-mysql |
||
33 | 7 | Jon Goldberg | # This next line I think? |
34 | icinga2 feature enable api command |
||
35 | 5 | Jon Goldberg | systemctl restart icinga2.service |
36 | |||
37 | 4 | Jon Goldberg | ``` |
38 | 1 | Jon Goldberg | |
39 | #### Install Icingaweb2 |
||
40 | 4 | Jon Goldberg | ``` |
41 | 5 | Jon Goldberg | |
42 | # If Ubuntu 16.04, you need to work around this bug: https://bugs.launchpad.net/ubuntu/+source/icingaweb2/+bug/1574250 |
||
43 | 1 | Jon Goldberg | # FIRST, uncomment the second line in /etc/php/7.0/mods-available/zend-framework.ini |
44 | phpenmod zend-framework |
||
45 | systemctl restart apache2.service |
||
46 | 5 | Jon Goldberg | # END Ubuntu 16.04 workaround |
47 | |||
48 | apt install icingaweb2 |
||
49 | 4 | Jon Goldberg | ``` |
50 | 6 | Jon Goldberg | * Go to http://<your IP>/icingaweb2/setup. |
51 | * Finish from here: https://linoxide.com/ubuntu-how-to/install-icinga2-ubuntu-16-04, starting with "Configuring Icinga Web2 plugin" |
||
52 | 1 | Jon Goldberg | |
53 | ### Configuration |
||
54 | |||
55 | - Run `icinga2 node wizard. `Select "N" to create a master node. |
||
56 | - Enable the command module to allow issuing commands from Icingaweb2: |
||
57 | `icinga2 feature enable command`; service icinga2 restart |
||
58 | - Add an API user for remote checks. For instance, a user that can |
||
59 | receive backupninja checks: |
||
60 | |||
61 | <div class="code panel pdl" style="border-width: 1px;"> |
||
62 | |||
63 | <div class="codeContent panelContent pdl"> |
||
64 | |||
65 | ``` |
||
66 | object ApiUser "backupninja" { |
||
67 | password = "<redacted>" |
||
68 | permissions = [ |
||
69 | { |
||
70 | permission = "actions/process-check-result" |
||
71 | filter = {{ match("backupninja", service.display_name) }} |
||
72 | } |
||
73 | ] |
||
74 | } |
||
75 | ``` |
||
76 | |||
77 | ### Install additional checks |
||
78 | |||
79 | #### Install Plugins |
||
80 | |||
81 | Place the following two scripts in your plugins directory |
||
82 | (`/usr/lib/nagios/plugins`) and ensure they're executable: |
||
83 | |||
84 | - **check\_drupal** - installs with the Drupal "nagios" plugin, also |
||
85 | available |
||
86 | 2 | Jon Goldberg | [here](http://cgit.drupalcode.org/nagios/plain/nagios-plugin/check_drupal?id=7da732e2d4943ec5368243f4cd2e33eb02769f23). |
87 | 1 | Jon Goldberg | - **check\_civicrm** - There are two scripts - one for Civi 4.6 and |
88 | below, another for 4.7 and up. 4.7 version is available |
||
89 | [here](https://github.com/PalanteJon/check_civicrm){.external-link}, |
||
90 | 4.6 version is |
||
91 | 2 | Jon Goldberg | <span>[here](https://raw.githubusercontent.com/aghstrategies/com.aghstrategies.civimonitor/master/check_civicrm.php).</span> |
92 | 1 | Jon Goldberg | - <span>**check\_domain** - This does a WHOIS lookup to ensure domain |
93 | names aren't about to expire. Install from |
||
94 | 2 | Jon Goldberg | [here](https://raw.githubusercontent.com/glensc/monitoring-plugin-check_domain/master/check_domain.sh).</span> |
95 | 1 | Jon Goldberg | - <span><span>**check\_rbl** - Check spam blacklists. File is |
96 | 2 | Jon Goldberg | [here](https://raw.githubusercontent.com/matteocorti/check_rbl/master/check_rbl), also install dependencies: |
97 | `apt install libreadonly-xs-perl libnagios-plugin-perl libdata-validate-ip-perl libdata-validate-domain-perl libnet-dns-perl` |
||
98 | 1 | Jon Goldberg | |
99 | 2 | Jon Goldberg | #### Define CheckCommand and Service objects for the new plugins |
100 | 1 | Jon Goldberg | |
101 | 2 | Jon Goldberg | Copy the CheckCommand and Service files from |
102 | 1 | Jon Goldberg | `icinga.jmaconsulting.biz:/etc/icinga2/zones.d/global-templates/CheckCommands` |
103 | 2 | Jon Goldberg | and `icinga.jmaconsulting.biz:/etc/icinga2/conf.d/services`. See [[Add New Checks to Icinga2]] for details. |
104 | 1 | Jon Goldberg | |
105 | |||
106 | 2 | Jon Goldberg | ### Set up vim syntax highlighting on the Icinga2 server |
107 | ``` |
||
108 | mkdir -p ~/.vim/{syntax,ftdetect} |
||
109 | cd ~/.vim/syntax |
||
110 | wget https://raw.githubusercontent.com/Icinga/icinga2/master/tools/syntax/vim/syntax/icinga2.vim |
||
111 | cd ~/.vim/ftdetect |
||
112 | wget https://raw.githubusercontent.com/Icinga/icinga2/master/tools/syntax/vim/ftdetect/icinga2.vim |
||
113 | ``` |