Monthly Archive August 2016

Grafana für Icinga2

Grafana ist eine der meist kommerziell genutzen OpenSource Software zur Visualisierung verschiedener Performance-Daten für Hard und Software. Daher ist es perfekt geeignet um die Daten aus Icinga (Graphite) zu visualisieren.

 

Quelle:
http://docs.grafana.org/installation/rpm/

 

[root@vlicinga002 ~]# yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm

 

Abhängigkeiten aufgelöst

===========================================================================================================================================================================================================
 Package                                 Arch                                   Version                                             Paketquelle                                                      Größe
===========================================================================================================================================================================================================
Installieren:
 grafana                                 x86_64                                 3.1.1-1470047149                                    /grafana-3.1.1-1470047149.x86_64                                 113 M

Transaktionsübersicht
===========================================================================================================================================================================================================
Installieren  1 Paket

 

Services anpassen (automatisch Start, Service starten)

[root@vlicinga002 ~]# systemctl start grafana-server
[root@vlicinga002 ~]# systemctl enable grafana-server.service


[root@vlicinga002 ~]# systemctl status grafana-server
● grafana-server.service - Starts and stops a single grafana instance on this system
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Di 2016-08-16 14:24:43 CEST; 31s ago
     Docs: http://docs.grafana.org
 Main PID: 16411 (grafana-server)
   CGroup: /system.slice/grafana-server.service
           └─16411 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/...

Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Executing migration" logger=migrator id="create playlist table v2"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Executing migration" logger=migrator id="create playlist item table v2"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Executing migration" logger=migrator id="drop preferences table v2"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Executing migration" logger=migrator id="drop preferences table v3"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Executing migration" logger=migrator id="create preferences table v3"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Created default admin user: [admin]"
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Starting plugin search" logger=plugins
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=warn msg="Plugin dir does not exist" logger=plugins dir=/var/lib/grafana/plugins
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Plugin dir created" logger=plugins dir=/var/lib/grafana/plugins
Aug 16 14:24:44 vlicinga002.localhost grafana-server[16411]: t=2016-08-16T14:24:44+0200 lvl=info msg="Server Listening" logger=server address=0.0.0.0:3000 protocol=http subUrl=

 

Website öffnen:
http://IP-SERVER:3000/login
Username: admin
Passwort: admin

Grafana_Install (1)

DataSource einrichten

Grafana_Install (2)

Grafana_Install (3)

Grafana_Install (4)

Dashboard anlegen und Graphen nach belieben hinzufügen

Grafana_Install (5)

 

Graphite in IcingaWeb2 einbinden (Performancedaten)

Graphite ist eine Open Source Graphing Lösung, die stark auf Flexibilität und Performance ausgelegt ist. Somit eignet sich Graphite perfekt zum Erfassen von Daten aus einem Monitoring System wie Icinga2.
Installation unter CentOS7 mit Icinga2, IcingaWeb2.

Derzeit befindet sich Graphite noch in einer Vorabversion, daher wird es offiziell nicht unterstützt.

Voraussetzungen:
CentOS7 Betriebsystem
Icinga2 & IcingaWeb2 Installation

Keine Voraussetzung aber interessant:

Windows Clients via Icinga Agent überwachen
Icinga Director installieren
Dashing für Icinga2 installieren

Installation:

Benötigte Pakete nachinstallieren

[root@centos7_icinga2_demo ~]# yum install python-whisper python-carbon graphite-web MySQL-python uwsgi-plugin-carbon

Abhängigkeiten aufgelöst

================================================================================
 Package                           Arch       Version            Paketquelle
                                                                          Größe
================================================================================
Installieren:
 MySQL-python                      x86_64     1.2.3-11.el7       base      82 k
 graphite-web                      noarch     0.9.15-1.el7       epel     1.8 M
 python-carbon                     noarch     0.9.15-1.el7       epel     109 k
 python-whisper                    noarch     0.9.15-1.el7       epel      42 k
 uwsgi-plugin-carbon               x86_64     2.0.12-2.el7       epel      22 k
Als Abhängigkeiten installiert:
 mod_wsgi                          x86_64     3.4-12.el7_0       base      76 k
 pyOpenSSL                         x86_64     0.13.1-3.el7       base     133 k
 pyserial                          noarch     2.6-5.el7          base     124 k
 python-django                     noarch     1.6.11-5.el7       epel     4.0 M
 python-django-bash-completion     noarch     1.6.11-5.el7       epel      16 k
 python-django-tagging             noarch     0.3.1-11.el7       epel      58 k
 python-simplejson                 x86_64     3.3.3-1.el7        epel     171 k
 python-twisted-core               x86_64     12.2.0-4.el7       base     2.5 M
 python-zope-interface             x86_64     4.0.5-4.el7        base     138 k
 uwsgi                             x86_64     2.0.12-2.el7       epel     359 k
 uwsgi-plugin-common               x86_64     2.0.12-2.el7       epel      47 k

Transaktionsübersicht
================================================================================
Installieren  5 Pakete (+11 Abhängige Pakete)

IcingaWeb2 Modul herunterladen

wget https://github.com/philiphoy/icingaweb2-module-graphite/archive/master.zip

Entpacken

unzip master.zip -d /usr/share/icingaweb2/modules

Ordner in das Icinga Modul Verzeichnis verschieben

mv /usr/share/icingaweb2/modules/icingaweb2-module-graphite-master/ /usr/share/icingaweb2/modules/graphite/

Pyton Carbon Konfiguration anpassen

vim /etc/carbon/carbon.conf

Vorher: 
ENABLE_LOGROTATION = False

Nachher:
ENABLE_LOGROTATION = True

Storage-Schema Konfiguration anpassen

vim /etc/carbon/storage-schemas.conf

[carbon]
pattern = ^carbon\.
retentions = 60:90d
 
[icinga2_default]
pattern = ^icinga2\.
retentions = 1m:2d,5m:10d,30m:90d,360m:4y
 
[default_1min_for_1day]
pattern = .*
retentions = 60s:1d

 

SQL-Datenbank anlegen

mysql -h localhost -u root -p


MariaDB [(none)]> CREATE DATABASE graphite;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON graphite.* TO 'graphite_user'@'localhost' IDENTIFIED BY 'BUsq4abGxrPysYeqdq61eujDlSHKv1xNyww';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON graphite.* TO 'graphite_user'@'127.0.0.1' IDENTIFIED BY 'BUsq4abGxrPysYeqdq61eujDlSHKv1xNyww';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> GRANT ALL ON graphite.* TO 'graphite_user'@'::1' IDENTIFIED BY 'BUsq4abGxrPysYeqdq61eujDlSHKv1xNyww';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Konfigurationsdatei „Graphite-Web“ anpassen

vim /etc/graphite-web/local_settings.py

vorher:
#SECRET_KEY = 'UNSAFE_DEFAULT'
#TIME_ZONE = 'America/Los_Angeles'

#DATABASES = {
#    'default': {
#        'NAME': '/opt/graphite/storage/graphite.db',
#        'ENGINE': 'django.db.backends.sqlite3',
#        'USER': '',
#        'PASSWORD': '',
#        'HOST': '',
#        'PORT': ''
#    }
#}
#

nachher: 
SECRET_KEY = '1r3ou$lSg71#cb2coery^hjbyc@6@yynfmd1$493^k8=l$lrs7'
TIME_ZONE = 'Europe/Berlin'

DATABASES = {
    'default': {
        'NAME': 'graphite',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'graphite_user',
        'PASSWORD': 'BUsq4abGxrPysYeqdq61eujDlSHKv1xNyww',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

 

Whisper DB befüllen

[root@centos7_icinga2_demo ~]# /usr/lib/python*/site-packages/graphite/manage.py syncdb
Creating tables ...
Creating table account_profile
Creating table account_variable
Creating table account_view
Creating table account_window
Creating table account_mygraph
Creating table dashboard_dashboard_owners
Creating table dashboard_dashboard
Creating table events_event
Creating table url_shortener_link
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_session
Creating table django_admin_log
Creating table django_content_type
Creating table tagging_tag
Creating table tagging_taggeditem

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'):
Email address:
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

 

Apache V-Host config anpassen

vim /etc/httpd/conf.d/graphite-web.conf

vorher:
<VirtualHost *:80>
    ServerName graphite-web
    DocumentRoot "/usr/share/graphite/webapp"
    ErrorLog /var/log/httpd/graphite-web-error.log
    CustomLog /var/log/httpd/graphite-web-access.log common

    # Header set Access-Control-Allow-Origin "*"
    # Header set Access-Control-Allow-Methods "GET, OPTIONS"
    # Header set Access-Control-Allow-Headers "origin, authorization, accept"
    # Header set Access-Control-Allow-Credentials true

    WSGIScriptAlias / /usr/share/graphite/graphite-web.wsgi
    WSGIImportScript /usr/share/graphite/graphite-web.wsgi process-group=%{GLOBAL} application-group=%{GLOBAL}

    <Location "/content/">
        SetHandler None
    </Location>

    Alias /media/ "/usr/lib/python2.7/site-packages/django/contrib/admin/media/"
    <Location "/media/">
        SetHandler None
    </Location>

   <Directory "/usr/share/graphite/">
       <IfModule mod_authz_core.c>
           # Apache 2.4
           Require local
       </IfModule>
       <IfModule !mod_authz_core.c>
           # Apache 2.2
           Order Deny,Allow
           Deny from all
           Allow from 127.0.0.1
           Allow from ::1
       </IfModule>
   </Directory>
</VirtualHost>



nachher:

  # Graphite Web Basic mod_wsgi vhost

<VirtualHost *:80>
    ServerName graphite-web
    DocumentRoot "/usr/share/graphite/webapp"
    ErrorLog /var/log/httpd/graphite-web-error.log
    CustomLog /var/log/httpd/graphite-web-access.log common

    # Header set Access-Control-Allow-Origin "*"
    # Header set Access-Control-Allow-Methods "GET, OPTIONS"
    # Header set Access-Control-Allow-Headers "origin, authorization, accept"
    # Header set Access-Control-Allow-Credentials true

    WSGIScriptAlias / /usr/share/graphite/graphite-web.wsgi
    WSGIImportScript /usr/share/graphite/graphite-web.wsgi process-group=%{GLOBAL} application-group=%{GLOBAL}

    <Location "/content/">
        SetHandler None
    </Location>

    Alias /media/ "/usr/lib/python2.7/site-packages/django/contrib/admin/media/"
    <Location "/media/">
        SetHandler None
    </Location>

   <Directory "/usr/share/graphite/">
    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAll>
            Require all granted
        </RequireAll>
    </IfModule>

    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order allow,deny
        Allow from all
    </IfModule>
   </Directory>
</VirtualHost>

WebServer neustaten

systemctl restart httpd.service

Graphite Modul Konfiguration anlegen dabei ist zu beachten das man unter Konfiguration -> Module -> Graphite -> im Tab Configuration eine bsp. Config erhält.
Diese kopieren und in die config.ini einfügen.

Webkonfiguration
Konfiguration -> Module -> Graphite -> aktivieren

graphine_1

Config-Vorlage kopieren.

graphine_3

 

mkdir /etc/icingaweb2/modules/graphite

vim /etc/icingaweb2/modules/graphite/config.ini

 

[graphite]
metric_prefix = icinga2
base_url = http://<<IP-ADRESSE DES SERVERS>>/render?
legacy_mode = false
;if legacy mode is false (2.4 and newer):
service_name_template = "icinga2.$host.name$.services.$service.name$.$service.check_command$.perfdata.$metric$.value"
host_name_template = "icinga2.$host.name$.host.$host.check_command$.perfdata.$metric$.value"
;if legacy mode is true (pre 2.4):
;service_name_template = "icinga.$host.name$.services.$service.name$.$service.check_command$"
;host_name_template = "icinga.$host.name$.host.$host.check_command$"
;this template is used for the small image, macro $target$ can used.
graphite_args_template = "&target=$target$&source=0&width=300&height=120&hideAxes=true&lineWidth=2&hideLegend=true&colorList=049BAF"
;this template is used for the large image, macro $target$ can used.
;graphite_large_args_template = "&target=alias(color($target$_warn,'yellow'),'warning')&target=alias(color($target$_crit,'red'),'critical')&target=$target$&source=0&width=800&height=700&colorList=049BAF&lineMode=connected"
graphite_iframe_w=800px
graphite_iframe_h=700px

Diensteanpassungen durchführen

systemctl start carbon-cache.service

systemctl enable carbon-cache.service

systemctl status carbon-cache.service

Icinga2 Feature aktivieren

icinga2 feature enable graphite

systemctl restart icinga2

Dienst anschauen

graphine_2

 

 

Icinga2 auf Raspi3 in 20 Minuten installieren

Raspberry Pi 3 und Icinga2 incl. IcingaWeb2 sind eine super Kombination um in kleineren Netzwerken bis ca. 100 Hosts ein schnelles Monitoring zu implementieren.
In diesem Tutorial beschreibe ich wie schnell man den Raspi installiert und ein lauffähiges Icinga2 + IcingaWeb2 auf dem Raspi installiert.
Das ganze System ist dabei in ca. 20 Minuten voll einsatzbereit!

Nachdem wir das Image bei „https://www.raspberrypi.org/“ herunter geladen haben und via Win32DiskImager auf die SD-Karte kopiert haben, starten wir den Raspi – dabei bekommt der Raspi im Netzwerk via DHCP Adresse eine IP-Adresse zugewiesen.

Mit dem Advanced IP-Scanner suchen wir das Gerät und melden uns via SSH (Putty) auf dem Raspi an.

Login Daten:
Username: pi
Passwort: raspberry

Grundsetup durchführen (Kennwort ändern und Festplatte vergrößern)

sudo raspi-config

Expand FileSystem (siehe Video)
Set Password (siehe Video)

Hostname anpassen

sudo vi /etc/hostname
sudo vi /etc/hosts
sudo reboot

Icinga2 + IcingaWeb2 installieren

sudo apt-get update
sudo -s
wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add -

echo 'deb http://debmon.org/debmon debmon-jessie main' >/etc/apt/sources.list.d/debmon.list

apt-get update

apt-get install icinga2 -y

apt-get install php5-mysql mysql-server icinga2-ido-mysql apache2 libapache2-mod-php5 mysql-client php5-intl imagemagick php5-imagick php5-pgsql -y

MYSQL Kennwort definieren; MYSQL ILO Aktivieren

Features aktivieren

icinga2 feature enable ido-mysql

icinga2 feature enable command

Icinga neustarten bevor IcingaWeb2 installiert wird

service icinga2 restart

IcingaWeb2 installieren

apt-get install icingaweb2 -y

Benutzerrechte anpassen

usermod -a -G nagios www-data

Icingacli Config anpassen

icingacli setup config directory

Icinga Setup Token erstllen (wird später im WebSetup benötigt)

icingacli setup token create

letzte Anpassungen für IcingaWeb2

mkdir /etc/icingaweb2/modules/monitoring
chown root:icingaweb2 /etc/icingaweb2/modules/monitoring/
chmod g+w /etc/icingaweb2/modules/monitoring/
chmod g+w /var/run/icinga2/cmd/

PHP.ini anpassen

sed -i 's$;date.timezone =$date.timezone = Europe/Berlin$g' /etc/php5/apache2/php.ini
sed -i 's$;date.timezone =$date.timezone = Europe/Berlin$g' /etc/php5/cli/php.ini

letzter neustart vor dem Websetup

service apache2 restart

Websetup durchführen:

http://lokaleipadresse/icingaweb2/setup

Das Websetup wird Schritt für Schritt noch einmal im Video gezeigt.

CentOS7 auf Raspi 3 installieren

Da ich im nächsten Schritt gerne Icinga2 und IcingaWeb2 auf einen Raspi 3 installieren möchte – möchte ich hier einmal beschreiben wir man CentOS7 auf den Raspi zu installieren.

Zuerst Laden wir das CentOS7 Image herunter

http://mirror.centos.org/altarch/7/isos/armhfp/

Ebenfalls brauchen wir ein Tool zum kopieren des IMG auf die SD-Karte

https://sourceforge.net/projects/win32diskimager/

Entpacken des IMG. Hierzu einfach 7-Zip benutzen

Unzip 7-Zip das *.img.xz to *.img

Mit Win32 Disk Imager das Image auf den Raspi spielen.

 

CentOS_on_Raspi (1)

CentOS_on_Raspi (2)

CentOS_on_Raspi (3)

CentOS_on_Raspi (4)

der Raspi ist jetzt bereit zum Booten, Netzwerkkabel anschließen, SD-Karte einstecken und Stom einstecken.

Im Netzwerk bekommt der Raspi seine IP-Konfiguration über einen DHCP-Server zugewiesen.

Login auf dem Raspi:

User: root
Passwort: centos

 

Hostname anpassen

[root@centos-rpi3 ~]# hostnamectl status
   Static hostname: centos-rpi3
         Icon name: computer
        Machine ID: c86851c595a149019a820550c3ccec08
           Boot ID: 65a32a6d55fc4fce9ff22d0bc6353e2b
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.1.19-v7
      Architecture: arm

[root@centos-rpi3 ~]# hostnamectl set-hostname icingaras01

[root@centos-rpi3 ~]# hostnamectl status
   Static hostname: icingaras01
         Icon name: computer
        Machine ID: c86851c595a149019a820550c3ccec08
           Boot ID: 65a32a6d55fc4fce9ff22d0bc6353e2b
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.1.19-v7
      Architecture: arm

 

 

 

Icinga2 Dashing installieren

Dashing ist auf Sinatra basierendes Framework, mit dem man sehr schöne Dashboards bauen kann.

 

In das Verzeichnis /usr/share wechseln

[root@vlicinga002 ~]# cd /usr/share/

Pakete nachinstallieren

[root@vlicinga002 share]# yum install ruby ruby-devel nodejs

Abhängigkeiten aufgelöst

================================================================================
 Package                 Arch        Version                    Paketquelle
                                                                          Größe
================================================================================
Installieren:
 nodejs                  x86_64      0.10.42-4.el7              epel      2.0 M
 ruby                    x86_64      2.0.0.598-25.el7_1         base       67 k
 ruby-devel              x86_64      2.0.0.598-25.el7_1         base      127 k
Als Abhängigkeiten installiert:
 libuv                   x86_64      1:0.10.34-2.el7            epel       62 k
 libyaml                 x86_64      0.1.4-11.el7_0             base       55 k
 ruby-irb                noarch      2.0.0.598-25.el7_1         base       88 k
 ruby-libs               x86_64      2.0.0.598-25.el7_1         base      2.8 M
 rubygem-bigdecimal      x86_64      1.2.0-25.el7_1             base       79 k
 rubygem-io-console      x86_64      0.4.2-25.el7_1             base       50 k
 rubygem-json            x86_64      1.7.7-25.el7_1             base       75 k
 rubygem-psych           x86_64      2.0.0-25.el7_1             base       77 k
 rubygem-rdoc            noarch      4.0.0-25.el7_1             base      318 k
 rubygems                noarch      2.0.14-25.el7_1            base      212 k

Transaktionsübersicht
================================================================================
Installieren  3 Pakete (+10 Abhängige Pakete)

 

Bundler installieren

[root@vlicinga002 share]# gem install bundler

Dashing installieren

[root@vlicinga002 share]# gem install dashing

Exexjs installieren

[root@vlicinga002 dashing-icinga2]# gem install execjs

api-user.conf anpassen

[root@vlicinga002 ~]# vim /etc/icinga2/conf.d/api-users.conf

folgendes ergänzend eintragen

object ApiUser "dashing" {
password = "icinga2ondashingr0xx"
permissions = [ "status/query", "objects/query/*" ]
}

Icinga2 Service neustarten

[root@vlicinga002 ~]# systemctl restart icinga2

Git Repo von Dashing herunterladen

[root@vlicinga002 ~]# git clone https://github.com/Icinga/dashing-icinga2.git

Ins Dashing Verzeichnis wechseln

[root@vlicinga002 ~]# cd dashing-icinga2/

Bundle ausführen

[root@vlicinga002 ~]# bundle install --path binpaths

Dashing starten

[root@vlicinga002 ~]# ./restart-dashing
Restarted Dashing with PID 10083 listening on port 8005.

http://serveradresse:8005 öffnen

dashing1

 

Da mich aktuell nicht nur interessiert wieviele Hosts oder Services Probleme haben – sondern vorallem welcher – habe ich das widget „Iframe“ bentutz um IcingaWeb2 ebenfalls in Dashing einzubauen.

Hierzu habe ich folgende Anpassungen durchgeführt:

unter /usr/share/dashing-icinga2/widgets/iframe

folgende Dateien anpassen (alle): iframe.coffee; iframe.html, iframe.scss

iframe.coffee

[root@vlicinga002 iframe]# cat iframe.coffee

class Dashing.Iframe extends Dashing.Widget

  ready: ->
    $(@node).find(".iframe").attr('src', @get('src'))

  onData: (data) ->
    $(@node).find(".iframe").attr('src', data.src)

iframe.html

[root@vlicinga002 iframe]# cat iframe.html
<iframe class=“iframe“ data-bind-src=“src“ scrolling=“no“></iframe>

iframe.scss

[root@vlicinga002 iframe]# cat iframe.coffee
class Dashing.Iframe extends Dashing.Widget

  ready: ->
    $(@node).find(".iframe").attr('src', @get('src'))

  onData: (data) ->
    $(@node).find(".iframe").attr('src', data.src)
[root@vlicinga002 iframe]# cat iframe.html
<iframe class="iframe" data-bind-src="src" scrolling="no"></iframe>
[root@vlicinga002 iframe]# cat iframe.scss
// ----------------------------------------------------------------------------
// Sass declarations
// ----------------------------------------------------------------------------
$background-color:  #FFF;

$title-color:       #333;
$moreinfo-color:    #333;

$iframe-background:  darken($background-color, 25%);

// ----------------------------------------------------------------------------
// Widget-iframe styles
// ----------------------------------------------------------------------------
.widget-iframe {

  background-color: $background-color;
  padding: 0 !important;
  margin: 0 !important;

  iframe {
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
  }

}

Nun müssen wir das Widget im Dashboard plazieren hierzu das Dashboard im editor öffnen:

[root@vlicinga002 dashboards]# vi /usr/share/dashing-icinga2/dashboards/icinga2.erb

 

Und folgendes zwischen dem letzen </li> und dem </ul> einfügen

<!-- IcingaWeb2 -->
<li data-row="1" data-col="1" data-sizex="2" data-sizey="3">
      <div data-id="iframeId1" data-view="Iframe" data-src="http://10.61.0.152/icingaweb2/"></div>
</li>

Um jetzt das ganze auf FullHD anzupassen muss die größe der angzeigten Widgets angepasst werden. Hierzu die application.coffee anpassen.

[root@vlicinga002 javascripts]# vi /usr/share/dashing-icinga2/assets/javascripts/application.coffee

Folgende Zeile muss angepasst werden (erster Wert = breite, zweiter Wert = höhe)

Dashing.widget_base_dimensions ||= [300, 353]

Interessant ist auch der Wert von „Dashing.numColumns“ dieser gibt an – wieviel Widgets pro Zeile angezeigt werden soll.

 

dashing-problem2

IMG_3641

 

 

Icinga Agent – erster Windows Client überwachen

Der Icinga 2 Agent authentifiziert Verbindungen an Hand von Zertifikaten der eigenen PKI. Den Agenten gibt es in der aktuellen Version im Bundle mit dem NSClient, damit sind die Plugins des NSClient++ auch weiterhin vom Agenten aus nutzbar.

 

Icinga2 Agent herunterladen

http://packages.icinga.org/windows/

Icinga-agent_client (1)

Vorbereitungen auf dem Icinga Server:

Master Node erstellen (muss nur einmal initial gemacht werden!)

[root@vlicinga002 tmp]# icinga2 node wizard
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]: n
Starting the Master setup routine...
Please specifiy the common name (CN) [vlicinga002.localhost]:
Checking for existing certificates for common name 'vlicinga002.localhost'...
Certificate '/etc/icinga2/pki/vlicinga002.localhost.crt' for CN 'vlicinga002.localhost' already existing. Skipping certificate generation.
Generating master configuration for Icinga 2.
information/cli: API user config file '/etc/icinga2/conf.d/api-users.conf' already exists, not creating config file.
'api' feature already enabled.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.

Now restart your Icinga 2 daemon to finish the installation!

[root@vlicinga002 tmp]# systemctl restart icinga2.service

 

Host im Icinga Director anlegen

Als erstes legen wir uns eine Vorlage für Windows Agent Clients an

icinga-agent2-director (1)

icinga-agent2-director (2)

Nachdem die Vorlage angelegt ist können wir das eigentliche Hostobjekt anlegen. Hier sollte der fqdn eingetragen werden (aus Datenschutz habe ich ihn hier einmal weggelassen).

Als „Import“ wählen wir jetzt unsere zuvor angelegte Vorlage „Windows Agent“ aus.

icinga-agent2-director (3)

Wir finden unter dem Reiter „Agent“ im „Host“ unser Ticket welches wir für die manuelle Installation des Windows Agent benötigen.

icinga-agent2-director (4)

Agent Installation auf dem Windows Client

Icinga-agent_client (2)

Icinga-agent_client (3)

Icinga-agent_client (4)

Icinga-agent_client (5)

Icinga-agent_client (6)

Icinga-agent_client (7)

Icinga-agent_client (8)

Icinga-agent_client (9)

Icinga-agent_client (10)

Icinga-agent_client (11)

Icinga-agent_client (12)

Icinga-agent_client (13)

icinga-agent-web2-1

zum überprüfen ob der Agent läuft und mit dem icinga2 Server kommuniziert folgendes auf dem Server ausführen

[root@vlicinga002 tmp]# icinga2 node list
Node 'L0999.bit.local' (last seen: Thu Aug  4 10:47:36 2016)
    * Host 'L0999.bit.local'
        * Service 'disk'
        * Service 'disk C:'
        * Service 'icinga'
        * Service 'load'
        * Service 'ping4'
        * Service 'ping6'
        * Service 'procs'
        * Service 'swap'
        * Service 'users'

 

Weitere Services des Windows Clients überprüfen

IcingaAgent2_Services (1)

IcingaAgent2_Services (2)

IcingaAgent2_Services (3)

IcingaAgent2_Services (4)

IcingaAgent2_Services (5)

IcingaAgent2_Services (6)

IcingaAgent2_Services (7)

IcingaAgent2_Services (8)

IcingaAgent2_Services (9)

IcingaAgent2_Services (10)

IcingaAgent2_Services (11)

IcingaAgent2_Services (12)

IcingaAgent2_Services (13)

Installation des Icinga Director

Mit dem Icinga Director steht jetzt ein brandneues Konfigurationstool bereit, um die Arbeit mit den beiden noch angenehmer zu gestalten. Dabei will der Director zwei große Zielgruppen ansprechen. Jene die ihr Datacenter durchgehend automatisieren sowie jene, die sich ein komfortables Frontend wünschen, um alltägliche Anpassungen des Monitorings sorglos delegieren zu können. Und im Idealfall das alles zur selben Zeit.

Voraussetzungen:

  1. Betriebsystem (Anleitung zur CentOS7 Installation)
  2. Icinga2 + IcingaWeb2 (Anleitung „wie installiere ich Icinga2 und IcingaWeb2“)
  3. MYSQL-Server (haben wir während der Installation von Icingaweb2 schon angelegt)
  4. php-curl Erweiterung

Installation:

Überprüfen ob „php-curl“ installiert ist

[root@vlicinga002 ~]# yum install php-curl
Geladene Plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.vooservers.com
 * epel: ftp.astral.ro
 * extras: mirrors.vooservers.com
 * updates: mirrors.vooservers.com
Paket php-common-5.4.16-36.1.el7_2.1.x86_64 ist bereits in der neuesten Version installiert.

Datenbank anlegen:

Anmelden

[root@vlicinga002 ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 754
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Datenbank und Datenbankuser anlegen

MariaDB [(none)]> CREATE DATABASE director CHARACTER SET 'utf8';
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON director.* TO director@localhost IDENTIFIED BY 'director';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye

 

Datenbankressouce in IcingaWeb2 anlegen

icinga-director-ressource (1)

icinga-director-ressource (2)

Beim anlegen der Ressouce ist es sehr wichtig den Zeichensatz „utf8“ einzutragen!

icinga-director-ressource (3)

 

icinga-director-ressource (4)

Icinga Director Modul für IcingaWeb2 installieren

Wechsel in das tmp Verzeichnis

[root@vlicinga002 ~]# cd /tmp/

Download Link des Icinga Director Moduls (https://github.com/Icinga/icingaweb2-module-director)

[root@vlicinga002 tmp]# git clone https://github.com/Icinga/icingaweb2-module-director.git
Klone nach 'icingaweb2-module-director'...
remote: Counting objects: 15764, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 15764 (delta 22), reused 0 (delta 0), pack-reused 15707
Empfange Objekte: 100% (15764/15764), 3.19 MiB | 397.00 KiB/s, done.
Löse Unterschiede auf: 100% (9606/9606), done.

Das Modul in das Icingaweb2 Modul-Verzeichnis verschieben - dabei ist es wichtig, das das Modul nur "director" genannt wird.
[root@vlicinga002 tmp]# mv /tmp/icingaweb2-module-director/ /usr/share/icingaweb2/modules/director

API-Feature aktivieren

[root@vlicinga002 tmp]# icinga2 api setup
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
information/cli: Generating new CSR in '/etc/icinga2/pki/vlicinga002.localhost.csr'.
information/base: Writing private key to '/etc/icinga2/pki/vlicinga002.localhost.key'.
information/base: Writing certificate signing request to '/etc/icinga2/pki/vlicinga002.localhost.csr'.
information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/vlicinga002.localhost.crt'.
information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
Done.

Now restart your Icinga 2 daemon to finish the installation!

[root@vlicinga002 tmp]# systemctl restart icinga2.service

API Passwort für root auslesen

[root@vlicinga002 tmp]# cat /etc/icinga2/conf.d/api-users.conf |grep password
  password = "supersicher"

 

Icinga Director Modul aktivieren

icinga-director-modul (1)

icinga-director-modul (2)

Datenbankressouce zuweisen und Schema erstellen

icinga-director-modul (3)

icinga-director-modul (4)

Configuration des Moduls (Kickstarter) Name des Endpunks ist der Static Hostname.

Wichtig ist es den kompletten hostname „vlicinga002.localhost“ einzutragen!

Um diesen herauszufinden bitte wie folgt vorgehen:

[root@vlicinga002 tmp]# hostnamectl status
   Static hostname: vlicinga002.localhost
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 582c22167d60414b98f9192398267186
           Boot ID: 43d34f402ca548e98964c01e106bb31f
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.22.2.el7.x86_64
      Architecture: x86-64

icinga-director-modul (5)

Konfiguration sichern

icinga-director-modul (6)

Icinga Director ist aktiviert und kann sofort benutzt werden!

icinga-director-modul (7)

Installation Icinga2 & IcingaWeb2 auf CentOS7

Icinga ist eine System- und Netzwerküberwachungsapplikation. Sie überwacht Hosts und Services, die Sie angeben, und alarmiert Sie, wenn sich die Dinge verschlechtern und wenn sie wieder besser werden

Wir installieren Icinga2 incl. IcingaWeb2 unter CentOS7 (Installationsanleitung CentOS7 finden Sie hier)

Installation Icinga2

Erweiterung des Repository´s

[root@vlicinga002 ~]# yum install https://packages.icinga.org/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
===================================================================================================================
 Package Arch Version Paketquelle Größe
===================================================================================================================
Installieren:
 icinga-rpm-release noarch 7-1.el7.centos /icinga-rpm-release-7-1.el7.centos.noarch 2.1 k

Transaktionsübersicht
===================================================================================================================
Installieren 1 Paket

Icigna2 Pakete installieren

[root@vlicinga002 ~]# yum install icinga2

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                        Arch            Version                       Paketquelle                    Größe
===================================================================================================================
Installieren:
 icinga2                        x86_64          2.4.10-1.el7.centos           icinga-stable-release          9.0 k
Als Abhängigkeiten installiert:
 boost-program-options          x86_64          1.53.0-25.el7                 base                           155 k
 boost-regex                    x86_64          1.53.0-25.el7                 base                           294 k
 icinga2-bin                    x86_64          2.4.10-1.el7.centos           icinga-stable-release          2.6 M
 icinga2-common                 x86_64          2.4.10-1.el7.centos           icinga-stable-release           90 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket (+4 Abhängige Pakete)

Automatischen Start von Icinga2 beim reboot einrichten

[root@localhost ~]# systemctl enable icinga2
[root@localhost ~]# systemctl start icinga2
[root@localhost ~]# systemctl enable icinga2

Um die Daten von Icinga2 zu speichern installieren wir einen MYSQL-Server und legen wir eine MYSQL-Datenbank an.

[root@vlicinga002 ~]# yum install mariadb-server mariadb

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                              Arch                Version                       Paketquelle          Größe
===================================================================================================================
Installieren:
 mariadb                              x86_64              1:5.5.47-1.el7_2              updates              8.9 M
 mariadb-server                       x86_64              1:5.5.47-1.el7_2              updates               11 M
Als Abhängigkeiten installiert:
 perl-Compress-Raw-Bzip2              x86_64              2.061-3.el7                   base                  32 k
 perl-Compress-Raw-Zlib               x86_64              1:2.061-4.el7                 base                  57 k
 perl-DBD-MySQL                       x86_64              4.023-5.el7                   base                 140 k
 perl-DBI                             x86_64              1.627-4.el7                   base                 802 k
 perl-IO-Compress                     noarch              2.061-2.el7                   base                 260 k
 perl-Net-Daemon                      noarch              0.48-5.el7                    base                  51 k
 perl-PlRPC                           noarch              0.2020-14.el7                 base                  36 k

Transaktionsübersicht
===================================================================================================================
Installieren  2 Pakete (+7 Abhängige Pakete)

Auch der MYSQL-Server soll sich beim reboot des Systems automatisch starten.

[root@vlicinga002 ~]# systemctl enable mariadb
[root@vlicinga002 ~]# systemctl start mariadb

Nachdem MySQL installiert ist nehmen wir noch ein paar Sicherheitseinstellungen vor

[root@vlicinga002 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: Zeile 379: find_mysql_client: Kommando nicht gefunden.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n
 ... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Erweiterungen von MYSQL (IDO) installieren

[root@vlicinga002 ~]# yum install icinga2-ido-mysql

===================================================================================================================
 Package                     Arch             Version                        Paketquelle                     Größe
===================================================================================================================
Installieren:
 icinga2-ido-mysql           x86_64           2.4.10-1.el7.centos            icinga-stable-release           155 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket

 

Datenbank anlegen:

[root@vlicinga002 ~]# mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
MariaDB [(none)]> CREATE DATABASE icinga;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye

Import der Daten in die soeben angelegte Datenbank

[root@vlicinga002 ~]# mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Enter password:


Installation IcingaWeb2

WebServer installieren

[root@vlicinga002 ~]# yum install httpd

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                   Arch                 Version                                Paketquelle           Größe
===================================================================================================================
Installieren:
 httpd                     x86_64               2.4.6-40.el7.centos.4                  updates               2.7 M
Als Abhängigkeiten installiert:
 httpd-tools               x86_64               2.4.6-40.el7.centos.4                  updates                83 k
 mailcap                   noarch               2.1.41-2.el7                           base                   31 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket (+2 Abhängige Pakete)

Webserver konfigurieren (autostart)

[root@vlicinga002 ~]# systemctl enable httpd
[root@vlicinga002 ~]# systemctl start httpd

icinga2 command feature aktivieren

[root@vlicinga002 ~]# icinga2 feature enable command

Repo für IcingaWeb2 in CentOS7 erweitern

[root@vlicinga002 ~]# rpm --import http://packages.icinga.org/icinga.key
[root@vlicinga002 ~]# curl -o /etc/yum.repos.d/ICINGA-release.repo
[root@vlicinga002 ~]# yum makecache

Wichtig ist noch das „Epel-Release“ Paket zu installieren

[root@vlicinga002 ~]# yum install epel-release

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                         Arch                      Version                 Paketquelle               Größe
===================================================================================================================
Installieren:
 epel-release                    noarch                    7-6                     extras                     14 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket

Pakete für IcingaWeb2 und die icingaCli installieren

[root@vlicinga002 ~]# yum install icingaweb2 icingacli

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                                     Arch        Version                  Paketquelle                Größe
===================================================================================================================
Installieren:
 icingacli                                   noarch      2.3.4-1.el7.centos       icinga-stable-release      6.5 k
 icingaweb2                                  noarch      2.3.4-1.el7.centos       icinga-stable-release      1.4 M
Als Abhängigkeiten installiert:
 ImageMagick                                 x86_64      6.7.8.9-15.el7_2         updates                    2.1 M
 OpenEXR-libs                                x86_64      1.7.1-7.el7              base                       217 k
 icingaweb2-common                           noarch      2.3.4-1.el7.centos       icinga-stable-release       86 k
 icingaweb2-vendor-HTMLPurifier              noarch      4.7.0-1.el7.centos       icinga-stable-release      258 k
 icingaweb2-vendor-JShrink                   noarch      1.0.1-1.el7.centos       icinga-stable-release      8.3 k
 icingaweb2-vendor-Parsedown                 noarch      1.0.0-1.el7.centos       icinga-stable-release      9.8 k
 icingaweb2-vendor-dompdf                    noarch      0.6.2-1.el7.centos       icinga-stable-release      2.9 M
 icingaweb2-vendor-lessphp                   noarch      0.4.0-1.el7.centos       icinga-stable-release       37 k
 ilmbase                                     x86_64      1.0.3-7.el7              base                       100 k
 libwmf-lite                                 x86_64      0.2.8.4-41.el7_1         base                        66 k
 libzip                                      x86_64      0.10.1-8.el7             base                        48 k
 php                                         x86_64      5.4.16-36.1.el7_2.1      updates                    1.4 M
 php-Icinga                                  noarch      2.3.4-1.el7.centos       icinga-stable-release      288 k
 php-ZendFramework                           noarch      1.12.18-1.el7            epel                       3.7 M
 php-ZendFramework-Db-Adapter-Pdo            noarch      1.12.18-1.el7            epel                        22 k
 php-ZendFramework-Db-Adapter-Pdo-Mysql      noarch      1.12.18-1.el7            epel                        17 k
 php-ZendFramework-Db-Adapter-Pdo-Pgsql      noarch      1.12.18-1.el7            epel                        18 k
 php-bcmath                                  x86_64      5.4.16-36.1.el7_2.1      updates                     56 k
 php-cli                                     x86_64      5.4.16-36.1.el7_2.1      updates                    2.7 M
 php-common                                  x86_64      5.4.16-36.1.el7_2.1      updates                    563 k
 php-gd                                      x86_64      5.4.16-36.1.el7_2.1      updates                    126 k
 php-intl                                    x86_64      5.4.16-36.1.el7_2.1      updates                     95 k
 php-mysql                                   x86_64      5.4.16-36.1.el7_2.1      updates                     99 k
 php-pdo                                     x86_64      5.4.16-36.1.el7_2.1      updates                     97 k
 php-pear                                    noarch      1:1.9.4-21.el7           base                       357 k
 php-pecl-imagick                            x86_64      3.1.0-0.6.RC2.el7        epel                        96 k
 php-pgsql                                   x86_64      5.4.16-36.1.el7_2.1      updates                     84 k
 php-process                                 x86_64      5.4.16-36.1.el7_2.1      updates                     54 k
 php-xml                                     x86_64      5.4.16-36.1.el7_2.1      updates                    124 k
 postgresql-libs                             x86_64      9.2.15-1.el7_2           updates                    231 k
 t1lib                                       x86_64      5.1.2-14.el7             base                       166 k

Transaktionsübersicht
===================================================================================================================
Installieren  2 Pakete (+31 Abhängige Pakete)

Neustart

[root@vlicinga002 ~]# reboot

 

Nun geht es mit dem Websetup weiter.

Token auf dem Linux Server erstellen und Websetup aufrufen:

[root@vlicinga002 ~]# icingacli setup token create;
The newly generated setup token is: 4a67e9f93ccc0ebc

http://10.61.0.152/icingaweb2/setup

IcingaWeb2_Install (1)

 

IcingaWeb2_Install (2)

Meldung:
The PHP config `date.timezone‘ is not defined.

[root@vlicinga002 ~]# vi /etc/php.ini

vorher:
;date.timezone =

nachher:
date.timezone=europe/berlin

IcingaWeb2_Install (3)

 

Meldung:
The PHP module LDAP is missing.

[root@vlicinga002 ~]# yum install php-ldap

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                  Arch                   Version                             Paketquelle             Größe
===================================================================================================================
Installieren:
 php-ldap                 x86_64                 5.4.16-36.1.el7_2.1                 updates                  51 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket

Neustart des Webservers

[root@vlicinga002 ~]# systemctl restart httpd.service

 

IcingaWeb2_Install (4)

 

IcingaWeb2_Install (5)

IcingaWeb2_Install (6)

IcingaWeb2_Install (7)

IcingaWeb2_Install (8)

IcingaWeb2_Install (9)

IcingaWeb2_Install (10)

IcingaWeb2_Install (11)

IcingaWeb2_Install (12)

IcingaWeb2_Install (13)

IcingaWeb2_Install (14)

IcingaWeb2_Install (15)

IcingaWeb2_Install (16)

IcingaWeb2_Install (17)

IcingaWeb2_Install (18)

IcingaWeb2_Install (19)

IcingaWeb2_Install (20)

Meldung:
execvpe(/usr/lib64/nagios/plugins/check_disk) failed: No such file or directory

[root@vlicinga002 ~]# yum install nagios-plugins-all

Abhängigkeiten aufgelöst

===================================================================================================================
 Package                            Arch             Version                               Paketquelle       Größe
===================================================================================================================
Installieren:
 nagios-plugins-all                 x86_64           2.0.3-3.el7                           epel               15 k
Als Abhängigkeiten installiert:
 fping                              x86_64           3.10-4.el7                            epel               46 k
 lm_sensors                         x86_64           3.3.4-11.el7                          base              137 k
 nagios-common                      x86_64           4.0.8-2.el7                           epel               20 k
 nagios-plugins                     x86_64           2.0.3-3.el7                           epel              226 k
 nagios-plugins-breeze              x86_64           2.0.3-3.el7                           epel               16 k
 nagios-plugins-by_ssh              x86_64           2.0.3-3.el7                           epel               40 k
 nagios-plugins-cluster             x86_64           2.0.3-3.el7                           epel               34 k
 nagios-plugins-dhcp                x86_64           2.0.3-3.el7                           epel               40 k
 nagios-plugins-dig                 x86_64           2.0.3-3.el7                           epel               39 k
 nagios-plugins-disk                x86_64           2.0.3-3.el7                           epel               42 k
 nagios-plugins-disk_smb            x86_64           2.0.3-3.el7                           epel               18 k
 nagios-plugins-dns                 x86_64           2.0.3-3.el7                           epel               41 k
 nagios-plugins-dummy               x86_64           2.0.3-3.el7                           epel               30 k
 nagios-plugins-file_age            x86_64           2.0.3-3.el7                           epel               16 k
 nagios-plugins-flexlm              x86_64           2.0.3-3.el7                           epel               17 k
 nagios-plugins-fping               x86_64           2.0.3-3.el7                           epel               40 k
 nagios-plugins-game                x86_64           2.0.3-3.el7                           epel               36 k
 nagios-plugins-hpjd                x86_64           2.0.3-3.el7                           epel               38 k
 nagios-plugins-http                x86_64           2.0.3-3.el7                           epel               53 k
 nagios-plugins-icmp                x86_64           2.0.3-3.el7                           epel               43 k
 nagios-plugins-ide_smart           x86_64           2.0.3-3.el7                           epel               35 k
 nagios-plugins-ircd                x86_64           2.0.3-3.el7                           epel               17 k
 nagios-plugins-ldap                x86_64           2.0.3-3.el7                           epel               38 k
 nagios-plugins-load                x86_64           2.0.3-3.el7                           epel               36 k
 nagios-plugins-log                 x86_64           2.0.3-3.el7                           epel               17 k
 nagios-plugins-mailq               x86_64           2.0.3-3.el7                           epel               19 k
 nagios-plugins-mrtg                x86_64           2.0.3-3.el7                           epel               35 k
 nagios-plugins-mrtgtraf            x86_64           2.0.3-3.el7                           epel               35 k
 nagios-plugins-mysql               x86_64           2.0.3-3.el7                           epel               47 k
 nagios-plugins-nagios              x86_64           2.0.3-3.el7                           epel               36 k
 nagios-plugins-nt                  x86_64           2.0.3-3.el7                           epel               41 k
 nagios-plugins-ntp                 x86_64           2.0.3-3.el7                           epel               59 k
 nagios-plugins-ntp-perl            x86_64           2.0.3-3.el7                           epel               19 k
 nagios-plugins-nwstat              x86_64           2.0.3-3.el7                           epel               43 k
 nagios-plugins-oracle              x86_64           2.0.3-3.el7                           epel               17 k
 nagios-plugins-overcr              x86_64           2.0.3-3.el7                           epel               38 k
 nagios-plugins-perl                x86_64           2.0.3-3.el7                           epel               16 k
 nagios-plugins-pgsql               x86_64           2.0.3-3.el7                           epel               39 k
 nagios-plugins-ping                x86_64           2.0.3-3.el7                           epel               41 k
 nagios-plugins-procs               x86_64           2.0.3-3.el7                           epel               41 k
 nagios-plugins-real                x86_64           2.0.3-3.el7                           epel               37 k
 nagios-plugins-rpc                 x86_64           2.0.3-3.el7                           epel               18 k
 nagios-plugins-sensors             x86_64           2.0.3-3.el7                           epel               15 k
 nagios-plugins-smtp                x86_64           2.0.3-3.el7                           epel               45 k
 nagios-plugins-snmp                x86_64           2.0.3-3.el7                           epel               45 k
 nagios-plugins-ssh                 x86_64           2.0.3-3.el7                           epel               36 k
 nagios-plugins-swap                x86_64           2.0.3-3.el7                           epel               35 k
 nagios-plugins-tcp                 x86_64           2.0.3-3.el7                           epel               45 k
 nagios-plugins-time                x86_64           2.0.3-3.el7                           epel               37 k
 nagios-plugins-ups                 x86_64           2.0.3-3.el7                           epel               39 k
 nagios-plugins-users               x86_64           2.0.3-3.el7                           epel               33 k
 nagios-plugins-wave                x86_64           2.0.3-3.el7                           epel               16 k
 net-snmp-utils                     x86_64           1:5.7.2-24.el7_2.1                    updates           197 k
 ntp                                x86_64           4.2.6p5-22.el7.centos.2               updates           544 k
 qstat                              x86_64           2.11-13.20080912svn311.el7            epel              167 k
 samba-client                       x86_64           4.2.10-7.el7_2                        updates           497 k

Transaktionsübersicht
===================================================================================================================
Installieren  1 Paket (+56 Abhängige Pakete)

 

Meldung:

HTTP WARNING: HTTP/1.1 403 Forbidden – 5179 bytes in 0.012 second response time

[root@vlicinga002 ~]# touch /var/www/html/index.html

 

Meldung:
DISK CRITICAL – /run/user/42/gvfs is not accessible: Keine Berechtigung

[root@vlicinga002 ~]# vi /etc/icinga2/conf.d/services.conf


vorher:
apply Service for (disk => config in host.vars.disks) {
  import "generic-service"

  check_command = "disk"

  vars += config
}

nachher:

apply Service for (disk => config in host.vars.disks) {
 import "generic-service"
 check_command = "disk"
 vars.disk_exclude_type = [ "none", "tmpfs", "sysfs", "proc", "devtmpfs", "devfs", "mtmfs", "tracefs", "cgroup", "fuse.gvfsd-fuse"]
 
 vars += config
 } 

icinga2 Service neustarten:
[root@vlicinga002 ~]# systemctl restart icinga2.service

 

IcingaWeb2_Install (21)

CentOS 7 installieren

In diesem Beitrag beschäftigen wir uns mit der Basisinstallation des Betriebssystem CentOS 7 incl. GUI.

CentOS7 ist ein Enterprise Betriebsystem … – welches auf einem freien nachbau der Red Hat Enterprise Pakete basiert. Durch diesen nachbau eignet sich CentOS ganz besonders gut für den kommerziellen Einsatz.
Wir installieren CentOS7 in einer Virtuellen Umgebung (vCenter Server 6.0.0)

Download des ISO Images (DVD) von CentOS7 unter https://www.centos.org/download/ (http://isoredirect.centos.org/centos/7/isos/x86_64/)

Installation

Legen Sie zu beginn die DVD in das Laufwerk und Booten von diesem.

CentOS7_Installation (1)

Im ersten Schritt wählen wir die passende Sprache aus – in unserm Fall „Deutsch“

CentOS7_Installation (2)

Wir bekommen nun eine Zusammenfassung der Installation angezeigt.
Hier sollten am ende keine roten Felder mehr zu sehen sein.
Unter System -> Installations-Ziel ist es daher wichtig – die korrekte Festplatte auszuwählen.

CentOS7_Installation (3)

Wir lassen die Partitionierung durch CentOS automatisch erledigen.

CentOS7_Installation (4)

Da wir nicht nur das „minimal“ System installieren möchten sondern den „Server mit GUI“ wählen wir dies unter „Softwareauswahl“ in der Zusammenfassung der Installation aus.
Zusätzlich zu dieser Basisumgebung habe ich ein paar wenige Erweiterungen aktiviert (Siehe Screenshot) – diese Erweiterungen sind aber keinesfalls wichtig und können jederzeit nachinstalliert werden.

CentOS7_Installation (5)

Da wir den Hostnamen und die IP-Adresse schon definiert haben – trage ich diese direkt unter System -> Netzwerk und Rechnername ein.

CentOS7_Installation (6)

Nachdem wir in der „Zusammenfassung der Installation“ nun alle wichtigen Infos konfiguriert haben und mit „Installation starten“ bestätigt haben beginnt das Setup mit der Installation.
In dieser zeit wird man aufgefordert noch einen Lokalen Benutzer und das Root-Kennwort zu definieren.

CentOS7_Installation (7)

Definieren des Root Kennwort

CentOS7_Installation (8)

Lokalen Benutzer erstellen

CentOS7_Installation (9)

Nachdem alle Pakete installiert wurden, das Root Kennwort und der Lokale Benutzer angelegt ist – starten wir den Server neu (CD während des Reboots aus dem Laufwerk nehmen).

CentOS7_Installation (10)

Wir werden jetzt noch einmalig aufgefordert die Lizenzbestimmungen zu akzeptieren.
Sobald wir dies getan habe – bootet CentOS7.

CentOS7_Installation (11)

Da wir CentOS7 incl GUI instaliert haben – startet der Server direkt mit einer Anmeldemaske.

CentOS7_Installation (13)

Nachdem wir uns erfolgreich an der GUI angemeldet haben – erscheint der Desktop.

CentOS7_Installation (14)

Fertig!

Nachdem die Installation sauber durchgelaufen ist – prüfe ich das System nach Updates, deaktiviere die Firewall und SELinux.

Updates überprüfen:

Geben Sie folgende Befehle in die Console ein und bestätigen Sie die Auflistung mit „y“

sudo yum update

sudo yum upgrade

 

 

 Firewall deaktivieren:

Zum deaktivieren der Firewall tragen Sie in der Console folgendes ein.

sudo systemctl disable firewalld
sudo systemctl stop firewalld

überprüfen Sie den Status der Firewall mit:

sudo systemctl status firewalld

 

SELinux deaktivieren:

Zum deaktivieren von SELinux öffnen wir die Datei „/etc/sysconfig/selinux“ mit einem Editor:

sudo vi /etc/sysconfig/selinux

Wir verändern den Eintrag:

vorher:
SELINUX=enforcing 

nacher:
SELINUX=disabled

Neustart!

Nach dem neustart ist der Server auch via SSH erreichbar.