Icinga2
Icinga2 on Nagios tapainen OpenSource monitorintiohjelma.
Sisällysluettelo
Asennus
Asenna vaaditut paketit
sudo apt-get install apache2 mysql-server mysql-client mailutils
Lisää APT key
wget -O - http://packages.icinga.org/icinga.key | apt-key add -
Lisää source.listiin:
Ubuntu: http://packages.icinga.org/ubuntu/
Debian: http://packages.icinga.org/debian/
Asenna sitten Icinga paketti
sudo aptitude update sudo aptitude install icinga2 icingaweb2
Asenna IDO MySQL moduuli
sudo apt-get install icinga2-ido-mysql
icinga2 feature enable ido-mysql
Käynnistä Icinga2 uudelleen kun moduuli on otettu käyttöön
service icinga2 restart
Muuta oikeudet /etc/icingaweb2 hakemistoon
chown www-data:www-data -R /etc/icingaweb2
usermod -a -G icingaweb2 www-data
Konfiguroi webympäristö
addgroup --system icingaweb2
Jatka asennusta webympäristössä, http://palvelimen-ip/icingaweb2
Konfigurointi
Palvelin konfigurointi
Ilmoitusasetukset
Icinga tukee Nagioksen tavoin sähköposti-ilmoituksia ja voit konfiguroida kohde osoitteen. Sähköposti-ilmoitukset lähetetään mailutils paketin avulla, varmistathan että sinulla on tämä asennettu.
sudo nano /etc/icinga2/conf.d/users.conf
Muuta tiedostosta sähköposti-osoite vastaamaan omaasi.
object User "icingaadmin" { import "generic-user" display_name = "Icinga 2 Admin" groups = [ "icingaadmins" ] email = "root@localhost" }
Linux Client konfigurointi
Asenna
aptitude update && aptitude install icinga2
- master on icinga master palvelin jonne data tallennetaan. Tätä osoite on icinga.example.org ja IP: 172.16.1.10
- clienttinä on client1.example.org ja IP: 172.16.1.9
Luo palvelimella avain asiakkaan CN:n eli domain nimellä
icinga2 pki ticket --cn 'client1.example.org'
Kopioi tulostuva tikettinumero talteen.
- Asenna siis ekaksi icinga2 paketti clientille
- Aja clientilla seuraavaksi komento jolla yhdistät clientin masteriin.
icinga2 node wizard
Noden asennusvelho kyselee tiettyjä asetuksia ja vastaa seuraavasti
Welcome to the Icinga 2 Setup Wizard! We'll guide you through all required configuration details. Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: y Starting the Node setup routine... Please specifiy the common name (CN) [client1.example.org]: Please specify the master endpoint(s) this node should connect to: Master Common Name (CN from your master setup): icinga.example.org Do you want to establish a connection to the master from this node? [Y/n]: y Please fill out the master connection information: Master endpoint host (Your master's IP address or FQDN): 172.16.1.10 Master endpoint port [5665]: Add more master endpoints? [y/N]: n Please specify the master connection for CSR auto-signing (defaults to master endpoint host): Host [172.16.1.10]: Port [5665]:
- Tämän jälkeen kopioi masterin luoma tikettikoodi
Please specify the request ticket generated on your Icinga 2 master. (Hint: # icinga2 pki ticket --cn 'client1.example.org'):
Tämän jälkeen muuta masterin konfiguraatiota:
sudo nano /etc/icinga2/zones.conf
object Endpoint "client1.example.org" { host = "172.16.1.9" } object Zone "client1.example.org" { endpoints = [ "client1.example.org" ] parent = NodeName }
Avaa lisäksi /etc/icinga2/conf.d/hosts.conf
ja lisää konfiguraatioon
object Host "client1.example.org" { import "generic-host" address = "172.16.1.9" address6 = "::1" vars.os = "Linux" vars.remote_client = "client1.example.org" /* host specific check arguments */ vars.users_wgreater = 10 vars.users_cgreater = 20 }
Tällä mahdollistat palveluiden haun etä icingasta.
sudo nano /etc/icinga2/conf.d/services.conf
apply Service "users" { import "generic-service" check_command = "users" command_endpoint = host.vars.remote_client /* override (remote) command arguments with host settings */ vars.users_wgreater = host.vars.users_wgreater vars.users_cgreater = host.vars.users_cgreater /* assign where a remote client is set */ assign where host.vars.remote_client }
Käynnistä icinga2 uudelleen
sudo service icinga2 restart
Lisämoduulit
Graphite Icinga2:een
Asenna seuraavat moduulit
sudo apt-get update sudo apt-get install graphite-web graphite-carbon
Asenna MySQL
sudo apt-get install mysql-server mysql-client
Luo MySQL:ään
- Tietokanta graphite:lle täysillä oikeuksilla
- Käyttäjätunnus ja salasana
Konfiguroi Graphite Web sovellus
Avaa Graphite web sovelluksen konfigurointi tiedosto
sudo nano /etc/graphite/local_settings.py
Luo secret_key jota käytetään hashinä. Poista kommentti ja määritä siihen pitkä hash. Muuta hash.
SECRET_KEY = '<changethis>'
Seuraavaksi määritetään aikavyöhyke oikein. Tämä on tärkeä olla oikein koska sitä käytetään grafiikan ajoituksissa
TIME_ZONE = 'Europe/Helsinki'
Lisäksi haluamme konfiguroida todennuksen tallentaakseen graphic dataa. Kun synkronoidaan tietokantaan, luomme käyttäjän mutta täytyy ottaa käyttöön todennus
USE_REMOTE_USER_AUTHENTICATION = True
Nyt on aika konfiguroida tietokanta-asetukset.
DATABASES = { 'default': { 'NAME': 'graphite', 'ENGINE': 'django.db.backends.mysql', 'USER': 'graphite', 'PASSWORD': 'databasepassword', 'HOST': 'localhost', 'PORT': '3306' } }
Tallenna ja sulje.
Seuraavaksi synkronoidaan tiedot tietokantaan
sudo graphite-manage syncdb
Sinulta kysellään superkäyttäjän luomista. Luo käyttäjä jolla pääset kirjautumaan selaimella. Tällä voit tallentaa grafiikoita ja muokata näkymää.
Nyt kun tietokanta on konfiguroitu, tulee konfiguroida carbon, Graphite tallennus ohjelman
sudo nano /etc/default/graphite-carbon
Täälä on vain yksi parametri joka pitää ottaa käyttöön
CARBON_CACHE_ENABLED=true
Sulje ja tallenna. Seuraavaksi avaa Carbonin konfigurointi tiedosto
sudo nano /etc/carbon/carbon.conf
Jossa tehdään pieni muutos
ENABLE_LOGROTATION = True
Kun kaikki on valmista voit käynnistää Carbon palvelun
sudo service carbon-cache start
Web interfacea varten sinun tulee asentaa Apacheen wsgi moduulin
sudo apt-get install apache2 libapache2-mod-wsgi
Kopioi oletuskonfiguraatio
sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available
Ota se käyttöön
sudo a2ensite apache2-graphite
Lataa Apache2 konfiguraatio uudelleen
sudo service apache2 reload
---
Ota sitten käyttöön Icingassa graphite moduuli
sudo icinga2 feature enable graphite
Käynnistä Icinga uudelleen.