Ubuntu 14.04. LTS Server - Nagios installieren und einrichten
Aufbauend auf diese Anleitung Ubuntu 14.04 - 16.04 - 18.04 - 20.04 LTS Server - Freeradius mit AD-Anbindung will ich euch meinen Weg zu Nagios nicht vorenthalten.
Man kann entweder einen vorhandenen Ubuntu-Server nehmen oder nimmt, wie ich, einen separaten alten PC, packt da Ubuntu 14.04. LTS Server drauf und lässt den als "Monitor" laufen.
Die Schritte zur Installation und Anbindung an das AD sind identisch zu o.g. Anleitung.
Alle folgenden Befehle werden als su ausgeführt.
Der Einfachheit halber einmal
1. Pakete installieren
Damit wird der Nagios3 Server nebst erforderlichen Komponenten komplett installiert.
Das hier vergebene Kennwort für den Adminzugang unbedingt merken. Damit meldet man sich später am Webinterface an.
Die Einrichtung der E-Mail-Funktion passt man während der Installation an die eigenen Bedürfnisse an.
2. Windows vorbereiten
Die zu überwachenden Windows-Clients (Server) werden mit der Software NSClient++ ausgestattet.
Bei der Installation werden folgende Optionen gewählt:
Anschließend ergänzt man manuell in der Datei C:\Prpgramme\NSClient++\nsclient.ini folgende Einträge, sofern nicht vorhanden:
Anschließend wird der NSClient-Dienst neu gestartet.
Damit kann der Windows-Client mit dem Nagios-Server kommunizieren.
3. Nagios Konfiguration
Es gibt verschiedene Ansätze den Überblick über die Hardware zu behalten. Je nach Menge macht es Sinn die Elemente (Switche, Windows-Server, Linux, Server, etc.) in Unterverzeichnissen zusammenzufassen.
Da unser Netzwerk relativ überschaubar ist, habe ich mich auf ein Verzeichnis für die Objekte beschränkt und die Hardware eindeutig benannt.
3.1 Vorlage definieren
Zuerst erzeugt man ein Verzeichnis für die Objekte und legt sich eine Vorlage für die Windows-Systeme an:
Die Vorlage windows-server.cfg enthält bei mir:
3.2 Den ersten Windows-Server hinterlegen
Praktischerweise gibt es in Nagios eine Vorlage für Windows-Systeme.
Diese kopieren wir uns nach /etc/nagios3/objects und ändern wie folgt:
Der Bereich define hostgroup wird komplett auskommentiert. Die host_group definieren wir an anderer Stelle.
Jetzt tragen wir in jedem define service Bereich unseren Windows-Server ein, wenn wir diesen Service nutzen wollen.
Damit das Abfragen des freien Speicherplatzes funktioniert muss die entsprechende Zeile so aussehen:
Wichtig sind hier die Hochkommas (') an der richtigen Stelle!
Nicht genutzte Services unbedingt auskommentieren.
3.3 host groups definieren
Die Datei zum Definieren der Hostgroups liegt im Verzeichnis /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Hier ergänzt man die hostgroups, die man verwenden möchte nach dem gleichen Schema:
3.4 Nagios Server konfigurieren
Jetzt muss nur noch dem Nagios-Server mitgeteilt werden, wo die entsprechenden Dateien zu finden sind.
Hierzu editiert man die Datei /etc/nagios3/nagios.cfg
3.5 nt.cfg
Damit der Nagios-Server mit dem Client kommunizieren kann, haben wir bei der Installation ein SUPERGEHEIMNIS vergeben. Dieses muss jetzt dem Nagios-Server noch mitgeteilt werden:
Dieser Eintrag muss in beiden Zeilen angepasst werden.
4 Nagios Server (neu) starten
Wenn alles richtig ist, startet der Dienst und man kann sich am Webinterface einloggen.
Sollte es zu Fehlermeldungen kommen, so liegt das meist an Rechtschreibfehlern.
5. Webinterface
Das Webinterface erreicht man unter IP_des_Nagios-Servers/nagios3.
Der Anmeldename ist nagiosadmin; das Passwort ist das selber vergebene Passwort aus der Nagios-Installation.
6. Anmerkungen
Nach jeder Änderung oder dem Hinzufügen von weiteren Clients, muss der Nagios-Server neu gestartet werden.
Die möglichen Bilder, welche unter 3.2 unter icon_image verwendet wurden findet man am einfachsten mit
Das Ergebnis zeigt den Speicherort für jede Menge Pics an, die man zur Unterscheidung einsetzen kann.
Man muss ein wenig Geduld mitbringen, denn nach einem Neustart des Dienstes dauert es unter Umständen eine ganze Weile bis das neu hinzugefügte Element abgefragt und der Status korrekt angezeigt wird.
Dann sieht das z.B. so aus:
6.1 Linux-Systeme hinzufügen
Für das Hinzufügen von Linux-Sytemen kopiert man sich die Datei /etc/nagios3/conf.d/generic_host_nagios2.cfg nach /etc/nagios3/objects und verändert die entsprechend als Vorlage für Linux.
Ich habe für Firewalls, Telefonanlagen, etc. hieraus separate Vorlagen generiert um später flexibler zu sein.
Die eigentlichen Definitionen habe ich durch kopieren und anpassen der Datei /etc/nagios3/conf.d/localhost_nagios2.cfg erzeugt
6.2 E-Mail Benachrichtigungen einrichten
Dies ist auf dieser Seite sehr schön beschrieben und kann 1:1 übernommen werden.
Es hat sich nur herausgestellt, dass wenn man einen lokalen Mail-Server betreibt, der die Mails von einem Provider abholt und über diesen als Smarthost versendet, so funktioniert der Versand an lokale Mail-Adressen nicht. Deswegen muss man in der contacts_nagios2.cfg unbedingt ein externes Mailkonto eintragen. Oder man nutzt einen anderen externen Smarthost und zieht dann die Mails wie gewohnt ins eigene System.
6.3 Memory bei Windows Servern korrekt abfragen
Das Problem der o.g. check_nt Abfrage ist, dass sowohl der physische, als auch der virtuelle Speicher zusammengerechnet wird und man kein aussagekräftiges Ergebnis erhält.
Um das zu ändern, sind folgende Einstellungen notwendig:
Auf dem Windows Server ändert man die Zeile alias_mem in der nsclient.ini wie folgt:
Anschließend wird der Dienst neu gestartet.
Als nächstes prüft man die korrekte Einstellung auf dem nagios-Server.
Die Datei check_nrpe.cfg im Verzeichnis etc/nagios-plugins/config sollte so aussehen:
Zuletzt noch die Service-Definition für den Windows-Server anpassen:
Muster:
Zum Abschluß noch den nagios-Dienst neu starten mit service nagios3 restart. Das Ergebnis zeigt dann den physischen Speicher mit einer Warngrenze von 80% und einer kritischen Grenze bei 90%.
6.4 Druckerabfrage mit nagios
Hier kann man sich ein fertiges Plugin herunterladen, welches man nur noch nach
kopieren muss. Folgt man der Anleitung auf der Seite, so kann man vorhandenen Netzwerkdrucker übersichtlich erfassen.
Die Status-Abfrage habe ich allerdings nicht integriert, da man ständig Mails bekommt, wenn das Gerät in Standby geht.
6.4.1 PHP Druckerabfrage
Hierfür müssen folgende Pakete installiert werden:
php5-cli
php5-common
php5-snmp
Anschließend lädt man sich dieses Plugin herunter und kopiert es nach
Nicht vergessen das Plugin ausführbar zu machen mit
Das Plugin kann man anschließend testen mit
Zurückgegeben sollte nun als Wert die Anzahl bisher gedruckter Seiten sein.
Nun kann man die commands.cfg anpassen. Bei mir sieht die dann so aus:
Nun noch die Konfirguration des Druckers anpassen:
Anschließend den nagios-Dienst neu starten und auf die Anzeige des Status warten.
6.5 Abfrage einer APC USV mit Nagios
Hier gibt es ein sehr schönes Plugin, welches man analog zu 6.4 einfügt und auf Anhieb laufen sollte.
6.6 Auswertung Temperatur Sensor
Wir haben bei uns an einem Server einen externen Temperatursensor per USB hängen zur Überwachung der Raumtemperatur.
Diesen wollte ich natürlich mit in Nagios einbinden, damit ich alle Daten zusammen habe.
Es handelt sich um den Temperature@lert USB.
Nachdem man sich von der Homepage die betreffenden SNMP IDs geholt hat, kann man die Abfrage integrieren:
Die hierfür erforderlichen Änderungen in der commands.cfg sehen so aus:
Das erforderliche SNMP-Plugin ist in Nagios bereits enthalten. Somit braucht man nicht die umständlichen Umwege über das Perl-Plugin zu gehen und erhält trotzdem das gewünschte Ergebnis.
6.7 Update auf Ubuntu 16.04.01 LTS
Nach dem Distributionsupgrade (über "do-release-upgrade") wird der Freie Speicherplatz bei Linuxsystemen auf Critical gesetzt mit der Bemerkung, dass die Berechtigung nicht mehr ausreicht.
Hierzu habe ich einen funktionierenden Workaround gefunden:
Nach dem Ausführen wird der Speicherplatz wieder korrekt angezeigt.
7. Quellen
https://awaseroot.wordpress.com/2012/11/23/monitoring-windows-with-nagio ...
Netzwerk Management Server mit Raspberry Pi
http://www.myslug.de/index.php?title=Nagios_installieren_und_konfigurie ...
http://exchange.nagios.org/directory/Plugins/Hardware/Printers/SNMP-Pri ...
https://bugs.launchpad.net/ubuntu/+source/nagios-plugins/+bug/1516451
Änderungsindex:
2015-04-08 - Kapitel 6.2 eingefügt
2015-04-21 - Kapitel 6.3 eingefügt
2015-04-28 - Kapitel 6.4 eingefügt
2015-05-22 - Kapitel 6.5 eingefügt
2015-09-01 - Kapitel 6.6 eingefügt
2016-10-07 - Kapitel 6.4.1 eingefügt
2016-10-24 - Kapitel 6.7 eingefügt
Man kann entweder einen vorhandenen Ubuntu-Server nehmen oder nimmt, wie ich, einen separaten alten PC, packt da Ubuntu 14.04. LTS Server drauf und lässt den als "Monitor" laufen.
Die Schritte zur Installation und Anbindung an das AD sind identisch zu o.g. Anleitung.
Alle folgenden Befehle werden als su ausgeführt.
Der Einfachheit halber einmal
sudo su
Kennwort: (wurde bei der Installation vergeben)
1. Pakete installieren
apt-get install nagios3
Damit wird der Nagios3 Server nebst erforderlichen Komponenten komplett installiert.
Das hier vergebene Kennwort für den Adminzugang unbedingt merken. Damit meldet man sich später am Webinterface an.
Die Einrichtung der E-Mail-Funktion passt man während der Installation an die eigenen Bedürfnisse an.
2. Windows vorbereiten
Die zu überwachenden Windows-Clients (Server) werden mit der Software NSClient++ ausgestattet.
Bei der Installation werden folgende Optionen gewählt:
Anschließend ergänzt man manuell in der Datei C:\Prpgramme\NSClient++\nsclient.ini folgende Einträge, sofern nicht vorhanden:
allowed hosts = IP des Servers, auf dem Nagios läuft
password = SUPERGEHEIMNIS
port = 12489
Anschließend wird der NSClient-Dienst neu gestartet.
Damit kann der Windows-Client mit dem Nagios-Server kommunizieren.
3. Nagios Konfiguration
Es gibt verschiedene Ansätze den Überblick über die Hardware zu behalten. Je nach Menge macht es Sinn die Elemente (Switche, Windows-Server, Linux, Server, etc.) in Unterverzeichnissen zusammenzufassen.
Da unser Netzwerk relativ überschaubar ist, habe ich mich auf ein Verzeichnis für die Objekte beschränkt und die Hardware eindeutig benannt.
3.1 Vorlage definieren
Zuerst erzeugt man ein Verzeichnis für die Objekte und legt sich eine Vorlage für die Windows-Systeme an:
mkdir /etc/nagios3/objects
cd /etc/nagios3/objects
nano windows-server.cfg
Die Vorlage windows-server.cfg enthält bei mir:
define host{
name windows-server
use generic-host
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0
}
3.2 Den ersten Windows-Server hinterlegen
Praktischerweise gibt es in Nagios eine Vorlage für Windows-Systeme.
Diese kopieren wir uns nach /etc/nagios3/objects und ändern wie folgt:
define host {
use windows-server
host_name server-01
alias Mein_erster_Windows-Server
address IP_des_Windows_Servers
icon_image win40.png
}
Der Bereich define hostgroup wird komplett auskommentiert. Die host_group definieren wir an anderer Stelle.
Jetzt tragen wir in jedem define service Bereich unseren Windows-Server ein, wenn wir diesen Service nutzen wollen.
define service{
use generic-service
host_name server-01
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
Damit das Abfragen des freien Speicherplatzes funktioniert muss die entsprechende Zeile so aussehen:
check_command check_nt!USEDDISKSPACE!'-l c -w 80 -c 90'
Wichtig sind hier die Hochkommas (') an der richtigen Stelle!
Nicht genutzte Services unbedingt auskommentieren.
3.3 host groups definieren
Die Datei zum Definieren der Hostgroups liegt im Verzeichnis /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Hier ergänzt man die hostgroups, die man verwenden möchte nach dem gleichen Schema:
define hostgroup {
hostgroup_name windows-server
alias Windows Server
members server-01
}
3.4 Nagios Server konfigurieren
Jetzt muss nur noch dem Nagios-Server mitgeteilt werden, wo die entsprechenden Dateien zu finden sind.
Hierzu editiert man die Datei /etc/nagios3/nagios.cfg
# Template fuer Windows-Server
cfg_file=/etc/nagios3/objects/windows-server.cfg
#Definitionen fuer Windows-Server
cfg_file=/etc/nagios3/objects/server-01.cfg
3.5 nt.cfg
Damit der Nagios-Server mit dem Client kommunizieren kann, haben wir bei der Installation ein SUPERGEHEIMNIS vergeben. Dieses muss jetzt dem Nagios-Server noch mitgeteilt werden:
/usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -s SUPERGEHEIMNIS -v $ARG1$ $ARG2$
Dieser Eintrag muss in beiden Zeilen angepasst werden.
4 Nagios Server (neu) starten
service nagios3 restart
Wenn alles richtig ist, startet der Dienst und man kann sich am Webinterface einloggen.
Sollte es zu Fehlermeldungen kommen, so liegt das meist an Rechtschreibfehlern.
5. Webinterface
Das Webinterface erreicht man unter IP_des_Nagios-Servers/nagios3.
Der Anmeldename ist nagiosadmin; das Passwort ist das selber vergebene Passwort aus der Nagios-Installation.
6. Anmerkungen
Nach jeder Änderung oder dem Hinzufügen von weiteren Clients, muss der Nagios-Server neu gestartet werden.
Die möglichen Bilder, welche unter 3.2 unter icon_image verwendet wurden findet man am einfachsten mit
find /* | grep win40.png
Das Ergebnis zeigt den Speicherort für jede Menge Pics an, die man zur Unterscheidung einsetzen kann.
Man muss ein wenig Geduld mitbringen, denn nach einem Neustart des Dienstes dauert es unter Umständen eine ganze Weile bis das neu hinzugefügte Element abgefragt und der Status korrekt angezeigt wird.
Dann sieht das z.B. so aus:
6.1 Linux-Systeme hinzufügen
Für das Hinzufügen von Linux-Sytemen kopiert man sich die Datei /etc/nagios3/conf.d/generic_host_nagios2.cfg nach /etc/nagios3/objects und verändert die entsprechend als Vorlage für Linux.
Ich habe für Firewalls, Telefonanlagen, etc. hieraus separate Vorlagen generiert um später flexibler zu sein.
Die eigentlichen Definitionen habe ich durch kopieren und anpassen der Datei /etc/nagios3/conf.d/localhost_nagios2.cfg erzeugt
6.2 E-Mail Benachrichtigungen einrichten
Dies ist auf dieser Seite sehr schön beschrieben und kann 1:1 übernommen werden.
Es hat sich nur herausgestellt, dass wenn man einen lokalen Mail-Server betreibt, der die Mails von einem Provider abholt und über diesen als Smarthost versendet, so funktioniert der Versand an lokale Mail-Adressen nicht. Deswegen muss man in der contacts_nagios2.cfg unbedingt ein externes Mailkonto eintragen. Oder man nutzt einen anderen externen Smarthost und zieht dann die Mails wie gewohnt ins eigene System.
6.3 Memory bei Windows Servern korrekt abfragen
Das Problem der o.g. check_nt Abfrage ist, dass sowohl der physische, als auch der virtuelle Speicher zusammengerechnet wird und man kein aussagekräftiges Ergebnis erhält.
Um das zu ändern, sind folgende Einstellungen notwendig:
Auf dem Windows Server ändert man die Zeile alias_mem in der nsclient.ini wie folgt:
alias_mem = checkMem MaxWarn=80% MaxCrit=90% ShowAll=long type=physical
Anschließend wird der Dienst neu gestartet.
Als nächstes prüft man die korrekte Einstellung auf dem nagios-Server.
Die Datei check_nrpe.cfg im Verzeichnis etc/nagios-plugins/config sollte so aussehen:
# this command runs a program $ARG1$ with arguments $ARG2$
define command {
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
# this command runs a program $ARG1$ with no arguments
define command {
command_name check_nrpe_1arg
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Zuletzt noch die Service-Definition für den Windows-Server anpassen:
Muster:
define service {
use generic-service
host_name server-name
service_description Memory Usage
check_command check_nrpe_1arg!alias_mem
}
Zum Abschluß noch den nagios-Dienst neu starten mit service nagios3 restart. Das Ergebnis zeigt dann den physischen Speicher mit einer Warngrenze von 80% und einer kritischen Grenze bei 90%.
6.4 Druckerabfrage mit nagios
Hier kann man sich ein fertiges Plugin herunterladen, welches man nur noch nach
/usr/lib/nagios/plugins
Die Status-Abfrage habe ich allerdings nicht integriert, da man ständig Mails bekommt, wenn das Gerät in Standby geht.
6.4.1 PHP Druckerabfrage
Hierfür müssen folgende Pakete installiert werden:
php5-cli
php5-common
php5-snmp
Anschließend lädt man sich dieses Plugin herunter und kopiert es nach
/usr/lib/nagios/plugins
Nicht vergessen das Plugin ausführbar zu machen mit
chmod a+x PLUGINNAME
Das Plugin kann man anschließend testen mit
./PLUGINNAME IP_DES_DRUCKERS public 1 counter 1
Nun kann man die commands.cfg anpassen. Bei mir sieht die dann so aus:
####### Druckerabfrage Canon per php #####
# Drucker-Abfrage php
define command {
command_name check-toner-black
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 1 0.05
}
# Drucker-Abfrage php
define command {
command_name check-toner-cyan
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 2 0.05
}
# Drucker-Abfrage php
define command {
command_name check-toner-magenta
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 3 0.05
}
# Drucker-Abfrage php
define command {
command_name check-toner-yellow
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 4 0.05
}
# Drucker-Abfrage php
define command {
command_name check-toner-waste
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 toner 5 -0.95 -1
}
# Drucker-Abfrage php
define command {
command_name check-printer-page
command_line /usr/lib/nagios/plugins/check-printer.php $HOSTADDRESS$ public 1 counter 1
}
Nun noch die Konfirguration des Druckers anpassen:
##### PHP Abfragen der Toner und gedruckten Seiten
define service {
use generic-service
host_name canon
service_description Toner Black
check_command check-toner-black
}
define service {
use generic-service
host_name canon
service_description Toner Cyan
check_command check-toner-cyan
}
define service {
use generic-service
host_name canon
service_description Toner Magenta
check_command check-toner-magenta
}
define service {
use generic-service
host_name canon
service_description Toner Yellow
check_command check-toner-yellow
}
define service {
use generic-service
host_name canon
service_description Resttonerbehaelter
check_command check-toner-waste
}
define service {
use generic-service
host_name canon
service_description Gedruckte Seiten
check_command check-printer-page
}
Anschließend den nagios-Dienst neu starten und auf die Anzeige des Status warten.
6.5 Abfrage einer APC USV mit Nagios
Hier gibt es ein sehr schönes Plugin, welches man analog zu 6.4 einfügt und auf Anhieb laufen sollte.
6.6 Auswertung Temperatur Sensor
Wir haben bei uns an einem Server einen externen Temperatursensor per USB hängen zur Überwachung der Raumtemperatur.
Diesen wollte ich natürlich mit in Nagios einbinden, damit ich alle Daten zusammen habe.
Es handelt sich um den Temperature@lert USB.
Nachdem man sich von der Homepage die betreffenden SNMP IDs geholt hat, kann man die Abfrage integrieren:
define service {
use generic-service
host_name serverraum-wb
service_description Temperatur im Serverraum
check_command check_snmp!public!.1.3.6.1.4.1.27297.1.2!25!30
}
define service {
use generic-service
host_name serverraum
service_description COM-Port Temperatursensor
check_command check_snmp_1ARG!public!.1.3.6.1.4.1.27297.1.1
}
define service {
use generic-service
host_name serverraum
service_description Letzte Temperaturauswertung
check_command check_snmp_1ARG!public!.1.3.6.1.4.1.27297.1.3
}
Die hierfür erforderlichen Änderungen in der commands.cfg sehen so aus:
define command {
command_name check_snmp_1ARG
command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$
}
Das erforderliche SNMP-Plugin ist in Nagios bereits enthalten. Somit braucht man nicht die umständlichen Umwege über das Perl-Plugin zu gehen und erhält trotzdem das gewünschte Ergebnis.
6.7 Update auf Ubuntu 16.04.01 LTS
Nach dem Distributionsupgrade (über "do-release-upgrade") wird der Freie Speicherplatz bei Linuxsystemen auf Critical gesetzt mit der Bemerkung, dass die Berechtigung nicht mehr ausreicht.
Hierzu habe ich einen funktionierenden Workaround gefunden:
sudo chown root:root /usr/lib/nagios/plugins/check_disk
sudo chmod u+s /usr/lib/nagios/plugins/check_disk
sudo chmod o+x /usr/lib/nagios/plugins/check_disk
Nach dem Ausführen wird der Speicherplatz wieder korrekt angezeigt.
7. Quellen
https://awaseroot.wordpress.com/2012/11/23/monitoring-windows-with-nagio ...
Netzwerk Management Server mit Raspberry Pi
http://www.myslug.de/index.php?title=Nagios_installieren_und_konfigurie ...
http://exchange.nagios.org/directory/Plugins/Hardware/Printers/SNMP-Pri ...
https://bugs.launchpad.net/ubuntu/+source/nagios-plugins/+bug/1516451
Änderungsindex:
2015-04-08 - Kapitel 6.2 eingefügt
2015-04-21 - Kapitel 6.3 eingefügt
2015-04-28 - Kapitel 6.4 eingefügt
2015-05-22 - Kapitel 6.5 eingefügt
2015-09-01 - Kapitel 6.6 eingefügt
2016-10-07 - Kapitel 6.4.1 eingefügt
2016-10-24 - Kapitel 6.7 eingefügt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 268479
Url: https://administrator.de/tutorial/ubuntu-14-04-lts-server-nagios-installieren-und-einrichten-268479.html
Ausgedruckt am: 21.12.2024 um 11:12 Uhr
5 Kommentare
Neuester Kommentar