Server/icinga

Aus C3D2
Wechseln zu: Navigation, Suche

Idee

Die Idee ist, ein Monitoring-System für das gesamte Zentralwerk zu schaffen. Genutzt werden soll Icinga2 mit Icingaweb2. Laufen soll das ganze in einem LXC bzw. auf einem Pi.

Details

  • evtl. Umzug auf nen gesponsorten Pi
  • IPv4: 172.22.99.57/24
  • IPv6: 2001:470:6d:670:a8bb:76ff:fe29:bbaa/64
  • WebGUI von extern nur via v6 erreichbar
  • https://monitoring.hq.c3d2.de/icingaweb2
  • Zertifikat via Letsencrypt

Ansprechpartner: TonyBoston

Installation

  • raspberry pi 2 mit raspbian
  # Repo key import
  wget -O - https://packages.icinga.com/icinga.key | apt-key add -
  echo 'deb https://packages.icinga.com/debian icinga-jessie main' >/etc/apt/sources.list.d/icinga.list
  apt-get update
  
  # install icinga2 + nagios-plugins
  apt install icinga2
  apt install nagios-plugins
  systemctl enable icinga2
  
  # install syntax highlighting for vim
  apt install vim-icinga2 vim-addon-manager
  vim-addon-manager -w install icinga2
  
  # install icinga2-postgres module
  apt install icinga2-ido-pgsql
  
  # create icinga2 DB's + user
  su -u postgres
  psql
  CREATE ROLE icinga WITH LOGIN PASSWORD '***'
  createdb -O icinga -T template0 -E UTF8 icinga
  grant all privileges on database icinga to icinga;
  createdb -O icinga -T template 0 -E UTF8 icinga2_users
  grant all privileges on database icinga2_users to icinga;

  # create pgadmin and fix access to db
  createuser --superuser pgadmin --pwprompt
  vim /etc/postgresql/9.4/main/pg_hba.conf
  host    all             all             172.22.99.57/32         md5
  
  # import postgresql schema into icinga db and activate it
  scp /usr/share/icinga2-ido-pgsql/schema/pgsql.sql root@psql.hq.c3d2.de:/tmp/
  psql -d icinga < /tmp/pgsql.sql
  sudo icinga2 feature enable ido-pgsql
  sudo systemctl restart icinga2
  
  # add stretch repo
  echo 'deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi' >> /etc/apt/sources.list
  
  # install apache2 from strwetch repo
  apt install -t stretch apache2 
  icinga2 feature enable command
  systemctl restart icinga2
  usermod -a -G nagios www-data

  # edit postgres module conf and add correct values
  vim features-enabled/ido-pgsql.conf
  
  # install php7
  apt install -t stretch php7.0 php7.0-curl php7.0-gd php7.0-cli php7.0-json php7.0-mbstring php7.0-xml php7.0-zip php7.0-pgsql

  # fix date.timezone in php.ini
  vim /usr/lib/php/7.0/apache2/php.ini
  date.timezone = Europe/Berlin
  
  # install icingaweb2
  apt install -t stretch icingaweb2

ToDo

  • Access Point sollen via simplen HostAlive gecheckt werden
  • Switches sollten wenn möglich per SNMP gecheckt werden
  • bei Storage Systemen sollte der Icinga-Agent installiert werden (funzt nicht für FreeNAS)
  • Grafana
  • Netzplan/NagVis
  • es soll das Zentralwerk-Netzwerk darstellbar sein und mit Abhängigkeiten der Dienste im Icinga eingebaut werden