PRTG Monitoring externe IP. Brauche Hilfe bei Linux

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PRTG Monitoring externe IP. Brauche Hilfe bei Linux

      Hallo zusammen,
      ich zerbreche mir schon eine ganze Zeit den Kopf, wie ich eine aufgebaute VPN Verbindung in PRTG überprüfen kann. Die VPN Verbindung wird über ein extra Gateway (hat leider kein SNMP oder sonst was) im Netzwerk von meinen VU Boxen genutzt.
      Mir ist die Idee gekommen mit wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi im Shell der VU+ die externe IP abzufragen.
      Leider komme ich hier nicht weiter. Wie kann ich das Ergebnis weiterverwenden?
      Kenne mich mit Linux nicht so gut aus. Müsste das Ergebnis in einer Variable speichern (oder gibt es eine Variable in der die Ausgabe jetzt schon gespeichert wird?
      Der SSH Sensor in PRTG empfängt keine Daten. (Mein Skript hat PRTG schonmal erkannt)
      Kann mir jemand weiterhelfen?

      Sollte jemand einen anderen Lösungsansatz für PRTG haben freue ich mich auch :)

      Danke für eure Hilfe
      IC
    • @Ic2User, suche doch einmal nach "PRTG Network Monitor heise.de", vielleicht hilft dir das weiter....
      Niemand ist perfekt !
    • In eine Variable (z.b. ip) kannst du das speichern mit
      ip=`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`

      Aber was hast du damit später vor?

      mit
      echo $ip

      kannst du die z.b. dann ausgeben
    • Danke anudanan,
      ok, hatte in meiner Versuchen immer Doppelstriche anstatt einfache ".

      The returned data for standard SSH Script sensors must be in the following format:returncode:value:message

      x= Returncode, soll immer 0 sein
      value = muss die IP aus der Variablen rein
      message = Eine Message (egal was)

      Also sollte es als Ergebnis kommen zB 0:82.165.230.17:ok

      Das Format braucht der PRTG Sensor.

      Kannst du mir da noch helfen?

      Danke für Deine Hilfe :)
    • Wenn es immer so aussehen soll
      0:ip:ok, dann geht das z.B. so

      result="0:`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`:ok"

      oder
      ip=`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`
      result="0:$ip:ok"
      mit
      echo $result

      Kommt dann das Gewünschte

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von anudanan ()

    • Vielen Dank anudanan,
      im shell klappt es endlich. Hätte ich nie alleine hin bekommen.
      Jetzt muss ich noch schaffen die Werte ins andere System zu bekommen.

      Also vielen Dank nochmal. *freu*

      Edit: Konnte Werte nicht in PRTG übertragen. Hat weiterhin Fehler gebracht
      Habe die Lösung. Die IP Adresse lasse ich in Message Feld anzeigen. Damit klappt es nun.
      Also: result="0:0:$ip"

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ic2User ()

    • Gerne, dafür sind ja Foren da.

      In welches System musst du das Ergebnis transportieren?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von anudanan ()

    • Hallo nochmal,
      muss mein Skript noch etwas erweitern und komme (natürlich) nicht alleine weiter.
      Könnt Ihr oder anudanan nochmal unter die Arme greifen.
      Ich traue mich mal zu schreiben was ich programmiert habe. Ist ja nicht so, dass ich alles vorgekaut bekommen will. ;)

      Ich möchte damit erreichen, dass bei ungleicher IP der Wert 2 übergeben wird. Hab in so vielen Foren gelesen, überall steht der Syntax etwas anders. Ich komme nicht weiter :(

      Die 192.168.0.1 habe ich nur als Platzhalter hier im Forum eingetragen .Ist natürlich eine externe die ich dann reinschreibe.

      Hier mein Versuch:

      ip=`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`
      if [[ "$ip" != "192.168.0.1" ]]
      then
      wert=2
      fi

      result="$wert:0:$ip"
      echo $result
    • Das Script gibt als Ergebnis einen Text nach STDOUT aus.
      Je nach Ergebnis des Tests sehen die Texte so aus:
      • 2:0:192.168.0.2 wenn die IP-Adresse im Test abweicht
      • :0:192.168.0.1 wenn die IP-Adresse im Test gleich ist.
      Wenn dies das gewünschte Ergebnis ist, ist es in Ordnung.

      Im zweiten Fall ist $wert leer. Der $wert wird ja nur in dem if gesetzt, wenn die Adressen ungleich sind.
      Wenn die Adressen gleich sind, hat $wert keinen Inhalt.
      Darum fängt der Ergebnistext dann direkt mit dem :0 an.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RickX ()

    • Ah, dann ist da mein Fehler. Genau das Format steht im Ergebnis und ich habe mich gewundert warum es mit :0 anfängt.
      Dann brauche ich noch ein else damit ich immer ein Wert in der Variable stehen hab.
      Krass, dann war ich bis jetzt garnicht so falsch nur zu faul *g*

      Also so?

      ip=`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`
      if [[ "$ip" != "192.168.0.1" ]]
      then
      wert=2
      else
      wert=0
      fi

      result="$wert:0:$ip"
      echo $result

      Edit: So funktioniert es.
      Jetzt habe ich noch ein Problem. Bei der IP die ich fest eintrage kann sich die letzte Stelle ändern und soll nicht mit überprüft werden. Kann ich an der Stelle ein Platzhalter setzen und wenn ja was muss da rein. "*" mag es nicht

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ic2User ()

    • Sollte so gehen

      Ich meine aber, dass man die doppelten [[ und ]] nicht braucht sondern auch einfache [ und ] reichen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von anudanan ()

    • Ic2User schrieb:

      Kann ich an der Stelle ein Platzhalter setzen und wenn ja was muss da rein.
      Das funktioniert in der Shell, wenn man case verwendet:

      Shell-Script: iptest.sh

      1. #!/bin/sh
      2. ip=`wget -q -O- networksecuritytoolkit.org/nst/cgi-bin/ip.cgi`
      3. case $ip in
      4. 192.168.0.*)
      5. wert=2
      6. ;;
      7. *)
      8. wert=0
      9. ;;
      10. esac
      11. result="$wert:0:$ip"
      12. echo $result
      Alles anzeigen
    • Dank euch.
      RickX, sieht noch schlanker aus, aber den Befehl case hab ich noch nie gesehen. War jetzt gerade froh das andere verstanden zu haben 8)
      Vielleicht baue ich nochmal um. Beides schöne Lösungen.
      Evtl erweitere ich das Skript noch. Dann müßt Ihr wieder drüber schauen :think1: