Hallo Zusammen,
ich nutze eine Fortigate Firewall. Die kann natürlich auch SNMP. Ich kann auf ihr auch ein MIB-File runterladen.
Kann man das irgendwie per SNMP an FHEM anbinden und somit irgendwelche Daten auslesen?
Hab mit der Suche dazu keine eindeutige Aussage gefunden. ...oder ich bin blind... ;)
Gruß Piet
Das Modul SYSSTAT bietet snmp.
Ich frage damit meine PoE Switch ab.
Danke.
Hmmm...ich dachte mit dem Modul könnte man nur FHEM selbst überwachen.
Wie kann ich denn dort externe Geräte überwachen?
Commmandref gelesen? 😉
Kann dir später oder morgen wenn ich wieder am PC sitze ein Beispiel von mir posten.
Jupp. Habe ich:
"Das Modul stellt Systemstatistiken für den Rechner, auf dem FHEM läuft bzw. für ein entferntes Linux System, das per vorkonfiguriertem ssh Zugang ohne Passwort erreichbar ist, zur Vefügung."
Zitat von: Frank_Huber am 26 Juli 2022, 20:48:18
Kann dir später oder morgen wenn ich wieder am PC sitze ein Beispiel von mir posten.
Ja sehr gern. :)
Ich frage mittels SNMP auf FHEM einige Systeme in unserem Netzwerk ab, neben ESX Server, Switche, Temperatursensoren auch unsere Firewall (Barracuda).
hier ein gekürzter list von dem Device
Internals:
DEF 300 1800 10.10.10.254
FUUID 5ec3c6a1-f33f-2baa-487c-64b3ca9a4f523a08
HAS_Net::SNMP 1
HOST 10.10.10.254
INTERVAL 300
INTERVAL_FS 1800
NAME SNMP_BarracudaMgmt
NR 20
NTFY_ORDER 50-SNMP_BarracudaMgmt
STATE 0.15 0.13 0.10
SystemDescription Barracuda NG Firewall
SystemName Firewall
TYPE SYSSTAT
USE_SNMP 1
eventCount 3503
interval_fs 1500
snmpCommunity barracuda
snmpVersion 2
QUEUE:
READINGS:
2022-07-27 13:59:52 / 4850118656
2022-07-27 13:59:52 /art 821440512
2022-07-27 13:59:52 /boot 71229440
2022-07-27 13:59:52 /dev/shm 2056183808
2022-07-27 13:59:52 /phion0 40339505152
2021-09-05 11:15:30 /phion0/mail/transactions 209715200
2022-07-27 13:59:52 /run 2047152128
2022-07-27 13:59:52 /sys/fs/cgroup 2056192000
2022-07-27 14:04:52 CPU_Temperature 57000
2022-07-27 13:59:52 Cachedmemory 0
2022-07-27 14:04:52 Firewall_Sessions 1120
2022-07-27 13:59:52 Memorybuffers 3792269312
2022-07-27 14:04:52 Phion_Release GWAY-8.0.6-0211
2022-07-27 13:59:52 Physicalmemory 1234325504
2022-07-27 13:59:52 Sharedmemory 0
2022-07-27 13:59:52 Swapspace 1073737728
2022-07-27 14:04:52 System_Temperature 44500
2022-07-27 13:59:52 Virtualmemory 2308063232
2021-04-19 16:16:23 connection disconnected
2022-07-27 14:04:52 load 0.15
2022-07-27 13:59:52 noSuchInstance 0
2022-07-27 14:04:52 state 0.15 0.13 0.10
2022-07-27 14:04:52 uptime 19815857
filesystems:
1
3
6
7
8
10
35
36
37
38
55
56
57
58
helper:
Attributes:
filesystems 1,3,6,7,8,10,35,36,37,38,55,56,57,58
mibs
.1.3.6.1.2.1.1.3.0:uptime
,.1.3.6.1.4.1.10704.1.2:Phion_Release
,.1.3.6.1.4.1.10704.1.4.1.3.15.67.80.85.32.84.101.109.112.101.114.97.116.117.114.101:CPU_Temperature ,.1.3.6.1.4.1.10704.1.4.1.3.18.83.121.115.116.101.109.32.84.101.109.112.101.114.97.116.117.114.101:System_Temperature
,.1.3.6.1.4.1.10704.1.10.1.1.8.102.119.83.116.97.116.115.0:Firewall_Sessions
noSSH 1
room SNMP
snmp 1
snmpCommunity barracuda
snmpVersion 2
Zitat von: M.Piet am 26 Juli 2022, 20:50:41
Jupp. Habe ich:
"Das Modul stellt Systemstatistiken für den Rechner, auf dem FHEM läuft bzw. für ein entferntes Linux System, das per vorkonfiguriertem ssh Zugang ohne Passwort erreichbar ist, zur Vefügung."
Dann hast zu früh aufgehört zu lesen. ;-)
ZitatNotes:
...
Um einen Zielrechner mit snmp zu überwachen, muss Net::SNMP installiert sein.
Zitat von: M.Piet am 26 Juli 2022, 20:50:41
Ja sehr gern. :)
Hier eine meiner PoE switche die ich abfrage, im Userreading lasse ich mir noch die PoE Summenlast berechnen.
defmod CWGE26FX2TX24MSPOE_1 SYSSTAT 60 600 192.168.12.248
attr CWGE26FX2TX24MSPOE_1 group PoE_Switch
attr CWGE26FX2TX24MSPOE_1 icon it_network
attr CWGE26FX2TX24MSPOE_1 mibs .1.3.6.1.2.1.1.3.0:uptime .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.1:port-01_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.2:port-02_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.3:port-03_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.4:port-04_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.5:port-05_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.6:port-06_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.7:port-07_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.8:port-08_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.9:port-09_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.10:port-10_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.11:port-11_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.12:port-12_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.13:port-13_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.14:port-14_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.15:port-15_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.16:port-16_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.17:port-17_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.18:port-18_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.19:port-19_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.20:port-20_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.21:port-21_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.22:port-22_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.23:port-23_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.11.2.1.1.5.24:port-24_PoE_PowerUsed .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.1:port-01_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.2:port-02_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.3:port-03_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.4:port-04_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.5:port-05_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.6:port-06_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.7:port-07_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.8:port-08_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.9:port-09_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.10:port-10_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.11:port-11_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.12:port-12_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.13:port-13_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.14:port-14_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.15:port-15_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.16:port-16_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.17:port-17_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.18:port-18_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.19:port-19_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.20:port-20_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.21:port-21_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.22:port-22_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.23:port-23_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.24:port-24_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.25:port-25_LinkStatus .1.3.6.1.4.1.32298.2.2.29.9.1.1.2.26:port-26_LinkStatus
attr CWGE26FX2TX24MSPOE_1 noSSH 1
attr CWGE26FX2TX24MSPOE_1 room Switche
attr CWGE26FX2TX24MSPOE_1 snmp 1
attr CWGE26FX2TX24MSPOE_1 stateFormat total PoE Power used: total_PoE_PowerUsed W
attr CWGE26FX2TX24MSPOE_1 userReadings total_PoE_PowerUsed:port-26_LinkStatus.* { my $summe = 0;;\
for my $a ( keys %{$defs{$name}->{READINGS}} ) {\
$summe += ReadingsNum($name, $a, 0) if ($a =~ 'port-' and $a =~ 'PoE_PowerUsed');;\
} return $summe;; },\
uptime_calc:uptime.* {sprintf("%d %02d:%02d",SYSMON_decode_time_diff((ReadingsVal($name,"uptime",0))/100))}
kannst mit FHEM übrigens auch Werte setzen per SNMP, das dann aber über einen anderen Weg.
Hier ein Ausschnitt auf einem meiner DOIF zur PoE Steuerung: (die xxxxxxxx ist die SNMP community mit Schreibrecht) snmpset läuft dann über die shell.
DOELSEIF ([S1_P02:"^PoE_on$"]) ("snmpset -v2c -c xxxxxxxx 192.168.12.248 1.3.6.1.4.1.32298.2.2.29.11.1.5.1.2.2 i 2")
DOELSEIF ([S1_P02:"^Eth_off$"]) ("snmpset -v2c -c xxxxxxxx 192.168.12.248 1.3.6.1.4.1.32298.2.2.29.9.2.1.2.2 i 2")
Moin Zusammen,
ich habe es nun endlich mal versucht umzusetzten. Habe aber noch Probleme.
Ich kann die Fortigate-Firewall über PRTG perfekt abfragen. SNMP an der Fortigate funktioniert also.
Mein SYSSTAT bringt mir aber nur ein "disconnected".
Das Log wirft Folgendes aus:
2022.12.28 09:45:20 2: Forti_SNMP: starting: /usr/bin/ssh -q 192.168.92.1
2022.12.28 09:45:21 3: Forti_SNMP: read: error during sysread: No such process
2022.12.28 09:45:21 3: Forti_SNMP: Disconnected
2022.12.28 09:45:21 3: Forti_SNMP: read: end of file reached while sysread
2022.12.28 09:45:31 2: Forti_SNMP: starting: /usr/bin/ssh -q 192.168.92.1
2022.12.28 09:45:31 3: Forti_SNMP: read: error during sysread: No such process
2022.12.28 09:45:31 3: Forti_SNMP: Disconnected
2022.12.28 09:45:31 3: Forti_SNMP: read: end of file reached while sysread
Mein Device:
Internals:
CFGFN
DEF 60 600 192.168.92.1
FUUID 63ac00a6-f33f-8a41-b286-57eb252504ce3270
HAS_Net::SNMP 1
HOST 192.168.92.1
INTERVAL 60
INTERVAL_FS 600
LAST_DISCONNECT 2022-12-28 09:45:31
NAME Forti_SNMP
NR 474
NTFY_ORDER 50-Forti_SNMP
PARSED 0
PARTIAL
SENT 1
STARTED 0
STATE Disconnected
SystemDescription
SystemName
TYPE SYSSTAT
USE_SNMP 1
eventCount 75
interval_fs 180
snmpCommunity FHEM
snmpVersion 2
QUEUE:
READINGS:
2022-12-28 09:45:31 connection disconnected
helper:
Attributes:
mibs 1.3.6.1.4.1.12356.101.4.1.20:uptime
noSSH 1
room LAN-Status
snmp 1
snmpCommunity FHEM
snmpVersion 2
Jemand noch eine Idee? Da ich per PRTG ohne Probleme die Fortigate abfragen kann, vermute ich einen Fehler in FHEM.
Vielen Dank schon mal.
Im Zielgerät SNMP vom entsprechenden Gerät erlaubt?
Edit:
2022.12.28 09:45:31 2: Forti_SNMP: starting: /usr/bin/ssh -q 192.168.92.1
Irgendwas stimmt bei Dir nicht, Du fragst per ssh und nicht snmp ab ....
ZitatIm Zielgerät SNMP vom entsprechenden Gerät erlaubt?
Ja, aus dem kompletten Netz 192.168.92.xxx
Hmmm. Du hast recht.
Ich habe mal das Attr. noSSH auf 1 gesetzt. Dafür tauchen diese Meldungen jetzt nicht mehr auf.
Aber es bleibt bei dem Disconnected.
Habe den snmpDebug mal aktiviert. Vielleicht kann man hier noch was rauslesen.
debug: [1065] Net::SNMP::Message::_prepare_object_identifier(): leading dot present
debug: [1065] Net::SNMP::Message::_prepare_object_identifier(): leading dot present
debug: [1065] Net::SNMP::Message::_prepare_object_identifier(): leading dot present
debug: [440] Net::SNMP::Dispatcher::_event_insert(): created new head and tail [ARRAY(0x6248598)]
debug: [687] Net::SNMP::Message::send(): transport address 192.168.92.1:161
debug: [2058] Net::SNMP::Message::_buffer_dump(): 80 bytes
[0000] 30 4E 02 01 01 04 06 70 75 62 6C 69 63 A0 41 02 0N.....public.A.
[0016] 04 02 9D 14 F6 02 01 00 02 01 00 30 33 30 0F 06 ...........030..
[0032] 0B 2B 06 01 04 01 8F 65 0A 01 03 01 05 00 30 0F .+.....e......0.
[0048] 06 0B 2B 06 01 04 01 8F 65 0A 01 03 02 05 00 30 ..+.....e......0
[0064] 0F 06 0B 2B 06 01 04 01 8F 65 0A 01 03 03 05 00 ...+.....e......
debug: [200] Net::SNMP::Dispatcher::register(): added handler for descriptor [32]
debug: [462] Net::SNMP::Dispatcher::_event_insert(): modified tail [ARRAY(0x62a5190)]
debug: [535] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x6248598)], defined new head [ARRAY(0x62a5190)]
debug: [596] Net::SNMP::Dispatcher::_event_handle(): event [ARRAY(0x62a5190)], timeout = 2.9994
debug: [239] Net::SNMP::Dispatcher::deregister(): removed handler for descriptor [32]
debug: [343] Net::SNMP::Dispatcher::_transport_timeout(): retries left 0
debug: [687] Net::SNMP::Message::send(): transport address 192.168.92.1:161
debug: [2058] Net::SNMP::Message::_buffer_dump(): 80 bytes
[0000] 30 4E 02 01 01 04 06 70 75 62 6C 69 63 A0 41 02 0N.....public.A.
[0016] 04 02 9D 14 F6 02 01 00 02 01 00 30 33 30 0F 06 ...........030..
[0032] 0B 2B 06 01 04 01 8F 65 0A 01 03 01 05 00 30 0F .+.....e......0.
[0048] 06 0B 2B 06 01 04 01 8F 65 0A 01 03 02 05 00 30 ..+.....e......0
[0064] 0F 06 0B 2B 06 01 04 01 8F 65 0A 01 03 03 05 00 ...+.....e......
debug: [200] Net::SNMP::Dispatcher::register(): added handler for descriptor [32]
debug: [462] Net::SNMP::Dispatcher::_event_insert(): modified tail [ARRAY(0x61b2478)]
debug: [535] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x62a5190)], defined new head [ARRAY(0x61b2478)]
debug: [596] Net::SNMP::Dispatcher::_event_handle(): event [ARRAY(0x61b2478)], timeout = 2.9995
debug: [239] Net::SNMP::Dispatcher::deregister(): removed handler for descriptor [32]
error: [349] Net::SNMP::Dispatcher::_transport_timeout(): No response from remote host "192.168.92.1"
error: [2363] Net::SNMP::__ANON__(): No response from remote host "192.168.92.1"
debug: [517] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x61b2478)], list is now empty
debug: [1065] Net::SNMP::Message::_prepare_object_identifier(): leading dot present
debug: [440] Net::SNMP::Dispatcher::_event_insert(): created new head and tail [ARRAY(0x623bd40)]
debug: [687] Net::SNMP::Message::send(): transport address 192.168.92.1:161
debug: [2058] Net::SNMP::Message::_buffer_dump(): 45 bytes
[0000] 30 2B 02 01 01 04 06 70 75 62 6C 69 63 A1 1E 02 0+.....public...
[0016] 04 2F 1E 2E 2C 02 01 00 02 01 00 30 10 30 0E 06 ./..,......0.0..
[0032] 0A 2B 06 01 02 01 19 03 03 01 02 05 00 .+...........
debug: [200] Net::SNMP::Dispatcher::register(): added handler for descriptor [32]
debug: [462] Net::SNMP::Dispatcher::_event_insert(): modified tail [ARRAY(0x6226990)]
debug: [535] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x623bd40)], defined new head [ARRAY(0x6226990)]
debug: [596] Net::SNMP::Dispatcher::_event_handle(): event [ARRAY(0x6226990)], timeout = 2.9996
debug: [239] Net::SNMP::Dispatcher::deregister(): removed handler for descriptor [32]
debug: [343] Net::SNMP::Dispatcher::_transport_timeout(): retries left 0
debug: [687] Net::SNMP::Message::send(): transport address 192.168.92.1:161
debug: [2058] Net::SNMP::Message::_buffer_dump(): 45 bytes
[0000] 30 2B 02 01 01 04 06 70 75 62 6C 69 63 A1 1E 02 0+.....public...
[0016] 04 2F 1E 2E 2C 02 01 00 02 01 00 30 10 30 0E 06 ./..,......0.0..
[0032] 0A 2B 06 01 02 01 19 03 03 01 02 05 00 .+...........
debug: [200] Net::SNMP::Dispatcher::register(): added handler for descriptor [32]
debug: [462] Net::SNMP::Dispatcher::_event_insert(): modified tail [ARRAY(0x627ed38)]
debug: [535] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x6226990)], defined new head [ARRAY(0x627ed38)]
debug: [596] Net::SNMP::Dispatcher::_event_handle(): event [ARRAY(0x627ed38)], timeout = 2.9996
debug: [239] Net::SNMP::Dispatcher::deregister(): removed handler for descriptor [32]
error: [349] Net::SNMP::Dispatcher::_transport_timeout(): No response from remote host "192.168.92.1"
error: [2363] Net::SNMP::__ANON__(): No response from remote host "192.168.92.1"
debug: [517] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x627ed38)], list is now empty
debug: [440] Net::SNMP::Dispatcher::_event_insert(): created new head and tail [ARRAY(0x6262ff8)]
debug: [687] Net::SNMP::Message::send(): transport address 192.168.92.1:161
debug: [2058] Net::SNMP::Message::_buffer_dump(): 29 bytes
[0000] 30 1B 02 01 01 04 06 70 75 62 6C 69 63 A0 0E 02 0......public...
[0016] 04 4B FA 3F 9A 02 01 00 02 01 00 30 00 .K.?.......0.
debug: [200] Net::SNMP::Dispatcher::register(): added handler for descriptor [32]
debug: [462] Net::SNMP::Dispatcher::_event_insert(): modified tail [ARRAY(0x57e6b70)]
debug: [535] Net::SNMP::Dispatcher::_event_delete(): deleted [ARRAY(0x6262ff8)], defined new head [ARRAY(0x57e6b70)]
debug: [596] Net::SNMP::Dispatcher::_event_handle(): event [ARRAY(0x57e6b70)], timeout = 2.9996
Da kann ich Dir nicht helfen, snmp setze ich bei FHEM nicht ein. Was mir nur noch einfällt zum Prüfen:
- snmp-Version?
- Richtiges "Passwort" ?
Ich habe V1 und V2 getestet.
Passwort? Welches Passwort meinst du?
Du hast die "" übersehen. Ich meinte die Richtige "Community" ..... ist es wirklich bei Dir "public"?
Achso, das meinst du.
Die Community ist auf beiden Seiten auf "FHEM" gesetzt. Siehe auch Screenshot.