CIV:Granty/Moderní monitoring IT infrastruktury/Workshop

Z HelpDesk

Instalace

Konfigurace

Modul Director

  • Příprava databáze (v našem případe PostgreSQL)
su postgres
cd /tmp
psql -q -c "CREATE DATABASE director WITH ENCODING 'UTF8';"
psql director -q -c "CREATE USER director WITH PASSWORD 'some-password'";
psql director -q -c "GRANT ALL PRIVILEGES ON DATABASE director TO director;"
exit
  • Příprava uživatele pro import dat z Directoru:
apt-get install php-curl
cat > /etc/icinga2/conf.d/api-users.conf << EOF
object ApiUser "director" {
  password = "other-password"
  permissions = [ "*" ]
}

EOF
  • vytvoření certifikátů, okopírování na správná místa a nastavení práv
SERVERNAME=$HOSTNAME.zcu.cz
cd /tmp
icinga2 pki new-ca
icinga2 pki new-cert --cn $SERVERNAME --key $SERVERNAME.key --csr $SERVERNAME.csr
icinga2 pki sign-csr --csr $SERVERNAME.csr --cert $SERVERNAME.crt
mkdir -p /var/lib/icinga2/certs
cp $SERVERNAME.{crt,key} /var/lib/icinga2/certs
cp /var/lib/icinga2/ca/ca.crt /var/lib/icinga2/certs
chown -R nagios:nagios /var/lib/icinga2/certs
chmod 600 /var/lib/icinga2/certs/*.key
chmod 644 /var/lib/icinga2/certs/*.crt
  • Zrušení předdefinované konfigurace
mv /etc/icinga2/conf.d /etc/icinga2/conf.d.orig
rm /etc/icinga2/conf.d/{apt,downtimes,groups,hosts,notifications,services}.conf
  • Povoleni API na Icinga2:
icinga2 feature enable api
systemctl restart icinga2
  • Nastavení resources pro databázi
ICINGA -> Configuration -> Application -> Resources -> Create a New Resource:
Resource Type: SQL
Resource Name: director_db
Database Type: PostgreSQL
Host:          localhost
Port:          5432
Database Name: director
Username:      director
Password:      some-password
Character Set: utf8
Use SSL:       No
-> Validate Configuration -> Save Changes
  • Instalace
git clone https://github.com/Icinga/icingaweb2-module-director /usr/share/icingaweb2/modules/director
ICINGA -> Configuration -> Modules -> Director -> enable -> Configuration:
DB Resource: director_db -> Create Database Schema
Endpoint Name: aetherXY.zcu.cz
Icinga Host: aetherXY.zcu.cz
Port: 5665
API user: director
Cluster zone:
-> Import
-> Store configuration
  • Deploy připravené konfigurace
Icinga Director -> Deployments -> Render config

Monitorujeme

  • Instalace monitorovaciho rozhrani
apt-get install icingaweb2-module-monitoring -t stretch-backports
  • Vytvoření databáze databáze
cd /tmp
sudo -u postgres psql -c "CREATE ROLE icinga WITH LOGIN PASSWORD 'icinga'"
sudo -u postgres createdb -O icinga -E UTF8 icinga
  • Upravit autentizaci do podoby (tučně jsou změněné/přidané části):
vim /etc/postgresql/9.6/main/pg_hba.conf
local   all         postgres                            peer

local   all         all                                 ident
host    all         all         127.0.0.1/32            ident
host    all         all         ::1/128                 ident

local   icinga      icinga                            md5
host    icinga      icinga      127.0.0.1/32          md5
host    icinga      icinga      ::1/128               md5
  • Restart databáze a vytvoření schématu
 systemctl restart postgresql
 export PGPASSWORD=icinga
 psql -U icinga -d icinga < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql


  • Povolení PostgreSQL IDO přístupu k Icinze:
icinga2 feature enable ido-pgsql
systemctl restart icinga2
Configuration -> Modules -> monitoring -> enable -> Backends -> Create a new Monitoring Backend:
Backend Name: Icinga2
Backend Type: IDO
Resource: icingaweb_db
-> Save Changes


  • vlastniho hosta
  • icinga agent na cizím stroji

Rozšíření

  • modul pro RT
  • modul pro mapy

Ostatní

  • ukázka monitoringu na ZČU
    • dashboardy
    • director
    • grafana
    • automatizace
      • LDAP, DNS
      • cfengine - JSON API