ServerView Operation Manager: Auswertung von Shellskripten

PRIMERGY, SPARC Enterprise Server, PRIMEFLEX, PRIMEPower, BS2000

Moderator: ModTeam

siradlib
Posts: 21
Joined: Thu Jul 05, 2012 7:31
Product(s): ISM, AIS Connect, Primergy

ServerView Operation Manager: Auswertung von Shellskripten

Postby siradlib » Fri Dec 20, 2013 16:48

Hallo zusammen,

ich werte mit dem ServerView Operation Manager empfangene Traps mittels Shellskripten aus.
Dazu habe ich als "Destination" in der entsprechenden Regel einen Aufruf meines Shellskripts eingebaut ähnlich folgendem:

Code: Select all

/usr/local/bin/test.sh "$_SRV" "$_TRP" "$_TYP" "$_IPA" "$_CTY" "$_SEV" "$_TIM" "$_IDN" "$_OMS" "$_MIB" "$_SPC" "$_MDL"

In die Variablen (Makros) $_SRV, $_TRP, usw. übergibt ServerView Operation Manager die Bestandteile des Traps: So ist $_SRV z.B. der Name des Servers, von dem der Trap stammt und $_TRP der Meldungstext, der den empfangenen Trap beschreibt. Fujitsu-Dokumentation zu den Variablen/Makros hier: http://manuals.ts.fujitsu.com/file/8382/sv-event-mgr-en.pd
Das 1. Argument meines Shellskriptes ($1) bekommt also den Servernamen übergeben, das 2. ($2) den Meldungstext, usw. Soweit läuft alles ganz gut.

Problematisch wird es, sobald in der Variable $_TRP (also dem Meldungstext) ein Semikolon auftaucht: Passiert das, enthält $1 den Meldungstext nur bis zum Semikolon- und Argumente $2 bis $12 sind lediglich Leerstrings!

Beispiele:

korrekte Übergabe bei Texten ohne Semikolon:

Code: Select all

1=mychassis 2=Communication link failed at the station 6. 3=Link down 4=192.169.64.102 5=public 6=CRITICAL 7=2013-12-17-04.26.18 8=YLE421325K 9=mymms 10=RFC1157.mib 11=0 12=unknown

Problem bei Meldungstexten, die Semikola enthalten:

Code: Select all

1=mychassis 2=Adapter FTS PY SAS RAID Mezz Card 6Gb (0): BBU requires reconditioning 3= 4= 5= 6= 7= 8= 9= 10= 11= 12=

Der korrekte Meldungstext müsste sein:

Code: Select all

Adapter XYZ: BBU requires reconditioning; please initiate a LEARN cycle (Server ABC)


Hat jemand eine Idee bzw. Lösung, wie ich dieses Problem umgehen kann?

uwelk
Posts: 15
Joined: Mon Jul 07, 2008 14:23
Product(s): Primepower, SPARC Enterprise, Primequest

Re: ServerView Operation Manager: Auswertung von Shellskript

Postby uwelk » Fri Jan 17, 2014 8:32

Hallo siradlib,

nur mal so ins Blaue: schon mal einfache Hochkomata statt " in test.sh für die Variablen probiert?

Schöne Grüße
Uli

siradlib
Posts: 21
Joined: Thu Jul 05, 2012 7:31
Product(s): ISM, AIS Connect, Primergy

Re: ServerView Operation Manager: Auswertung von Shellskript

Postby siradlib » Tue Jan 21, 2014 9:18

Hallo Uwe,

vielen Dank für Deine Idee.
uwelk wrote:nur mal so ins Blaue: schon mal einfache Hochkomata statt " in test.sh für die Variablen probiert?


Die Variablen ${1}..${12} in einfache Hochkommata zu setzen, wird nicht funktioneren, da innerhalb einfacher Hochkommata keine Variablen ausgewertet werden. Vergleiche:

Code: Select all

# echo "$SHELL"
/bin/bash
# echo '$SHELL'
$SHELL


Oder meinst Du etwas anderes?

Viele Grüße,
siradlib

uwelk
Posts: 15
Joined: Mon Jul 07, 2008 14:23
Product(s): Primepower, SPARC Enterprise, Primequest

Re: ServerView Operation Manager: Auswertung von Shellskript

Postby uwelk » Thu Jan 23, 2014 14:11

Halllo siradlib,

Du hast Recht, die einfachen Hochkommata verhindern die Variablenauflösung.

Wie sieht es innerhalb von test.sh aus? Arbeitest Du dort mit ... $1 oder ..."$1"?
Bei Variablen mit Leerzeichen helfen die " " um den Positionsparameter, um die Leerzeichen nicht zu verlieren. Vielleicht lösen sie auch das Semikon-Problem.

Schöne Grüße
Uli

siradlib
Posts: 21
Joined: Thu Jul 05, 2012 7:31
Product(s): ISM, AIS Connect, Primergy

Re: ServerView Operation Manager: Auswertung von Shellskript

Postby siradlib » Wed Mar 19, 2014 12:58

Sorry für die späte Antwort- ja, ich arbeite im Shellskript mit Anführungszeichen um die Variablennamen, d.h. so:

Code: Select all

echo "\$1=$1" >> textfile.txt


Ich habe inzwischen eine Aussage von Fujitsu:
Anscheinend handelt es sich um einen Bug im ServerView Operation Manager, dieser Bug soll ab Version 6.30 behoben sein.

siradlib
Posts: 21
Joined: Thu Jul 05, 2012 7:31
Product(s): ISM, AIS Connect, Primergy

Re: ServerView Operation Manager: Auswertung von Shellskripten

Postby siradlib » Tue Nov 01, 2016 15:42

Hallo,

ein, wenn auch sehr später, Nachtrag:

  • es sollten tatsächlich einfache Hochkommata verwendet werden. Mein Denkfehler damals: ServerView ist keine Shell- und demzufolge wird auch keine Auswertung der Variablen/Makros verhindert, wenn man einfache Anführungszeichen verwendet. Beispiel für ein Kommando mit Makros:

    Code: Select all

    /usr/local/bin/trap-func-test.sh '$_TRP'
  • Shell Redirection (>, >>, <, ...) wird innerhalb des Command offiziell nicht unterstützt (ein Fakt, der mir bislang neu war)


Return to “Server Produkte”

Who is online

Users browsing this forum: No registered users and 1 guest