CIV:Granty/Moderní monitoring IT infrastruktury/Workshop
Z HelpDesk
Instalace
Průvodce instalací
- Získání tokenu
usermod -a -G icingaweb2 www-data icingacli setup config directory --group icingaweb2 icingacli setup token create The newly generated setup token is: xxxxxxxxxxxxxxxxxxxx
- Nastaveni databáze
Resource Name: icingaweb_db Database Type: PostgreSQL Host: localhost Port: 5432 Databese Name: icinga2 Username: icinga2 Password: z výstupu ansible Character Set: utf8 Use SSL: -> Validate Configuration -> Next
- Nastavení Backendu
Backend Name: icingaweb2 -> Next
- Nastavení administratora:
Username: admin Password: mojeadminheslo Repeat password: mojeadminheslo -> Next
- Základní nastavení aplikace: ponechat defaultní
-> Next
- Přehledová stránka
-> Next
- Welcome
-> Next
- Backend monitoringu
Backend Name: icinga Backend Type: IDO -> Next
- Vytvoření databáze pro monitoring:
- Monitoring IDO Resource
Resource Name: icinga_ido Database Type: PostgreSQL Host: localhost Port: 5432 Databese Name: icinga Username: icinga Password: Character Set: utf8 Use SSL: -> Validate Configuration -> Next
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
- 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
- Vytvoření schématu
export PGPASSWORD=icinga psql -h localhost -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: monitoring_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