Daten einer Linux Firewall empfangen (Curl?!)

EDIT: Hat sich erstmal erledigt. Mit einem neuen Web Sockets hat es auf Anhieb funktioniert, zumindest dass ich ich eine Var beschreiben kann. Den Rest versuche ich mir jetzt zusammenzufummeln :slight_smile:

Frohe Ostern miteinander …

… da die Feiertage nicht so langweilig werden sollen, wollte ich mal die Temperatur einer Sophos UTM an IPS schicken. Aber so sehr ich mich auch bemühe mit der Suche, ich finde nur Themen wie man von IPS aus was steuern/senden kann.

Im UTM Forum hat schon jemand etwas gebastelt um die Daten an leftronic zu senden, aber ich habe es bisher nicht gepeilt daraus etwas für IPS umzusetzen. Vielleicht kann mir jemand kurz auf die Sprünge helfen, wäre echt prima :smiley:
(was brauche ich alles auf IPS Seite?)

Hier das Script von dem Kollegen:

#!/usr/bin/env bash
# Cronjob for pushing UTM v9.1 health stats to leftronic
# kahn@the-mesh.org

APIKEY="Your Lefttronic access key"
CHIPSET=`sensors | grep temp1: | cut -d " " -f 9 | sed 's/°C//' | sed 's/+//'`
curl -i -X POST -k -d '{"accessKey": $APIKEY, "streamName": "chipsetTemp, "point": '$CHIPSET'}' https://www.leftronic.com/customSend/
CPU=`sensors | grep 'Core 0:' | cut -d " " -f 9 | sed 's/°C//' | sed 's/+//'`
curl -i -X POST -k -d '{"accessKey": $APIKEY, "streamName": "chipsetTemp", "point": '$CPU'}' https://www.leftronic.com/customSend/
LA1=`uptime | cut -d ',' -f 3 | cut -d ' ' -f 5`
curl -i -X POST -k -d '{"accessKey": $APIKEY, "streamName": "loadAvg1", "point": '$LA1'}' https://www.leftronic.com/customSend/
LA5=`uptime | cut -d ',' -f 4 | sed 's/ //'`
curl -i -X POST -k -d '{"accessKey": $APIKEY, "streamName": "loadAvg5", "point": '$LA5'}' https://www.leftronic.com/customSend/
LA15=`uptime | cut -d ',' -f 5 | sed 's/ //'`
curl -i -X POST -k -d '{"accessKey": $APIKEY, "streamName": "loadAvg15", "point": '$LA15'}' https://www.leftronic.com/customSend/

Jetzt bräuchte ich doch mal grad Hilfe…

Ich habe jetzt zwei Temperaturwerte die ich an IPS sende, CHIPSET und CORE0. Führe ich die Zeilen einzeln auf der Sophos aus, werden die Werte korrekt an die jeweilige Variable übermittelt. Lege ich die 4 Zeilen Code in einem sh script ab, wird immer nur die Core Temp aktualisiert, selbst wenn ich im Script nur noch die CHIPSET Zeilen habe… das übersteigt irgendwie mein Verständnis :smiley:

hier das Script:

CHIPSET=`sensors | grep 'temp1': | cut -d " " -f 9 | sed 's/°C//' | sed 's/+//'`
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "0", "method": "SetValue", "params": [47503, '$CHIPSET']}' -u user:password  http://IPSIP:8080/api/
CPU=`sensors | grep 'Core 0:' | cut -d " " -f 9 | sed 's/°C//' | sed 's/+//'`
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "0", "method": "SetValue", "params": [41447, '$CPU']}' -u user:password  http://IPSIP:8080/api/

Das hier ist die Ausgabe wenn ich per SSH ‚sensors‘ aufrufe:

acpitz-virtual-0
Adapter: Virtual device
temp1:        +42.0°C  (crit = +127.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +45.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:       +44.0°C  (high = +105.0°C, crit = +105.0°C)
Core 2:       +44.0°C  (high = +105.0°C, crit = +105.0°C)
Core 3:       +44.0°C  (high = +105.0°C, crit = +105.0°C)


EDIT: OK, auch das hat sich erledigt. Ich habe den Inhalt mal in zwei Scripte aufgeteilt, das CHIPSET Script hat gemeldet HTTP 404. Dann habe ich zwei neue Scripte mit vi erstellt, per copy und paste die Zeilen eingefügt und beide habe funktioniert.

Hmmm,

gibt es da noch irgendwo einen Konfig-Trick innerhalb der Sophos ?
curl per Konsole auf dem Raspberry funktioniert - doch auf der Sophos nicht (Timeout).

Muss ich dort noch irgendwo irgend etwas konfigurieren oder evtl. FW Settings anpassen ?

PS: SNMP wäre auch schön - nur finde ich bisher nix verwertbares im Tree …

Dank & Gruß - Tom

Hier aus diesem Thread hab ich das
https://community.sophos.com/products/unified-threat-management/f/51/t/21651

Besondere Einstellungen habe ich glaub ich nicht gemacht. Musst dich halt per su anmelden.