Menu

<< | Zurück

Nagios installieren

Netzwerk Überwachung Opensource. Gratis in der Basis Version. Sehr viele Plugins in verschiednen Forums verfügbar. Nagios lässt sich sehr gut an eigene Bedürfnisse einrichten und anpassen.

 

Nagios und Plugin Verwaltung installieren.

Nagios Installation

#
# #### Im Internet prüfen ob neue Versionsnummer vorhanden ist.
###### Mein Konzept: 
- Für jedes Gerät (Host) eine Datei, Hostname.Domäne.cfg als Dateiname z. B. window-client1.domäne.ch.cfg
- Alle Gruppen und Mitglieder: -----------------> /usr/local/nagios/etc/objects/hostgroup.cfg
- Alle Dateien sind im Verzeichnis: -------------> /usr/local/nagios/etc/objects/
- Alle Dateien müssen verknüpft werden: -----> /usr/local/nagios/etc/nagios.cfg
- Template Datei: -------------------------------> /usr/local/nagios/etc/objects/templates.cfg
#### Quelle: https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html
#### ###############################
#### ################### Nagios installieren
- #apt-get update
- #apt-get install -y autoconf gcc libc6 make wget unzip apache2 apache2-utils php libgd-dev
- #apt-get install openssl libssl-dev
#### Downloading the Source
- #cd /tmp
- #wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.10.tar.gz
- #tar xzf nagioscore.tar.gz
#### Compile
- #cd /tmp/nagioscore-nagios-4.4.10/
- #./configure --with-httpd-conf=/etc/apache2/sites-enabled
- #make all
#### Create User And Group
- #make install-groups-users
- #usermod -a -G nagios www-data
#### Install Binaries
- #make install
#### Install Service / Daemon
######This installs the service or daemon files and also configures them to start on boot.
- #make install-daemoninit
#### Install Command Mode
- #make install-commandmode
#### Install Configuration Files
- #make install-config
#### Apache config
- #make install-webconf
- #a2enmod rewrite
- #a2enmod cgi
#### Fireewall iptables
- #iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
- #apt-get install -y iptables-persistent
#### Create nagiosadmin User Account
- #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
- #systemctl restart apache2.service
- #systemctl start nagios.service
- http://IP_od_Hostname/nagios
# #################################
#### Install pluginn Prerequisites
# #################################
###### Make sure that you have the following packages installed.
- #apt-get install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev wget bc gawk dc build-essential snmp libnet-snmp-perl gettext
#### Downloading The Source
- #cd /tmp
- #wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.3.3.tar.gz
- #tar zxf nagios-plugins.tar.gz
#### Compile + Install
- #cd /tmp/nagios-plugins-release-2.3.3/
- #./tools/setup
- #./configure
- #make
- #make install

#

This site was last modified on 07/04/2024 at 17:12.

 

Nach der Installation...

Da Nagios über den Apache2 läuft muss https auf dem Apache2 Server aktiviert werden, dies kann vorerst mit selbst signierte Zertifikate gemacht werden über openssl. Danach einen Virtuellen Host einrichten der auf das Nagios Webverzeichnis zeigt, siehe Bild 1 Virtueller Host, Bild 2 Nagios https ohne Nagios Verzeichnis am Schluss. Vorher: http://titan-mo01.new-itsupport-x.ch/nagios/, nachher: https://titan-mo01.new-itsupport-x.ch/.

Am Schluss kann Nagios Server über den Proxymanager im Internet freigegeben werden. Domäne Name registrieren, DNS Eintrag (TypA = A: Verknüpfung einer Domain mit einer bestimmten IPv4-Adress), z. B nagios.meinedomäne.ch. Proxyhost im Proxymanager erstellen mit dem DNS Name, Zertifikat anfordern. Das heisst auch eine statische IP Adresse wird benötigt. Dies ist auch für private Haushalte, praktisch mit dem gleichen Preis, realisierbar.

 

Nagios Wartung

Benutzer hinzufügen mit unterschiedlichen Rechten

Nagios Benutzer hinzufügen
#
# Nagios Benutzer admin
- #htpasswd  /usr/local/nagios/etc/htpasswd.users admin
#### Zusätzlich müssen berechtigungen dem Benutzer hinzugefügt werden über die Datei
- #nano /usr/local/nagios/etc/cgi.cfg
- Datei bearbeiten, jede Zeile nagiosadmin,admin
###### Benutzername überall mit Komma getrenn hinzufügen, wenn berechtigt werden soll...
- authorized_for_configuration_information=nagiosadmin,admin
- authorized_for_system_commands=nagiosadmin,admin
- authorized_for_all_services=nagiosadmin,admin
- authorized_for_all_hosts=nagiosadmin,admin
- authorized_for_all_service_commands=nagiosadmin,admin
- authorized_for_all_host_commands=nagiosadmin,admin
##### ################# Benutzer hinzufügen Ende
###### Benutzer nur Leserechte geben, einfach diesen Eintrag hinzufügen.
- authorized_for_read_only=user1,user2
###### Nagios und Apache Dienst neu starten
- #systemctl stop nagios.service
- #systemctl start nagios.service
- #systemctl stop apache2.service
- #systemctl start apache2.service
#
This site was last modified on 07/04/2024 at 17:12.

 

Eigene Icons für Map und Geräteliste

Hier beschriebene apple.png ist ein  Icon von vielen die schon vorhanden sind im Verzeichnis /usr/local/nagios/share/images/logos/apple.jpg. Es können in diesem Verzeichnis auch eigene Icon hinzugefügt werden und in der Hostdatei angegeben werde.

 

Eigene Icons
#
#### Im Verzeichnis Icon z. B 38x38 in png hinzufügen
- /usr/local/nagios/share/images/logos
#### In Hostdatei.cfg Icon eintragen
#
# ########## Icon hinzufügen
define host {
    host_name              Hostname
    alias                  IPhone
    address                192.168.1.206
    max_check_attempts     3
    check_period           24x7
    check_command          check-host-alive
    contacts               nagiosadmin
    notification_interval  60
    notification_period    24x7
    icon_image              apple.png
    statusmap_image         apple.png
}
# ########## Icon hinzufügen ENDE
#
- #systemctl stop nagios.service
- #systemctl start nagios.service
#
This site was last modified on 07/04/2024 at 17:12.

 

Mit NCPA Agent auf Windows und Linux Rechner Daten sammeln und an NRDP Nagios Server üebrtragen.

 

Agent NCPA sammelt Daten auf dem Agent Rechner und sendet dies über NRDP Port zum NRDP Server (Auf dem Nagios Server NRDP installiert).
Nagiso liesst über den Command check_ncpa.py die Daten aus dem NRDP und zeigt den Status wie gewohnt im Web an. Installation wird in 4 Schritten aufgeführt. Ausführliche Anleitung von Nagios NCPA..

 

1. NRDP Server auf Nagios Server installieren

NRDP installieren
#
- #apt-get install -y php-xml
- #cd /tmp
- #wget -O nrdp.tar.gz https://github.com/NagiosEnterprises/nrdp/archive/1.5.1.tar.gz
- #tar xzf nrdp.tar.gz
#### Copy File
- #cd /tmp/nrdp-1.5.1/
- #mkdir -p /usr/local/nrdp
- #cp -r clients server LICENSE* CHANGES* /usr/local/nrdp
- #chown -R nagios:nagios /usr/local/nrdp
#### Config Datei anpassen. Bei Token // entfernen und einen token definieren
- #nano /usr/local/nrdp/server/config.inc.php
#### Copy Apache File
- #cp nrdp.conf /etc/apache2/sites-enabled/
- #service apache2 restart
#### Testen, Token eingeben, sollte ein ok anzeigen.
- http://IP_Adresse/nrdp
#
This site was last modified on 07/04/2024 at 17:12.

 

2. NCPA Windows Agent (Windows Server oder Windows Client)

  1. Downloaden https://www.nagios.org/ncpa/
  2. Installieren. API Token muss nicht eingegeben werden wenn doch dann muss dies wenn Nagios Command check ausführt angegeben werden (check_ncpa!-t 'mytoken' -P 5693 -M system/agent_version). Der  NRDP Token muss eingegeben werden. Dies wurde bei der NRDP Installation auf dem Nagios Server angegeben (authorized_tokens). NRDP URL muss auch angegeben werden (Nagios Server https://IP-Adresse:5693/gui/

 

NCPA Acent (Datensammlung) auf Windows installieren

 

3. NCPA Linux Agent (Nagios Server) auch auf Nagios Server installieren

Weil es hier um einen Server geht muss auch ein API Token definiert werden. Auf dem Nagios Server muss bezüglich Command check API Token (NCPA Agent Rechner) angegeben werden (check_ncpa!-t 'mytoken' -P 5693 -M system/agent_version)

 

NCPA Linux Agent
#
- @wget https://assets.nagios.com/downloads/ncpa/ncpa-latest.d11.amd64.deb
- @dpkg -i ./ncpa-latest.d11.amd64.deb
#### Datei anpassen (communityname, Hostname, NRDP URL und Token) ########
- @nano /usr/local/ncpa/etc/ncpa.cfg
#### im Bereich [API]
- community_string = meinToken
#### Im Bereich [nrdp] in diesem Fall der Nagios lokaler Server
- parent = http://192.168.1.73/nrdp/
- token = token von nrdp
#### Datei anpassen (communityname, Hostname, NRDP URL und Token) ENDE ####
- @systemctl restart ncpa_listener.service
#### Am Schluss testen, token wird verlangt
- https://IP-Adresse:5693/gui/
#
This site was last modified on 07/04/2024 at 17:12.

 

4. NCPA Nagios Plugin installieren

check_ncpa.py downloaden danach in das Plugin Verzeichnis kopieren. Danach Eintrag in Commands.cfg und Hostdatei.cfg

 

NCPA Nagios Plugin (check_ncpa.py)

#
###### Quelle: https://www.nagios.org/ncpa/
#
###### downloaden danach in das plugin verzeichnis kopieren
- https://assets.nagios.com/downloads/ncpa/check_ncpa.tar.gz
- /usr/local/nagios/libexec/
###### Eintrag in commands.cfg
- #nano /usr/local/nagios/etc/objects/commands.cfg
#
###### In Datei hinzufügen
define command {
    command_name    check_ncpa
    command_line    $USER1$/check_ncpa.py -H $HOSTADDRESS$ $ARG1$
}
###### In Datei hinzufügen ENDE
#
##### Einträge in Hostdatei.cfg
###### Hostname, IP Adresse und Icon überall ändern.
###### datei Inhalt
define host {
    host_name               NCPA 2 Host
    address                 192.168.1.10
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M system/agent_version
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    contacts                nagiosadmin
    notification_interval   60
    notification_period     24x7
    notifications_enabled   1
    icon_image              ncpa.png
    statusmap_image         ncpa.png
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     CPU Usage
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M cpu/percent -w 20 -c 40 -q 'aggregate=avg'
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     Memory Usage
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M memory/virtual -w 50 -c 80 -u G
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     Process Count
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M processes -w 150 -c 200
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}
###### datei Inhalt ENDE
#
###### Dienst neu starten
- #systemctl stop nagios.service
- #systemctl start nagios.service
#

This site was last modified on 07/04/2024 at 17:12.