Browse Source

'test.sh' löschen

Daniel Wenzel 2 năm trước cách đây
mục cha
commit
6c38a5f817
1 tập tin đã thay đổi với 0 bổ sung209 xóa
  1. 0 209
      test.sh

+ 0 - 209
test.sh

@@ -1,209 +0,0 @@
-#!/bin/bash
-
-#############################################################
-#
-# check_omada
-#
-# Version 1.0
-#
-# Ein Plugin fuer Icinga / Nagios
-# zur ueberwachung und Auswertung eines
-# Omada-Controllers ab Version 5
-#
-# Urheber: Daniel Wenzel
-# Kontakt: daniel@klenzel.de
-#
-#
-# Abhaengigkeiten:
-# - 'jq'
-# - 'curl'
-#
-# Beispiel fuer Debian: apt-get install jq curl
-#
-# ---------------------------------------------
-#
-# 1.0 - Changelog:
-#
-# 20230312
-# - Initiale Version
-#
-#
-#############################################################
-
-#Funktionen
-function showUsage {
-  echo "
-  Benutzung: $0 [Parameter]
-
-  -H  Hostname / IP-Adresse des Omada Controllers
-
-  -P  Port (Standard = 443) des Omada-Controllers
-
-  -u  Benutzername
-
-  -p  Passwort
-  
-  -s  Angabe der Seiten-ID (nicht Name!)
-
-  -m  Modul
-      'Count-EAPUsers'    => Zeigt auf dem Accesspoint angemeldete Nutzer an
-	  'Get-DeviceLoad'    => Gibt CPU-Auslastung aus
-	  'Get-DeviceMem'     => Gibt Arbeitsspeicher-Auslastung aus
-	  'Get-PortStat'      => Zeigt Traffic-Statistiken eines Ports
-      'Show-Updates'      => Zeigt, ob fuer den Unifi-Controller Aktualisierungen verfuegbar sind
-	  'Show-Connection'   => Prueft, ob ein Geraet am Omada-Controller angemeldet ist
-	  'Show-PoEStatus'    => Zeigt die verbleibende PoE-Kapazitaet an
-
-  -i  (nur bei Get-PortStat notwendig) Angabe des abzufragenden Ports
-
-  -d  Angabe des abzufragenden Geraets
-
-  -w  Angabe, unter welchem Wert der Status 'Warning' ausgegeben werden soll
-      'Count-Users'      => Warnung, wenn Anzahl Nutzer kleiner als der definierte Warning-Wert
-                            Eingabe im Format: 'n'
-      'Active-Alarms'    => Ab dieser Anzahl von Alarmmeldungen wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'n'
-      'Offline-APs'      => Ab dieser Anzahl nicht verfuegbarer APs wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'n'
-      'Has-Updates'      => Ab dieser Anzahl von gefundenen Upgrades wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'n'
-      'Not-Adopted'      => Ab dieser Anzahl nicht zugewiesener Accesspoints wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'n'
-      'Get-DeviceLoad'   => Ist die Load der letzten Minute größer als der angegebene Wert, wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'n.nn'
-      'Get-DeviceMem'    => Ist die Auslastung des Arbeitsspeichers höher als der angegebene Wert, wird der Status 'Warning' ausgeben
-                            Eingabe im Format: 'nn' (z.B. '80' fuer 80% Auslastung)
-      'Get-DeviceUsers'  => Gibt die maximale Anzahl der mit einem AP verbundenen Nutzer an, ab der der Status 'Warning' ausgegeben wird
-                            Eingabe im Format: 'n'
-      'Get-DeviceGuests' => Gibt die maximale Anzahl der mit einem AP verbundenen Gaeste an, ab der der Status 'Warning' ausgegeben wird
-                            Eingabe im Format: 'n'
-      'Show-DevLastSeen' => Gibt die vergangenen Sekunden der letzten Sichtung an, ab die der Status 'Warning' ausgegeben wird
-
-  -c  Angabe, unter welchem Wert der Status 'Critical' ausgegeben werden soll
-      Erlaeuterungen analog zu 'Warning'
-  "
-}
-
-
-#Paramter verarbeiten
-while [ "$1" != "" ]; do
-  case "$1" in
-    -H) shift; strHost="$1";;
-    -P) shift; intPort="$1";;
-    -u) shift; strUsername="$1";;
-    -p) shift; strPassword="$1";;
-    -m) shift; strModus="$1";;
-	-i) shift; strInterface="$1";;
-    -d) shift; strDevice="$1";;
-    -s) shift; strSeite="$1";;
-    -w) shift; intWarning="$1";;
-    -c) shift; intCritical="$1";;
-    *) showUsage; exit 3;;
-  esac
-  shift
-done
-
-if [ -z $strHost ] || [ -z $strUsername ] || [ -z $strPassword ] || [ -z $strModus ] || [ -z $strDevice ] || [ -z $strSeite ]; then
-  showUsage
-  exit 1
-fi
-
-#if ( [ "$strModus" == "Get-PortStat" ] ) && ( [ -z $strInterface ] ) ; then
-#  showUsage
-#  exit 1
-#fi
-
-
-
-#if ( [ "$strModus" == "Get-DeviceLoad" ] || [ "$strModus" == "Get-DeviceMem" ] || [ "$strModus" == "Count-EAPUsers" ] || [ "$strModus" == "Show-PoEStatus" ] ) && ( [ -z $intWarning ] || [ -z $intCritical ] ) ; then
-#  showUsage
-#  exit 1
-#fi
-
-strDevice=$(echo ${strDevice^^})
-
-
-if [ -z $intPort ] ; then
-  intPort=443
-fi
-
-
-
-#################
-
-strJQBinary=$(which jq)
-if [ $? -ne 0 ] ; then
-  echo "Bitte den JSON-Prozessor ${strJQBinary} installieren"
-  exit 3
-fi
-
-strCurlBinary=$(which curl)
-if [ $? -ne 0 ] ; then
-  echo "Bitte das Paket curl installieren"
-  exit 3
-fi
-
-
-#Meta
-intRandom=$(( $RANDOM % 100000 ))
-strBaseURL="https://${strHost}:${intPort}"
-strCookieFile="/tmp/omada_${intRandom}.cookie"
-strCurlCommand="${strCurlBinary} --silent --cookie ${strCookieFile} --cookie-jar ${strCookieFile} --insecure"
-#strLogOutAndCleanUp="${strCurlCommand} $strBaseURL/logout > /dev/null 2>&1 ; rm -f ${strCookieFile}"
-strLogOutAndCleanUp="rm -f ${strCookieFile}"
-
-#Anmelden am Controller
-intControllerID=$(${strCurlCommand} "${strBaseURL}/api/info" | jq -r .result.omadacId)
-intToken=$(${strCurlCommand} -X POST -H "Content-Type: application/json" "${strBaseURL}/${intControllerID}/api/v2/login" -d '{"username": "'"${strUsername}"'", "password": "'"${strPassword}"'"}' | ${strJQBinary} -r .result.token)
-strLoginStatus=$(${strCurlCommand} -X GET -H "Content-Type: application/json" -H "Csrf-Token: ${intToken}" "${strBaseURL}/${intControllerID}/api/v2/loginStatus" | ${strJQBinary} -r .msg)
-
-
-if [ "$strLoginStatus" != "Success." ] ; then
-  echo "Unknown: Anmeldung am Omada-Controller fehlgeschlagen"
-  eval ${strLogOutAndCleanUp}
-  exit 2
-fi
-
-
-
-########## Modi Beginn ##########
-
-
-
-# [Count-EAPUsers] Zeigt auf dem Accesspoint angemeldete Nutzer an
-# -------------------------------------------
-if [ "$strModus" == "Count-EAPUsers" ] ; then
-
-  #intAngemeldeteNutzer=$(${strCurlCommand} -X GET -H "Content-Type: application/json" -H "Csrf-Token: ${intToken}" "${strBaseURL}/${intControllerID}/api/v2/sites/${strSeite}/devices" | jq '.result | map(. | select(.name=="'${strDevice}'")) | . [] .clientNum')
-strDeviceMAC=$(${strCurlCommand} -X GET -H "Content-Type: application/json" -H "Csrf-Token: ${intToken}" "${strBaseURL}/${intControllerID}/api/v2/devices?searchKey=${strDevice}" | ${strJQBinary} -r .result.devices[0].mac)
-
-curl --cookie ${strCookieFile} --cookie-jar ${strCookieFile} --insecure  -X GET -H "Content-Type: application/json" -H "Csrf-Token: ${intToken}" "${strBaseURL}/${intControllerID}/api/v2/sites/${strSeite}/eaps/${strDeviceMAC}"
-
-exit 0
-
-fi
-
-
-
-
-# [Get-PortStat] Zeigt Statistiken eines Switchports an
-# -------------------------------------------
-if [ "$strModus" == "Get-PortStat" ] ; then
-
-  curl --cookie ${strCookieFile} --cookie-jar ${strCookieFile} --insecure  -X GET -H "Content-Type: application/json" -H "Csrf-Token: ${intToken}" "${strBaseURL}/${intControllerID}/api/v2/sites/${strSeite}/insight/switch/port/overview?currentPage=1&currentPageSize=100&searchKey=${strDevice}"
-
-
-  exit 0
-
-fi
-
-
-
-
-
-
-#es wurde kein passender Modus gefunden
-echo "Unkown: Ungueltige Angabe des Moduls"
-eval ${strLogOutAndCleanUp}
-exit 3
-########## Modi Ende ##########