Icinga
History
2014-Dec-31 I had Icinga2 running from packages for a few months and then a package update broke everything. I removed everything and installed from sources.
Configuration
Unfortunately the computer I have available to run Icinga does not have the juice to run everything. I am trying to keep the PostgreSQL database on a better endowed server. It has more RAM and an SSD but a puny CPU. I wonder how this pans out...
Built from sources
icinga2
apt-get install bison flex cmake apt-get install libboost1.49-dev libboost-thread-dev libboost-system-dev libboost-regex-dev libboost-program-options-dev mkdir build cd build cmake .. make sudo make install
Nagios monitoring plugins: https://www.monitoring-plugins.org/doc/index.html
Especially important here is check_icmp, I create a hard link check_host. When invoked as check_host, the program does the minimum to see if the host is alive then returns OK. It's very lightweight and fast compared to ping.
icingaweb2
# Generate the config file for Apache ./bin/icingacli setup config webserver apache --document-root /usr/local/icingaweb2/public > /etc/apache2/conf-available/icingaweb2.conf cd /etc/apache2/conf-enabled ln -s ../conf-available/icingaweb2.conf # Use browser to complete set up http://helena.cds1.net:8888/icingaweb2/setup # Generate the required token cd /etc/icingaweb2 head -c 12 /dev/urandom | base64 | tee /etc/icingaweb2/setup.token; chmod 0660 /etc/icingaweb2/setup.token;
nagvis
Backend
I tried MySQL, but it gets out of sync with the config files after restarts. I think the state file (/usr/local/var/lib/icinga2/icinga2.state) is the problem. Livestatus has to be turned on for Nagvis.
I tried Livestatus, love the idea, but fails in icingaweb2
Now trying postgres
su postgres createdb icinga psql CREATE USER icinga WITH PASSWORD 'linenopise'; ALTER DATABASE icinga OWNER TO icinga;
# Allow access remotely and tune to use more memory # and tell it to listen on 5432 cd /etc/postgresql/9.3/main/ emacs pg_hba.conf postgresql.conf service postgresql restart # Adjust memory to match settings in postgresql.conf emacs /etc/sysctl.d/30-postgresql-shm.conf reboot cat /proc/sys/kernel/shmmax
# From the host running icinga psql -U icinga -h vastra2.cds1.net icinga < /usr/local/share/icinga2-ido-pgsql/schema/pgsql.sql # Set up the database name, username, password emacs /usr/local/etc/icinga2/features-enabled/ido-pgsql.conf
Nagios plugins
Currently using the package, not sources.
NB You have to mark check_icmp as setuid; like this: chmod 4755 /usr/lib/nagios/plugins/check_icmp
IcingaWeb2
Configuration
The (undocumented) trick here is to use this URL after it's installed: http://helena.cds1.net/icingaweb2/setup.
The requested token can be created directly from the command line; I could not get the fancy icinga cli command to work. (They give you the alternative commands to run in 'setup'.)
There is a setup module that can be re-enabled from the web gui once you have run setup to do it all over again. It wipes out the previous setup.
You want to use the IDO database backend, not livestatus. Using the database gives you background, livestatus just gives you current conditions.
Authentication
I selected "autologin" which means I use the firewall and the apache auth instead of the builtin auth.
Modules
Looks like the only module of real interest right now ships with icingaweb2 -- monitoring. Beyond that we go over to Nagvis.
Previous attempt, using packages
Just leaving this here for now.
Installed on Helena from Debian packages. Simply selecting the metapackage icinga gave me everything I needed.
I'd like to export the config from one of the existing Nagios servers and import it here. https://bigdog.alembic.net/nagios/ Ron sent me the files yesterday. Lots of conversion to do, I fear.
I decided to go to the Icinga 2.0 stable release instead of starting with the Debian Wheezy default which is at 1.7. Using backports, trying to get a recent icinga-web
Had to change the port that postgresql 9.3 was listening on -- apparently they put it on port 5433 to allow 9.1 and 9.3 to run at the same time.
wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add - echo "deb http://debmon.org/debmon debmon-wheezy main" > /etc/apt/sources.list.d/icinga2.list apt-get upgrade apt-get update apt-get install icinga2 icinga-web
I wonder if I should try the icinga web 2 user interface... last update in Git was 3 minutes ago... methinks not. Learn released version first, update later.
update-rc.d icinga disable