1 IP, 2 Server mit zugriff über ssh

Hallo ich habe ein problem

ich überwache mit nagios ein netzwerk
nun muss ich server auf Prozesse überwachen welche über eine hochverfügbare IP adresse die nur virtuell vorhanden ist zugreife.
Dh es ist ein Server und ein hotstand-by server.
nun greife ich auf den Server über dieses virtuelle IP-adresse mittels SSH zu
hierzu wurde ein ssh-key erzeugt und demzufolge auch ein fingerprint.

Schaltet das system nun auf den Hotstandby server um so ändert sich der server aber die IP bleibt gleich.
Nun habe ich das Problem das der Fingerprint nicht mehr passt, also es wird mir der zugriff verweigert.
Hat da wer eine idee wie man das lösen kann
 
Bei Nagios ist es doch garnicht notwendig dich beim SSH explizit einzuloggen. Es reicht doch zu überprüfen ob der SSH-Server überhaupt erreichbar ist. Einfach folgende Command-Definition nutzen:

Code:
define command{
        command_name    check_ssh
        command_line    /opt/nagios/libexec/check_ssh -H $HOSTADDRESS$ -p $ARG1$
}
Den Pfad zum Plugin natürlich anpassen, das bei den default Nagios-Plugins dabei ist. $ARG1$ ist hier der Port. Die Service-Definition würde dann also wie folgt aussehen:

Code:
define service{
        use                             generic-service
        host_name                       meinserver.tld
        service_description             SSH
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           1
        retry_check_interval            1
        contact_groups                  meinekontaktgruppe
        notification_interval           120
        notification_period             24x7
        notification_options            u,c
        check_command                   check_ssh!22
        }

Wenn du den Login doch für notwendig hälst, dann einfach beim Umschalten der Server die known_hosts-Datei des Nagios-Users entsprechend ändern, so dass der neue Fingerprint erkannt wird.
 
ok also die known_hosts anpassen wird nix
habe 1400 server im netzwerk

aber deine Variante dass ich nagios anpasse hört sich gut an.
hab das nur noch nicht verstanden

du deffinierst in der checkcommand das command wie unten angegeben

ich bin mir nur nicht sicher ob du mich verstanden hast

ich will verschieden laufende Prozesse über check_porcs auslesen
und dazu muss ich auf die server zugreifen

denke dass wir da aneinander vorbeireden
ich will nicht SSH auf funktion prüfen

Meine Commandos
checkcommansf.cfg
define command{
command_name check_ssh_postgres
command_line $USER1$/check_by_ssh -t 30 -H $HOSTADDRESS$ -i /etc/nagios/.ssh/id_dsa -C "/usr/sbin/check_procs -w 1:14 -C /opt/pgsql/bin/postmaster"
}


service.cfg

# Generic service definition template
define service{
; The 'name' of this service template, referenced in other service definitions
name Hytas
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 0 ; Passive service checks are enabled/disabled
parallelize_check 1 ; Active service checks should be parallelized
; (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are disabled
event_handler_enabled 0 ; Service event handler is disabled
flap_detection_enabled 0 ; Flap detection is disabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
max_check_attempts 3
normal_check_interval 5
retry_check_interval 2
check_period 24x7
contact_groups gnm4
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
is_volatile 0
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
#########


# Service definition
define service{
use Hytas ; Name of service template to use
hostgroup_name Alle-OS-Server-HVA
service_description check_ssh_postgres
check_command check_ssh_postgres
}
 
check_procs läuft doch aber nur lokal. Dazu musst du einen NRPE installieren, von dem Nagios dann seine Daten ausliest. check_by_ssh dürfte aufgrund der möglicherweise wechselnden Fingerprints da eher ungeeignet sein. Meine Empfehlung wäre daher die Verwendung von NRPE.
 
nein das geht nicht da ich über die Hochvervügbare IP zugreifen muss um auf den aktiven server zu gelangen dan nur auf dem aktiven server laufen die Prozesse die ich überwachen will
 
Dann wirst du dir ein eigenes Plugin basteln müssen, das sich nicht um den Fingerprint kümmert. Alternativ nutzt du NCSA und lässt das Ding die entsprechenden Daten aktiv an den Nagios senden. Nagios holt sich die Daten also nicht ab, sondern bekommt sie geschickt. Andere Möglichkeiten sehe ich nicht.
 
das ist nun nicht gut da ich vom scripten keine Ahnun habe
habs schon mit nen normanr rsh versucht nur werden da die return cods nicht ausgewertet

naja werd mir dann jemand suchen müssen der mir was scripten kann oder es mir zeigt
 
Zurück
Oben