You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(26) |
Jul
(35) |
Aug
(36) |
Sep
(56) |
Oct
(44) |
Nov
(31) |
Dec
(38) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(63) |
Feb
(88) |
Mar
(91) |
Apr
(68) |
May
(41) |
Jun
(102) |
Jul
(44) |
Aug
(25) |
Sep
(47) |
Oct
(106) |
Nov
(48) |
Dec
(65) |
| 2005 |
Jan
(125) |
Feb
(140) |
Mar
(67) |
Apr
(62) |
May
(52) |
Jun
(62) |
Jul
(60) |
Aug
(68) |
Sep
(57) |
Oct
(51) |
Nov
(141) |
Dec
(67) |
| 2006 |
Jan
(86) |
Feb
(108) |
Mar
(97) |
Apr
(134) |
May
(25) |
Jun
(67) |
Jul
(49) |
Aug
(40) |
Sep
(60) |
Oct
(84) |
Nov
(87) |
Dec
(27) |
| 2007 |
Jan
(69) |
Feb
(64) |
Mar
(32) |
Apr
(27) |
May
(7) |
Jun
(8) |
Jul
(17) |
Aug
(40) |
Sep
(27) |
Oct
(94) |
Nov
(83) |
Dec
(79) |
| 2008 |
Jan
(33) |
Feb
(19) |
Mar
(18) |
Apr
(8) |
May
(34) |
Jun
(51) |
Jul
(45) |
Aug
(24) |
Sep
(13) |
Oct
(2) |
Nov
(27) |
Dec
(26) |
| 2009 |
Jan
(28) |
Feb
(17) |
Mar
(55) |
Apr
(8) |
May
(35) |
Jun
(42) |
Jul
(9) |
Aug
(15) |
Sep
(28) |
Oct
(15) |
Nov
(75) |
Dec
(74) |
| 2010 |
Jan
(26) |
Feb
(14) |
Mar
(39) |
Apr
(67) |
May
(45) |
Jun
(40) |
Jul
(118) |
Aug
(54) |
Sep
(19) |
Oct
(25) |
Nov
(29) |
Dec
(19) |
| 2011 |
Jan
(45) |
Feb
(23) |
Mar
(6) |
Apr
(49) |
May
(18) |
Jun
(13) |
Jul
(14) |
Aug
(30) |
Sep
(7) |
Oct
(23) |
Nov
(17) |
Dec
(35) |
| 2012 |
Jan
(12) |
Feb
(12) |
Mar
(16) |
Apr
(26) |
May
(19) |
Jun
(21) |
Jul
(57) |
Aug
(30) |
Sep
(46) |
Oct
(35) |
Nov
(23) |
Dec
(67) |
| 2013 |
Jan
(49) |
Feb
(52) |
Mar
(10) |
Apr
(42) |
May
(33) |
Jun
(25) |
Jul
(7) |
Aug
(39) |
Sep
(41) |
Oct
(55) |
Nov
(56) |
Dec
(47) |
| 2014 |
Jan
(25) |
Feb
(23) |
Mar
(68) |
Apr
(63) |
May
(67) |
Jun
(62) |
Jul
(59) |
Aug
(78) |
Sep
(36) |
Oct
(54) |
Nov
(58) |
Dec
(77) |
| 2015 |
Jan
(45) |
Feb
(87) |
Mar
(88) |
Apr
(48) |
May
(45) |
Jun
(14) |
Jul
(22) |
Aug
(38) |
Sep
(26) |
Oct
(52) |
Nov
(50) |
Dec
(22) |
| 2016 |
Jan
(23) |
Feb
(47) |
Mar
(10) |
Apr
(21) |
May
(22) |
Jun
(30) |
Jul
(17) |
Aug
(10) |
Sep
(12) |
Oct
(30) |
Nov
(30) |
Dec
(8) |
| 2017 |
Jan
(17) |
Feb
(28) |
Mar
(8) |
Apr
(4) |
May
(21) |
Jun
(59) |
Jul
(34) |
Aug
(50) |
Sep
|
Oct
(21) |
Nov
(6) |
Dec
(40) |
| 2018 |
Jan
(51) |
Feb
(32) |
Mar
(43) |
Apr
(18) |
May
(13) |
Jun
(5) |
Jul
(1) |
Aug
(27) |
Sep
(16) |
Oct
(47) |
Nov
(6) |
Dec
(27) |
| 2019 |
Jan
(20) |
Feb
(25) |
Mar
(12) |
Apr
(32) |
May
(15) |
Jun
(14) |
Jul
(11) |
Aug
(27) |
Sep
(34) |
Oct
(25) |
Nov
(22) |
Dec
(6) |
| 2020 |
Jan
(42) |
Feb
(32) |
Mar
(2) |
Apr
(10) |
May
(7) |
Jun
(10) |
Jul
(8) |
Aug
(12) |
Sep
(30) |
Oct
(28) |
Nov
(10) |
Dec
(8) |
| 2021 |
Jan
(11) |
Feb
(15) |
Mar
(14) |
Apr
(26) |
May
(14) |
Jun
(22) |
Jul
(14) |
Aug
(25) |
Sep
(33) |
Oct
(1) |
Nov
(35) |
Dec
(7) |
| 2022 |
Jan
(15) |
Feb
(7) |
Mar
(3) |
Apr
|
May
(8) |
Jun
(5) |
Jul
(8) |
Aug
(25) |
Sep
(17) |
Oct
(19) |
Nov
(4) |
Dec
(5) |
| 2023 |
Jan
(19) |
Feb
(8) |
Mar
(49) |
Apr
(4) |
May
(5) |
Jun
(14) |
Jul
(13) |
Aug
(10) |
Sep
(3) |
Oct
(18) |
Nov
(22) |
Dec
(27) |
| 2024 |
Jan
(18) |
Feb
(6) |
Mar
(7) |
Apr
(11) |
May
(2) |
Jun
(10) |
Jul
(24) |
Aug
(14) |
Sep
(38) |
Oct
(19) |
Nov
|
Dec
(17) |
| 2025 |
Jan
(8) |
Feb
(3) |
Mar
(19) |
Apr
(18) |
May
(16) |
Jun
(2) |
Jul
(14) |
Aug
(21) |
Sep
(27) |
Oct
(9) |
Nov
(12) |
Dec
|
|
From: Oliver G. <ol...@cp...> - 2025-11-11 09:36:07
|
Hi Ricardo It depends what you want to achieve. If you just want the MIBs included in the netdisco-mibs bundle, without changing Netdisco behaviour, then we only need the git process to be followed so that the bundle is consistent and not breaking other people's systems. You can put the MIBs into netdisco-mibs/vendor directory, and add the name to %MIBS in SNMP::Info to be "loaded" by net-snmp library. Unfortunately simply loading a MIB file won't make Netdisco behave differently. Either vendors support standard MIBs and the SNMP::Info module we use provides an interface to them (like LLDP, or other system info). Or else the vendor has custom MIBs for these features, and SNMP::Info needs special code to map tables in those MIBs to the standard interface Netdisco uses. e.g. a good example https://github.com/netdisco/snmp-info/blob/master/lib/SNMP/Info/Layer3/Juniper.pm Finally, if the thing you're missing is simply the model names (at the moment Netdisco says "enterprises.x.x.x.x" or similar), we have a couple of ways to get that done, but let us know because it also requires a few manual steps (unfortunately due to the way the standards are implemented - none of this is really within Netdisco). I hope it helps, regards oliver On Mon, 10 Nov 2025 at 22:33, Ricardo Stella via netdisco-users < net...@li...> wrote: > We have a couple of TRENDnet managed switches and got the mibs for them. > Not sure I'm ready to embark on getting Git working. I did upload a copy > of the MIBs over a year ago and the issue is still open. > > Is there a way to add these manually to netdisco or is the only way to do > it via a pull request? > > TIA. > > -- > °(((=((===°°°(((================================================ > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ |
|
From: Ricardo S. <st...@ri...> - 2025-11-10 20:39:43
|
We have a couple of TRENDnet managed switches and got the mibs for them. Not sure I'm ready to embark on getting Git working. I did upload a copy of the MIBs over a year ago and the issue is still open. Is there a way to add these manually to netdisco or is the only way to do it via a pull request? TIA. -- °(((=((===°°°(((================================================ |
|
From: Koen D. <dr...@gm...> - 2025-11-10 16:37:04
|
Dirk, What Oliver says. This so called time will change when the device (SNMP agent) reboots. The device's uptime counter starts from zero and increments in timeticks. Then every time an interface changes its last changed value is a copy of the uptime counter. As such netdisco's last seen timestamp is only correct within the up time timeframe of the device. There is no real historical last seen across device boots. Can be confusing when pulling reports. That is why I also would like to see a real time field that keeps a last changed timestamp for interfaces across reboots or possibly uptime counter roll over. BTW. Congratulations on having a device that has been running for 40+ years (Gi1/0/34). ;-) mvg, Koen On Mon, 10 Nov 2025, 15:19 Oliver Gorwits, <ol...@cp...> wrote: > Hi Dirk > > Yes, this field is very strange!! Netdisco stores what SNMP uses for the > port change, which is something called 'timeticks' (100ths of a second > relative to the SNMP agent restarting, I think). > > So, we have a little calculation to get the timestamp, and remember that > we need to take discovery time into account because the timeticks were > stored then: > > > https://github.com/netdisco/netdisco/blob/master/lib/App/Netdisco/DB/ResultSet/DevicePort.pm#L36 > > I've no idea why Netdisco doesn't just store a regular timestamp like > other times. Perhaps we can add it as a new database field (please open a > ticket if you want this). > > Alternatively, the API response does include the friendly timestamps if > you get the data that way. > > regards > oliver. > > On Mon, 10 Nov 2025 at 12:33, Varadi, Dirk via netdisco-users < > net...@li...> wrote: > >> Who can help? >> Where does Netdisco store the right LastChange value? >> I'm currently trying to read out the "Last Change" per port by hand, but >> completely meaningless values are output. >> What am I doing wrong or am I in the wrong table? >> >> >> >> my query in device_port: >> >> SELECT >> ip, >> port, >> descr, >> speed, >> lastchange, >> to_timestamp(lastchange) AS lastchange_as_date, >> CURRENT_DATE - INTERVAL '180 days' AS limit >> FROM public.device_port >> WHERE ip = '172.18.xxx.xxx' >> AND to_timestamp(lastchange) < CURRENT_DATE - INTERVAL '180 days'; >> >> Aktionen >> ip >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=1&sortdir=asc&strings=collapsed&page=1> >> port >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=2&sortdir=asc&strings=collapsed&page=1> >> descr >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=3&sortdir=asc&strings=collapsed&page=1> >> speed >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=4&sortdir=asc&strings=collapsed&page=1> >> lastchange >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=5&sortdir=asc&strings=collapsed&page=1> >> lastchange_as_date >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=6&sortdir=asc&strings=collapsed&page=1> >> limit >> <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=7&sortdir=asc&strings=collapsed&page=1> >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5> >> xxxxx >> GigabitEthernet1/0/5 >> GigabitEthernet1/0/5 >> 1.0 Gbps >> 18813 >> 1970-01-01 06:13:33+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28> >> xxxxxxx >> >> GigabitEthernet1/0/28 >> 1.0 Gbps >> 71497187 >> 1972-04-07 13:19:47+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15> >> xxxxx >> GigabitEthernet1/0/15 >> GigabitEthernet1/0/15 >> 1.0 Gbps >> 18820 >> 1970-01-01 06:13:40+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13> >> xxxx >> GigabitEthernet1/0/13 >> GigabitEthernet1/0/13 >> 1.0 Gbps >> 18819 >> 1970-01-01 06:13:39+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1> >> xxxx >> Vlan1 >> Vlan1 >> 1.0 Gbps >> 18611 >> 1970-01-01 06:10:11+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248> >> xxxx >> Vlan248 >> Vlan248 >> 1.0 Gbps >> 24198 >> 1970-01-01 07:43:18+01 >> 2025-05-14 00:00:00 >> Bearbeiten >> <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2> >> Löschen >> <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2> >> xxxxx >> GigabitEthernet1/1/2 >> GigabitEthernet1/1/2 >> 1.0 Gbps >> 18837 >> 1970-01-01 06:13:57+01 >> 2025-05-14 00:00:00 >> >> >> >> big thanks for help >> >> BR Dirk >> >> >> >> >> This communication and any files or attachments transmitted with it may >> contain information that is copyrighted or confidential and exempt from >> disclosure under applicable law. It is intended solely for the use of the >> individual or the entity to which it is addressed. >> If you are not the intended recipient, you are hereby notified that any >> use, dissemination, or copying of this communication is strictly >> prohibited. >> If you have received this communication in error, please notify the >> sender at once so that he may take the appropriate action and avoid >> troubling you further. >> >> Thank you for your cooperation. >> >> Siltronic AG, Sitz München, Einsteinstraße 172, Tower B / Blue Tower, >> 81677 München, Germany. Amtsgericht München HRB 150884 >> >> Vorstand: Dr. Michael Heckmeier, Claudia Schmitt, Klaus Buchwald. >> Vorsitzender des Aufsichtsrats: Dr. Tobias Ohler >> _______________________________________________ >> Netdisco mailing list >> net...@li... >> https://sourceforge.net/p/netdisco/mailman/netdisco-users/ >> > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ |
|
From: Oliver G. <ol...@cp...> - 2025-11-10 14:19:02
|
Hi Dirk Yes, this field is very strange!! Netdisco stores what SNMP uses for the port change, which is something called 'timeticks' (100ths of a second relative to the SNMP agent restarting, I think). So, we have a little calculation to get the timestamp, and remember that we need to take discovery time into account because the timeticks were stored then: https://github.com/netdisco/netdisco/blob/master/lib/App/Netdisco/DB/ResultSet/DevicePort.pm#L36 I've no idea why Netdisco doesn't just store a regular timestamp like other times. Perhaps we can add it as a new database field (please open a ticket if you want this). Alternatively, the API response does include the friendly timestamps if you get the data that way. regards oliver. On Mon, 10 Nov 2025 at 12:33, Varadi, Dirk via netdisco-users < net...@li...> wrote: > Who can help? > Where does Netdisco store the right LastChange value? > I'm currently trying to read out the "Last Change" per port by hand, but > completely meaningless values are output. > What am I doing wrong or am I in the wrong table? > > > > my query in device_port: > > SELECT > ip, > port, > descr, > speed, > lastchange, > to_timestamp(lastchange) AS lastchange_as_date, > CURRENT_DATE - INTERVAL '180 days' AS limit > FROM public.device_port > WHERE ip = '172.18.xxx.xxx' > AND to_timestamp(lastchange) < CURRENT_DATE - INTERVAL '180 days'; > > Aktionen > ip > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=1&sortdir=asc&strings=collapsed&page=1> > port > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=2&sortdir=asc&strings=collapsed&page=1> > descr > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=3&sortdir=asc&strings=collapsed&page=1> > speed > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=4&sortdir=asc&strings=collapsed&page=1> > lastchange > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=5&sortdir=asc&strings=collapsed&page=1> > lastchange_as_date > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=6&sortdir=asc&strings=collapsed&page=1> > limit > <http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=7&sortdir=asc&strings=collapsed&page=1> > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5> > xxxxx > GigabitEthernet1/0/5 > GigabitEthernet1/0/5 > 1.0 Gbps > 18813 > 1970-01-01 06:13:33+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28> > xxxxxxx > > GigabitEthernet1/0/28 > 1.0 Gbps > 71497187 > 1972-04-07 13:19:47+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15> > xxxxx > GigabitEthernet1/0/15 > GigabitEthernet1/0/15 > 1.0 Gbps > 18820 > 1970-01-01 06:13:40+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13> > xxxx > GigabitEthernet1/0/13 > GigabitEthernet1/0/13 > 1.0 Gbps > 18819 > 1970-01-01 06:13:39+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1> > xxxx > Vlan1 > Vlan1 > 1.0 Gbps > 18611 > 1970-01-01 06:10:11+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248> > xxxx > Vlan248 > Vlan248 > 1.0 Gbps > 24198 > 1970-01-01 07:43:18+01 > 2025-05-14 00:00:00 > Bearbeiten > <http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2> > Löschen > <http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2> > xxxxx > GigabitEthernet1/1/2 > GigabitEthernet1/1/2 > 1.0 Gbps > 18837 > 1970-01-01 06:13:57+01 > 2025-05-14 00:00:00 > > > > big thanks for help > > BR Dirk > > > > > This communication and any files or attachments transmitted with it may > contain information that is copyrighted or confidential and exempt from > disclosure under applicable law. It is intended solely for the use of the > individual or the entity to which it is addressed. > If you are not the intended recipient, you are hereby notified that any > use, dissemination, or copying of this communication is strictly > prohibited. > If you have received this communication in error, please notify the sender > at once so that he may take the appropriate action and avoid troubling you > further. > > Thank you for your cooperation. > > Siltronic AG, Sitz München, Einsteinstraße 172, Tower B / Blue Tower, > 81677 München, Germany. Amtsgericht München HRB 150884 > > Vorstand: Dr. Michael Heckmeier, Claudia Schmitt, Klaus Buchwald. > Vorsitzender des Aufsichtsrats: Dr. Tobias Ohler > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ > |
|
From: Varadi, D. <dir...@si...> - 2025-11-10 12:28:38
|
Who can help?
Where does Netdisco store the right LastChange value?
I'm currently trying to read out the "Last Change" per port by hand, but completely meaningless values are output.
What am I doing wrong or am I in the wrong table?
my query in device_port:
SELECT
ip,
port,
descr,
speed,
lastchange,
to_timestamp(lastchange) AS lastchange_as_date,
CURRENT_DATE - INTERVAL '180 days' AS limit
FROM public.device_port
WHERE ip = '172.18.xxx.xxx'
AND to_timestamp(lastchange) < CURRENT_DATE - INTERVAL '180 days';
Aktionen
ip<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=1&sortdir=asc&strings=collapsed&page=1>
port<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=2&sortdir=asc&strings=collapsed&page=1>
descr<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=3&sortdir=asc&strings=collapsed&page=1>
speed<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=4&sortdir=asc&strings=collapsed&page=1>
lastchange<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=5&sortdir=asc&strings=collapsed&page=1>
lastchange_as_date<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=6&sortdir=asc&strings=collapsed&page=1>
limit<http://sbghndisc01/phppgadmin/redirect.php?server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=7&sortdir=asc&strings=collapsed&page=1>
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F5>
xxxxx
GigabitEthernet1/0/5
GigabitEthernet1/0/5
1.0 Gbps
18813
1970-01-01 06:13:33+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F28>
xxxxxxx
GigabitEthernet1/0/28
1.0 Gbps
71497187
1972-04-07 13:19:47+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F15>
xxxxx
GigabitEthernet1/0/15
GigabitEthernet1/0/15
1.0 Gbps
18820
1970-01-01 06:13:40+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F0%2F13>
xxxx
GigabitEthernet1/0/13
GigabitEthernet1/0/13
1.0 Gbps
18819
1970-01-01 06:13:39+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan1>
xxxx
Vlan1
Vlan1
1.0 Gbps
18611
1970-01-01 06:10:11+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=Vlan248>
xxxx
Vlan248
Vlan248
1.0 Gbps
24198
1970-01-01 07:43:18+01
2025-05-14 00:00:00
Bearbeiten<http://sbghndisc01/phppgadmin/display.php?action=confeditrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2>
Löschen<http://sbghndisc01/phppgadmin/display.php?action=confdelrow&strings=collapsed&page=1&server=127.0.0.1%3A5432%3Aallow&database=netdisco&schema=public&table=device_port&subject=table&query=SELECT+%0D%0A++++ip%2C+%0D%0A++++port%2C+%0D%0A++++descr%2C+%0D%0A++++speed%2C+%0D%0A++++lastchange%2C%0D%0A++++to_timestamp%28lastchange%29+AS+lastchange_as_date%2C%0D%0A++++CURRENT_DATE+-+INTERVAL+%27180+days%27+AS+limit%0D%0AFROM+public.device_port%0D%0AWHERE+ip+%3D+%27172.18.148.131%27%0D%0A++AND+to_timestamp%28lastchange%29+%3C+CURRENT_DATE+-+INTERVAL+%27180+days%27%3B&sortkey=&sortdir=&key%5Bip%5D=172.18.148.131&key%5Bport%5D=GigabitEthernet1%2F1%2F2>
xxxxx
GigabitEthernet1/1/2
GigabitEthernet1/1/2
1.0 Gbps
18837
1970-01-01 06:13:57+01
2025-05-14 00:00:00
[cid:f5747324-c3dd-4b63-bed2-671519d6815b]
big thanks for help
BR Dirk
This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed.
If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify the sender at once so that he may take the appropriate action and avoid troubling you further.
Thank you for your cooperation.
Siltronic AG, Sitz München, Einsteinstraße 172, Tower B / Blue Tower, 81677 München, Germany. Amtsgericht München HRB 150884
Vorstand: Dr. Michael Heckmeier, Claudia Schmitt, Klaus Buchwald. Vorsitzender des Aufsichtsrats: Dr. Tobias Ohler
|
|
From: Oliver G. <ol...@cp...> - 2025-11-06 11:30:46
|
OK, sorry to hear that didn't work (but it was a guess!). I imagine there is a way to get it working, probably some combination of the different setting options. The better solution, as I mentioned in passing before, is to rewrite the prioritisation of different transports, and this work is contained in these three tickets: https://github.com/netdisco/netdisco/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Amulti-transport It's probably the next thing I'll work on, but at the moment I'm focused on something else (getting containerised postgresql upgrades working smoothly). Those tickets above will get dealt with, as the redesign brings many current and future benefits for Netdisco. regards oliver. On Thu, 6 Nov 2025 at 00:33, Muris <alc...@gm...> wrote: > Hi Paul, > > > > Thanks for confirming. > > > > I wonder if there is a better solution to exclude macsuck from cli but > keep arp only. Maybe Oliver can suggest something better how to deal with > this issue? > > If it’s worked out, it can be applied to other SSH collectors to exclude > macsuck if they attempt to use it. > > > > Regards, > > Muris > > > > *From: *"Mackie, Paul" <Pau...@ge...> > *Date: *Thursday, 6 November 2025 at 09:25 > *To: *Muris <alc...@gm...> > *Subject: *RE: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > HI Muris, you’re right, I didn’t run the debug when testing, my mistake. > > > > I’m tempted to just use a cron job in the interim to flip the config every > hour so at least I get mac/arp alternately succeeding at various points > during the day. > > > > Thanks for your help. > > > > Best regards, > > *Paul Mackie* > > > > GEA INTERNAL > > *From:* Muris <alc...@gm...> > *Sent:* 05 November 2025 21:52 > *To:* Oliver Gorwits <ol...@cp...>; Mackie, Paul <Pau...@ge...> > *Cc:* Jethro Binks <jet...@st...>; Nick Nauwelaerts < > nic...@aq...>; Cuttler, Brian R via netdisco-users > (HEALTH) <net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Hi, > > > > I tried adding action: 'arpnip::nodes' (also tested action: arpnip) to the > ArubaCX CLI device_auth, but it actually breaks SSH ARP for ArubaCX - the > worker skips the CLI path entirely. > > > > Debug shows the skip as soon as the action restriction is present: > > > > [info] arpnip started… > > [debug] … Arpnip::Nodes p200 > > [debug] (info) skip: driver or action not applicable > > [debug] … SNMP path used instead > > > > If I remove the action, SSH ARP works again. > > > > Any opinions? > > > > Regards, > > Muris > > > > *From: *Oliver Gorwits <ol...@cp...> > *Date: *Friday, 31 October 2025 at 22:00 > *To: *"Mackie, Paul" <Pau...@ge...> > *Cc: *Muris <alc...@gm...>, Jethro Binks <jet...@st...>, > Nick Nauwelaerts <nic...@aq...>, "Cuttler, Brian R via > netdisco-users (HEALTH)" <net...@li...> > *Subject: *Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Awesome! Glad to hear it's working and thanks for using Netdisco :) > > > > Oliver. > > > > On Fri, 31 Oct 2025 at 10:33, Mackie, Paul <Pau...@ge...> wrote: > > Many thanks Olly, yes that seems to have cracked it, both job types are > working and logs are now clean 😊 > > > > For reference if anyone finds this useful: > > device_auth: > > - tag: ssharubacx > > driver: cli > > platform: ArubaCX > > only: > > - 'os:arubaos-cx' > > action: > > - 'arpnip::nodes' > > username: redacted > > password: ‘redacted’ > > ssh_master_opts: > > - "-o" > > - "StrictHostKeyChecking=no" > > > > > > Best regards, > > *Paul Mackie* > > > > > > GEA INTERNAL > > From: Oliver Gorwits <ol...@cp...> > *Sent:* 29 October 2025 20:15 > *To:* Mackie, Paul <Pau...@ge...> > *Cc:* Muris <alc...@gm...>; Jethro Binks <jet...@st...>; > Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via > netdisco-users (HEALTH) <net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Hi again > > > > I realised there might be a workaround. From the device_auth docs: > > > > "The action key allows you to restrict credentials to certain actions or > even stages of actions on the remote device, such as ARP table gathering > (arpnip::nodes)." > > > > So you should be able to add "action: arpnip" (or "action: > 'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only > arpnip. I guess! Maybe it works. > > > > There are actually three tickets which address this (all in the guts of > Netdisco, not specific to Aruba): 1391 1322 1294 > > > > regards > > oliver. > > > > On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...> wrote: > > That’s correct, at present you can have either but not both. However we > have a ticket for this feature so it should come along soon. Ish. > > > > Oliver. > > > > On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote: > > Hi Jethro / all > > I implemented the SSH collector for AOS-CX, and arpnip is now working for > these devices. Thanks for your work on this. > > However, I see that this also causes macsuck to fail for the same devices, > because it is being attempted by SSH also. > > Am I missing something in my configuration, or do I need to choose between > having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can > have either but not both at present? > > > > Best regards, > > *Paul Mackie* > > > > GEA INTERNAL > > From: Muris <alc...@gm...> > *Sent:* 24 September 2025 10:08 > *To:* Jethro Binks <jet...@st...>; Nick Nauwelaerts < > nic...@aq...>; Oliver Gorwits <ol...@cp...> > *Cc:* Cuttler, Brian R via netdisco-users (HEALTH) < > net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1 > problem with it is that it doesnt work in environments with multiple vrfs > > Can i make a suggestion to change this line - > > *$expect->send("show arp\n");* > > to > > *$expect->send("show arp all-vrfs\n");* > > This way it works accross all VRFs present on the switch. > > I did test it modifying to this and it does work correctly in mutiple > VRF's and grabbing the arps. > > > > Regards, > > Muris > > > > *From: *Jethro Binks <jet...@st...> > *Date: *Monday, 25 August 2025 at 04:15 > *To: *Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits < > ol...@cp...> > *Cc: *"Cuttler, Brian R (HEALTH) via netdisco-users" < > net...@li...> > *Subject: *Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Mmm yes indeed, the "arpnip::nodes" comes from the Configuration > documentation ("The action key allows you to restrict credentials to > certain actions or even stages of actions on the remote device, such as ARP > table gathering (arpnip::nodes)", but I've tried with action: arpnip and no > action at all and the effect is the same. > > > > In fact if I introduce a deliberate syntax error into ArubaCX.pm, or > alternatively set a nonsense platform: ArubaCXXX, it makes no difference > either, so it's like this is never properly trying. It does use SNMP to > gather Arpnip::Subnets (correctly). > > > > I have to run an older version (2.076005) because of other issues just > now, so it's entirely possibly I'm hitting an issue already resolved, > although I've been through the notes and a code diff and can't spot > anything too relevant. > > > > Aha! > > > > I moved my cli driver section from the bottom of the device_auth > credentials to the top, and it now hits the syntax error I introduced. > > So now I have: > > > > [54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip() > > [54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from > 130.159.1.52 > > [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100 > > [54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at > higher priority > > [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100 > > > > Although it didn't actually get any: > > > > [54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50 > outstanding requests > > But that allowed me to finally check and fix the script which literally > took 2 mins to fix the regexp, and now it all works. > > > > I have added to the discussion: > https://github.com/netdisco/netdisco/discussions/869 > > > > And also made some references between the various other Aruba-related > issues that touch on naming problems in various respects. > > > > Jethro. > > > > . . . . . . . . . . . . . . . . . . . . . . . . . > > Jethro R Binks, Network Manager, > > Information Services Directorate, University Of Strathclyde, Glasgow, UK > > > > The University of Strathclyde is a charitable body, registered > in Scotland, number SC015263. > > > ------------------------------ > > *From:* Nick Nauwelaerts <nic...@aq...> > *Sent:* 24 August 2025 1:34 PM > *To:* Jethro Binks <jet...@st...>; Oliver Gorwits < > ol...@cp...> > *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users < > net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > all the examples i see just use arpnip instead of arpnip::nodes > > > > perhaps change your config action to plain "arpnip" & make sure there's an > arpnip function in your ssh module > > > ------------------------------ > > *From:* Jethro Binks <jet...@st...> > *Sent:* Sunday, August 24, 2025 12:39 > *To:* Oliver Gorwits <ol...@cp...> > *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users < > net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Thanks Oliver. > > > > Any thoughts on why I can't get the SSHCollector script to trigger though > ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1 > providing no further clues. > > > > While I potentially have a workaround now using that -p option, that's > still going to need work and is still < SSHCollector ( < SNMP::Info > ipNetToPhysicalTable). It must be something simple but I can't see it. > > > > Jethro. > > > > . . . . . . . . . . . . . . . . . . . . . . . . . > > Jethro R Binks, Network Manager, > > Information Services Directorate, University Of Strathclyde, Glasgow, UK > > > > The University of Strathclyde is a charitable body, registered > in Scotland, number SC015263. > ------------------------------ > > *From:* Oliver Gorwits <ol...@cp...> > *Sent:* 22 August 2025 10:02 PM > *To:* Jethro Binks <jet...@st...> > *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users < > net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Hi Jethro, > > > > Ah you're right the API wiki page has Perl syntax (not JSON) because the > mojolicious library will convert it. The netdisco-do man page is misleading. > > > > It actually means to refer to the API spec itself which is here: > https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps > > > > I'll see if we can make netdisco-do doc clearer. > > > > By the way, glad to see -p option being used. In the next major version > this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e > '@-'". Just to make it a bit cleaner across different commands. > > > > regards > > oliver. > > > > On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...> > wrote: > > Hey, > > > > I've tried it with and without the action:. > > > > Adding env ND2_LOG_PLUGINS=1 provided no additional output here: > > > > [35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run > > [35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase > > [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare > common data" > > [35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase > > [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000 > > [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied > by other source > > [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200 > > [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not > applicable > > [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100 > > [35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress] > > > > But I didn't know about that, so I will remember it in future thanks. > > > > Failing progress here, I took a look at doing it out-of-band, and then > using: > > > > Submit arpnip results directly to Netdisco by putting the JSON data in > a > > file and using the "-p" option (see API web docs for data format > > example): > > > > ~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json > > > > Which also seems a more recent addition I'd not noticed before. But while > the API docs suggest the format for the JSON should be: > > > > [ > > { mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" } > > ] > > > > I had to write it such: > > > > [ > > { mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" } > > ] > > > > But it did work! So that's another interim workaround perhaps. Still > icky. > > > > J. > > > > . . . . . . . . . . . . . . . . . . . . . . . . . > > Jethro R Binks, Network Manager, > > Information Services Directorate, University Of Strathclyde, Glasgow, UK > > > > The University of Strathclyde is a charitable body, registered > in Scotland, number SC015263. > ------------------------------ > > *From:* Christian Ramseyer <ram...@ne...> > *Sent:* 22 August 2025 12:54 AM > *To:* Jethro Binks <jet...@st...>; Cuttler, Brian R (HEALTH) > via netdisco-users <net...@li...> > *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, > again > > > > Hi! > > On 21.08.2025 21:31, Jethro Binks wrote: > > action: arpnip::nodes > > Your config looks fine at a first glance except for I have never seen > action: used in device_auth... just as a wild guess maybe try without it? > > You can also try ND2_LOG_PLUGINS=1 as env var to get some more output > from plugin and worker selection, maybe that helps. > > Cheers > Christian > > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ > > > ------------------------------ > > > *Volg Aquafin op LinkedIn > <http://www.linkedin.com/company/aquafin/products> | Facebook > <https://www.facebook.com/AquafinNV> | Instagram > <https://www.instagram.com/aquafin_nv/> | YouTube > <http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>* > In het kader van de uitoefening van onze taken verzamelen we bij Aquafin > persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de > betrokkenen zijn, kan je nalezen in onze privacy policy > <https://www.aquafin.be/nl-be/privacy-policy>. > P Denk aan het milieu. Druk deze mail niet onnodig af. > [image: Image removed by sender.] > <https://www.openbedrijvendag.be/bedrijven/aquafin/> > > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ > |
|
From: Muris <alc...@gm...> - 2025-11-05 23:19:19
|
Hi Paul,
Thanks for confirming.
I wonder if there is a better solution to exclude macsuck from cli but keep arp only. Maybe Oliver can suggest something better how to deal with this issue?
If it’s worked out, it can be applied to other SSH collectors to exclude macsuck if they attempt to use it.
Regards,
Muris
From: "Mackie, Paul" <Pau...@ge...>
Date: Thursday, 6 November 2025 at 09:25
To: Muris <alc...@gm...>
Subject: RE: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
HI Muris, you’re right, I didn’t run the debug when testing, my mistake.
I’m tempted to just use a cron job in the interim to flip the config every hour so at least I get mac/arp alternately succeeding at various points during the day.
Thanks for your help.
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...>
Sent: 05 November 2025 21:52
To: Oliver Gorwits <ol...@cp...>; Mackie, Paul <Pau...@ge...>
Cc: Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi,
I tried adding action: 'arpnip::nodes' (also tested action: arpnip) to the ArubaCX CLI device_auth, but it actually breaks SSH ARP for ArubaCX - the worker skips the CLI path entirely.
Debug shows the skip as soon as the action restriction is present:
[info] arpnip started…
[debug] … Arpnip::Nodes p200
[debug] (info) skip: driver or action not applicable
[debug] … SNMP path used instead
If I remove the action, SSH ARP works again.
Any opinions?
Regards,
Muris
From: Oliver Gorwits <ol...@cp...>
Date: Friday, 31 October 2025 at 22:00
To: "Mackie, Paul" <Pau...@ge...>
Cc: Muris <alc...@gm...>, Jethro Binks <jet...@st...>, Nick Nauwelaerts <nic...@aq...>, "Cuttler, Brian R via netdisco-users (HEALTH)" <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Awesome! Glad to hear it's working and thanks for using Netdisco :)
Oliver.
On Fri, 31 Oct 2025 at 10:33, Mackie, Paul <Pau...@ge...> wrote:
Many thanks Olly, yes that seems to have cracked it, both job types are working and logs are now clean 😊
For reference if anyone finds this useful:
device_auth:
- tag: ssharubacx
driver: cli
platform: ArubaCX
only:
- 'os:arubaos-cx'
action:
- 'arpnip::nodes'
username: redacted
password: ‘redacted’
ssh_master_opts:
- "-o"
- "StrictHostKeyChecking=no"
Best regards,
Paul Mackie
GEA INTERNAL
From: Oliver Gorwits <ol...@cp...>
Sent: 29 October 2025 20:15
To: Mackie, Paul <Pau...@ge...>
Cc: Muris <alc...@gm...>; Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi again
I realised there might be a workaround. From the device_auth docs:
"The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)."
So you should be able to add "action: arpnip" (or "action: 'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only arpnip. I guess! Maybe it works.
There are actually three tickets which address this (all in the guts of Netdisco, not specific to Aruba): 1391 1322 1294
regards
oliver.
On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...> wrote:
That’s correct, at present you can have either but not both. However we have a ticket for this feature so it should come along soon. Ish.
Oliver.
On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote:
Hi Jethro / all
I implemented the SSH collector for AOS-CX, and arpnip is now working for these devices. Thanks for your work on this.
However, I see that this also causes macsuck to fail for the same devices, because it is being attempted by SSH also.
Am I missing something in my configuration, or do I need to choose between having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can have either but not both at present?
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...>
Sent: 24 September 2025 10:08
To: Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1 problem with it is that it doesnt work in environments with multiple vrfs
Can i make a suggestion to change this line -
$expect->send("show arp\n");
to
$expect->send("show arp all-vrfs\n");
This way it works accross all VRFs present on the switch.
I did test it modifying to this and it does work correctly in mutiple VRF's and grabbing the arps.
Regards,
Muris
From: Jethro Binks <jet...@st...>
Date: Monday, 25 August 2025 at 04:15
To: Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <ol...@cp...>
Cc: "Cuttler, Brian R (HEALTH) via netdisco-users" <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Mmm yes indeed, the "arpnip::nodes" comes from the Configuration documentation ("The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)", but I've tried with action: arpnip and no action at all and the effect is the same.
In fact if I introduce a deliberate syntax error into ArubaCX.pm, or alternatively set a nonsense platform: ArubaCXXX, it makes no difference either, so it's like this is never properly trying. It does use SNMP to gather Arpnip::Subnets (correctly).
I have to run an older version (2.076005) because of other issues just now, so it's entirely possibly I'm hitting an issue already resolved, although I've been through the notes and a code diff and can't spot anything too relevant.
Aha!
I moved my cli driver section from the bottom of the device_auth credentials to the top, and it now hits the syntax error I introduced.
So now I have:
[54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
[54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from 130.159.1.52
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
[54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at higher priority
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
Although it didn't actually get any:
[54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50 outstanding requests
But that allowed me to finally check and fix the script which literally took 2 mins to fix the regexp, and now it all works.
I have added to the discussion: https://github.com/netdisco/netdisco/discussions/869
And also made some references between the various other Aruba-related issues that touch on naming problems in various respects.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Nick Nauwelaerts <nic...@aq...>
Sent: 24 August 2025 1:34 PM
To: Jethro Binks <jet...@st...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
all the examples i see just use arpnip instead of arpnip::nodes
perhaps change your config action to plain "arpnip" & make sure there's an arpnip function in your ssh module
From: Jethro Binks <jet...@st...>
Sent: Sunday, August 24, 2025 12:39
To: Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Thanks Oliver.
Any thoughts on why I can't get the SSHCollector script to trigger though ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1 providing no further clues.
While I potentially have a workaround now using that -p option, that's still going to need work and is still < SSHCollector ( < SNMP::Info ipNetToPhysicalTable). It must be something simple but I can't see it.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Oliver Gorwits <ol...@cp...>
Sent: 22 August 2025 10:02 PM
To: Jethro Binks <jet...@st...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi Jethro,
Ah you're right the API wiki page has Perl syntax (not JSON) because the mojolicious library will convert it. The netdisco-do man page is misleading.
It actually means to refer to the API spec itself which is here: https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
I'll see if we can make netdisco-do doc clearer.
By the way, glad to see -p option being used. In the next major version this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e '@-'". Just to make it a bit cleaner across different commands.
regards
oliver.
On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...> wrote:
Hey,
I've tried it with and without the action:.
Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
[35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
[35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare common data"
[35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied by other source
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not applicable
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
[35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
But I didn't know about that, so I will remember it in future thanks.
Failing progress here, I took a look at doing it out-of-band, and then using:
Submit arpnip results directly to Netdisco by putting the JSON data in a
file and using the "-p" option (see API web docs for data format
example):
~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
Which also seems a more recent addition I'd not noticed before. But while the API docs suggest the format for the JSON should be:
[
{ mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
]
I had to write it such:
[
{ mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
]
But it did work! So that's another interim workaround perhaps. Still icky.
J.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Christian Ramseyer <ram...@ne...>
Sent: 22 August 2025 12:54 AM
To: Jethro Binks <jet...@st...>; Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi!
On 21.08.2025 21:31, Jethro Binks wrote:
> action: arpnip::nodes
Your config looks fine at a first glance except for I have never seen
action: used in device_auth... just as a wild guess maybe try without it?
You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
from plugin and worker selection, maybe that helps.
Cheers
Christian
_______________________________________________
Netdisco mailing list
net...@li...
https://sourceforge.net/p/netdisco/mailman/netdisco-users/
Volg Aquafin op LinkedIn | Facebook | Instagram | YouTube
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de betrokkenen zijn, kan je nalezen in onze privacy policy.
P Denk aan het milieu. Druk deze mail niet onnodig af.
|
|
From: Muris <alc...@gm...> - 2025-11-05 21:52:23
|
Hi,
I tried adding action: 'arpnip::nodes' (also tested action: arpnip) to the ArubaCX CLI device_auth, but it actually breaks SSH ARP for ArubaCX - the worker skips the CLI path entirely.
Debug shows the skip as soon as the action restriction is present:
[info] arpnip started…
[debug] … Arpnip::Nodes p200
[debug] (info) skip: driver or action not applicable
[debug] … SNMP path used instead
If I remove the action, SSH ARP works again.
Any opinions?
Regards,
Muris
From: Oliver Gorwits <ol...@cp...>
Date: Friday, 31 October 2025 at 22:00
To: "Mackie, Paul" <Pau...@ge...>
Cc: Muris <alc...@gm...>, Jethro Binks <jet...@st...>, Nick Nauwelaerts <nic...@aq...>, "Cuttler, Brian R via netdisco-users (HEALTH)" <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Awesome! Glad to hear it's working and thanks for using Netdisco :)
Oliver.
On Fri, 31 Oct 2025 at 10:33, Mackie, Paul <Pau...@ge...> wrote:
Many thanks Olly, yes that seems to have cracked it, both job types are working and logs are now clean 😊
For reference if anyone finds this useful:
device_auth:
- tag: ssharubacx
driver: cli
platform: ArubaCX
only:
- 'os:arubaos-cx'
action:
- 'arpnip::nodes'
username: redacted
password: ‘redacted’
ssh_master_opts:
- "-o"
- "StrictHostKeyChecking=no"
Best regards,
Paul Mackie
GEA INTERNAL
From: Oliver Gorwits <ol...@cp...>
Sent: 29 October 2025 20:15
To: Mackie, Paul <Pau...@ge...>
Cc: Muris <alc...@gm...>; Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi again
I realised there might be a workaround. From the device_auth docs:
"The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)."
So you should be able to add "action: arpnip" (or "action: 'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only arpnip. I guess! Maybe it works.
There are actually three tickets which address this (all in the guts of Netdisco, not specific to Aruba): 1391 1322 1294
regards
oliver.
On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...> wrote:
That’s correct, at present you can have either but not both. However we have a ticket for this feature so it should come along soon. Ish.
Oliver.
On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote:
Hi Jethro / all
I implemented the SSH collector for AOS-CX, and arpnip is now working for these devices. Thanks for your work on this.
However, I see that this also causes macsuck to fail for the same devices, because it is being attempted by SSH also.
Am I missing something in my configuration, or do I need to choose between having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can have either but not both at present?
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...>
Sent: 24 September 2025 10:08
To: Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1 problem with it is that it doesnt work in environments with multiple vrfs
Can i make a suggestion to change this line -
$expect->send("show arp\n");
to
$expect->send("show arp all-vrfs\n");
This way it works accross all VRFs present on the switch.
I did test it modifying to this and it does work correctly in mutiple VRF's and grabbing the arps.
Regards,
Muris
From: Jethro Binks <jet...@st...>
Date: Monday, 25 August 2025 at 04:15
To: Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <ol...@cp...>
Cc: "Cuttler, Brian R (HEALTH) via netdisco-users" <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Mmm yes indeed, the "arpnip::nodes" comes from the Configuration documentation ("The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)", but I've tried with action: arpnip and no action at all and the effect is the same.
In fact if I introduce a deliberate syntax error into ArubaCX.pm, or alternatively set a nonsense platform: ArubaCXXX, it makes no difference either, so it's like this is never properly trying. It does use SNMP to gather Arpnip::Subnets (correctly).
I have to run an older version (2.076005) because of other issues just now, so it's entirely possibly I'm hitting an issue already resolved, although I've been through the notes and a code diff and can't spot anything too relevant.
Aha!
I moved my cli driver section from the bottom of the device_auth credentials to the top, and it now hits the syntax error I introduced.
So now I have:
[54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
[54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from 130.159.1.52
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
[54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at higher priority
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
Although it didn't actually get any:
[54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50 outstanding requests
But that allowed me to finally check and fix the script which literally took 2 mins to fix the regexp, and now it all works.
I have added to the discussion: https://github.com/netdisco/netdisco/discussions/869
And also made some references between the various other Aruba-related issues that touch on naming problems in various respects.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Nick Nauwelaerts <nic...@aq...>
Sent: 24 August 2025 1:34 PM
To: Jethro Binks <jet...@st...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
all the examples i see just use arpnip instead of arpnip::nodes
perhaps change your config action to plain "arpnip" & make sure there's an arpnip function in your ssh module
From: Jethro Binks <jet...@st...>
Sent: Sunday, August 24, 2025 12:39
To: Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Thanks Oliver.
Any thoughts on why I can't get the SSHCollector script to trigger though ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1 providing no further clues.
While I potentially have a workaround now using that -p option, that's still going to need work and is still < SSHCollector ( < SNMP::Info ipNetToPhysicalTable). It must be something simple but I can't see it.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Oliver Gorwits <ol...@cp...>
Sent: 22 August 2025 10:02 PM
To: Jethro Binks <jet...@st...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi Jethro,
Ah you're right the API wiki page has Perl syntax (not JSON) because the mojolicious library will convert it. The netdisco-do man page is misleading.
It actually means to refer to the API spec itself which is here: https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
I'll see if we can make netdisco-do doc clearer.
By the way, glad to see -p option being used. In the next major version this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e '@-'". Just to make it a bit cleaner across different commands.
regards
oliver.
On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...> wrote:
Hey,
I've tried it with and without the action:.
Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
[35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
[35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare common data"
[35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied by other source
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not applicable
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
[35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
But I didn't know about that, so I will remember it in future thanks.
Failing progress here, I took a look at doing it out-of-band, and then using:
Submit arpnip results directly to Netdisco by putting the JSON data in a
file and using the "-p" option (see API web docs for data format
example):
~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
Which also seems a more recent addition I'd not noticed before. But while the API docs suggest the format for the JSON should be:
[
{ mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
]
I had to write it such:
[
{ mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
]
But it did work! So that's another interim workaround perhaps. Still icky.
J.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
From: Christian Ramseyer <ram...@ne...>
Sent: 22 August 2025 12:54 AM
To: Jethro Binks <jet...@st...>; Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi!
On 21.08.2025 21:31, Jethro Binks wrote:
> action: arpnip::nodes
Your config looks fine at a first glance except for I have never seen
action: used in device_auth... just as a wild guess maybe try without it?
You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
from plugin and worker selection, maybe that helps.
Cheers
Christian
_______________________________________________
Netdisco mailing list
net...@li...
https://sourceforge.net/p/netdisco/mailman/netdisco-users/
Volg Aquafin op LinkedIn | Facebook | Instagram | YouTube
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de betrokkenen zijn, kan je nalezen in onze privacy policy.
P Denk aan het milieu. Druk deze mail niet onnodig af.
|
|
From: DeSantos, M. <MDe...@Jo...> - 2025-11-05 17:09:33
|
Thank you, Oliver and great work with netdisco. I'll test the config settings you provided. --- Thanks, Matt ________________________________ From: Oliver Gorwits <ol...@cp...> Sent: Wednesday, November 5, 2025 4:23 AM To: DeSantos, Matthew <MDe...@Jo...> Cc: net...@li... <net...@li...> Subject: Re: [Netdisco] Discovery, ARP and MAC issues after update You don't often get email from ol...@cp.... Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> CAUTION: This email originated from outside of Jordan's. Oh I forgot to mention, by commenting out the SNMP part of device_auth this might also stop things working. Discovery on a device needs to happen first, and this (currently) requires SNMP. Then after it's discovered, you can run macsuck/arpnip using the CLI module, but not before. regards Oliver. On Wed, 5 Nov 2025 at 09:20, Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>> wrote: Hi Matt, and thanks for using Netdisco! OK I see an issue in your config. The discover_only setting doesn't have any subkeys like device_auth, subnet, or hosts. It's just a plain list of IPs or other groups can be contained. So you possibly want something like this: https://nopaste.net/iKjFX8bBGN The wiki docs I guess you have seen, but in case not: https://github.com/netdisco/netdisco/wiki/Configuration#access-control-lists https://github.com/netdisco/netdisco/wiki/Configuration#host_groups Finally there's a good way to troubleshoot by asking Netdisco to dump the config: ~netdisco/bin/netdisco-do dumpconfig -e host_groups ~netdisco/bin/netdisco-do dumpconfig -e device_auth Hope this helps! oliver. On Wed, 5 Nov 2025 at 00:33, DeSantos, Matthew via netdisco-users <net...@li...<mailto:net...@li...>> wrote: Hello, I'm pulling my hair out trying to get netdisco to work again. It's been a great tool for years now, but I recently updated and can't seem to get anything to work anymore. I always had an overlap with the YAML config meaning our switches/firewalls use the same mgmt subnet, but I would use host_group to match the individual firewall IP and a subnet to match the remaining switches. I tried various configurations but each time I failed. Can someone please review my device_auth, host_group, and discover_only stanza and let me know what I'm missing here. I commented out the SNMP stanza to test SSH/CLI for the firewalls. The debug output returns 'discovery skipped: 10.10.200.220 is not discoverable. device_auth: # - tag: 'Extreme' # version: '3' # user: 'redacted' # auth: # pass: 'redacted' # proto: 'SHA' # priv: # pass: 'redacted' # proto: 'AES' # Changed from DES to AES for compatibility - tag: 'Firewalls' driver: 'cli' platform: 'PaloAlto' only: - 'group:paloalto-firewalls' username: 'redacted' password: 'redacted' ssh_master_opts: - "-o" - "StrictHostKeyChecking=no" # Host groups for access control host_groups: paloalto-firewalls: - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.210$' - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.220$' # Discovery targets discover_only: - group: 'extreme-switches' device_auth: 'Extreme' subnet: - 10.1.200.0/24<http://10.1.200.0/24> - 10.3.200.0/24<http://10.3.200.0/24> - 10.4.200.0/24<http://10.4.200.0/24> - 10.5.200.0/24<http://10.5.200.0/24> - 10.6.200.0/24<http://10.6.200.0/24> - 10.7.200.0/24<http://10.7.200.0/24> - 10.8.200.0/24<http://10.8.200.0/24> - 10.9.200.0/24<http://10.9.200.0/24> - 10.10.200.0/24<http://10.10.200.0/24> - group: 'paloalto-firewalls' device_auth: 'Firewalls' hosts: - 10.10.200.210 - 10.10.200.220 -- Thanks, Matt _______________________________________________ Netdisco mailing list net...@li...<mailto:net...@li...> https://sourceforge.net/p/netdisco/mailman/netdisco-users/ |
|
From: Oliver G. <ol...@cp...> - 2025-11-05 09:23:52
|
Oh I forgot to mention, by commenting out the SNMP part of device_auth this might also stop things working. Discovery on a device needs to happen first, and this (currently) requires SNMP. Then after it's discovered, you can run macsuck/arpnip using the CLI module, but not before. regards Oliver. On Wed, 5 Nov 2025 at 09:20, Oliver Gorwits <ol...@cp...> wrote: > Hi Matt, and thanks for using Netdisco! > > OK I see an issue in your config. The discover_only setting doesn't have > any subkeys like device_auth, subnet, or hosts. It's just a plain list of > IPs or other groups can be contained. > > So you possibly want something like this: https://nopaste.net/iKjFX8bBGN > > The wiki docs I guess you have seen, but in case not: > > https://github.com/netdisco/netdisco/wiki/Configuration#access-control-lists > https://github.com/netdisco/netdisco/wiki/Configuration#host_groups > > Finally there's a good way to troubleshoot by asking Netdisco to dump the > config: > > ~netdisco/bin/netdisco-do dumpconfig -e host_groups > ~netdisco/bin/netdisco-do dumpconfig -e device_auth > > Hope this helps! > > oliver. > > > On Wed, 5 Nov 2025 at 00:33, DeSantos, Matthew via netdisco-users < > net...@li...> wrote: > >> Hello, >> >> I'm pulling my hair out trying to get netdisco to work again. It's been a >> great tool for years now, but I recently updated and can't seem to get >> anything to work anymore. I always had an overlap with the YAML config >> meaning our switches/firewalls use the same mgmt subnet, but I would use >> host_group to match the individual firewall IP and a subnet to match the >> remaining switches. I tried various configurations but each time I failed. >> >> Can someone please review my device_auth, host_group, and discover_only >> stanza and let me know what I'm missing here. I commented out the SNMP >> stanza to test SSH/CLI for the firewalls. The debug output returns >> 'discovery skipped: 10.10.200.220 is not discoverable. >> >> device_auth: >> # - tag: 'Extreme' >> # version: '3' >> # user: 'redacted' >> # auth: >> # pass: 'redacted' >> # proto: 'SHA' >> # priv: >> # pass: 'redacted' >> # proto: 'AES' # Changed from DES to AES for compatibility >> >> - tag: 'Firewalls' >> driver: 'cli' >> platform: 'PaloAlto' >> only: >> - 'group:paloalto-firewalls' >> username: 'redacted' >> password: 'redacted' >> ssh_master_opts: >> - "-o" >> - "StrictHostKeyChecking=no" >> >> # Host groups for access control >> host_groups: >> paloalto-firewalls: >> - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.210$' >> - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.220$' >> >> # Discovery targets >> discover_only: >> - group: 'extreme-switches' >> device_auth: 'Extreme' >> subnet: >> - 10.1.200.0/24 >> - 10.3.200.0/24 >> - 10.4.200.0/24 >> - 10.5.200.0/24 >> - 10.6.200.0/24 >> - 10.7.200.0/24 >> - 10.8.200.0/24 >> - 10.9.200.0/24 >> - 10.10.200.0/24 >> >> - group: 'paloalto-firewalls' >> device_auth: 'Firewalls' >> hosts: >> - 10.10.200.210 >> - 10.10.200.220 >> >> -- >> Thanks, >> Matt >> _______________________________________________ >> Netdisco mailing list >> net...@li... >> https://sourceforge.net/p/netdisco/mailman/netdisco-users/ >> > |
|
From: Oliver G. <ol...@cp...> - 2025-11-05 09:21:07
|
Hi Matt, and thanks for using Netdisco! OK I see an issue in your config. The discover_only setting doesn't have any subkeys like device_auth, subnet, or hosts. It's just a plain list of IPs or other groups can be contained. So you possibly want something like this: https://nopaste.net/iKjFX8bBGN The wiki docs I guess you have seen, but in case not: https://github.com/netdisco/netdisco/wiki/Configuration#access-control-lists https://github.com/netdisco/netdisco/wiki/Configuration#host_groups Finally there's a good way to troubleshoot by asking Netdisco to dump the config: ~netdisco/bin/netdisco-do dumpconfig -e host_groups ~netdisco/bin/netdisco-do dumpconfig -e device_auth Hope this helps! oliver. On Wed, 5 Nov 2025 at 00:33, DeSantos, Matthew via netdisco-users < net...@li...> wrote: > Hello, > > I'm pulling my hair out trying to get netdisco to work again. It's been a > great tool for years now, but I recently updated and can't seem to get > anything to work anymore. I always had an overlap with the YAML config > meaning our switches/firewalls use the same mgmt subnet, but I would use > host_group to match the individual firewall IP and a subnet to match the > remaining switches. I tried various configurations but each time I failed. > > Can someone please review my device_auth, host_group, and discover_only > stanza and let me know what I'm missing here. I commented out the SNMP > stanza to test SSH/CLI for the firewalls. The debug output returns > 'discovery skipped: 10.10.200.220 is not discoverable. > > device_auth: > # - tag: 'Extreme' > # version: '3' > # user: 'redacted' > # auth: > # pass: 'redacted' > # proto: 'SHA' > # priv: > # pass: 'redacted' > # proto: 'AES' # Changed from DES to AES for compatibility > > - tag: 'Firewalls' > driver: 'cli' > platform: 'PaloAlto' > only: > - 'group:paloalto-firewalls' > username: 'redacted' > password: 'redacted' > ssh_master_opts: > - "-o" > - "StrictHostKeyChecking=no" > > # Host groups for access control > host_groups: > paloalto-firewalls: > - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.210$' > - 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.220$' > > # Discovery targets > discover_only: > - group: 'extreme-switches' > device_auth: 'Extreme' > subnet: > - 10.1.200.0/24 > - 10.3.200.0/24 > - 10.4.200.0/24 > - 10.5.200.0/24 > - 10.6.200.0/24 > - 10.7.200.0/24 > - 10.8.200.0/24 > - 10.9.200.0/24 > - 10.10.200.0/24 > > - group: 'paloalto-firewalls' > device_auth: 'Firewalls' > hosts: > - 10.10.200.210 > - 10.10.200.220 > > -- > Thanks, > Matt > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ > |
|
From: DeSantos, M. <MDe...@Jo...> - 2025-11-04 23:32:12
|
Hello,
I'm pulling my hair out trying to get netdisco to work again. It's been a great tool for years now, but I recently updated and can't seem to get anything to work anymore. I always had an overlap with the YAML config meaning our switches/firewalls use the same mgmt subnet, but I would use host_group to match the individual firewall IP and a subnet to match the remaining switches. I tried various configurations but each time I failed.
Can someone please review my device_auth, host_group, and discover_only stanza and let me know what I'm missing here. I commented out the SNMP stanza to test SSH/CLI for the firewalls. The debug output returns 'discovery skipped: 10.10.200.220 is not discoverable.
device_auth:
# - tag: 'Extreme'
# version: '3'
# user: 'redacted'
# auth:
# pass: 'redacted'
# proto: 'SHA'
# priv:
# pass: 'redacted'
# proto: 'AES' # Changed from DES to AES for compatibility
- tag: 'Firewalls'
driver: 'cli'
platform: 'PaloAlto'
only:
- 'group:paloalto-firewalls'
username: 'redacted'
password: 'redacted'
ssh_master_opts:
- "-o"
- "StrictHostKeyChecking=no"
# Host groups for access control
host_groups:
paloalto-firewalls:
- 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.210$'
- 'ip:^10\.(1|3|4|5|6|7|8|9|10|24|42|200)\.200\.220$'
# Discovery targets
discover_only:
- group: 'extreme-switches'
device_auth: 'Extreme'
subnet:
- 10.1.200.0/24
- 10.3.200.0/24
- 10.4.200.0/24
- 10.5.200.0/24
- 10.6.200.0/24
- 10.7.200.0/24
- 10.8.200.0/24
- 10.9.200.0/24
- 10.10.200.0/24
- group: 'paloalto-firewalls'
device_auth: 'Firewalls'
hosts:
- 10.10.200.210
- 10.10.200.220
--
Thanks,
Matt
|
|
From: Mackie, P. <Pau...@ge...> - 2025-10-31 12:57:00
|
Many thanks Olly, yes that seems to have cracked it, both job types are working and logs are now clean 😊
For reference if anyone finds this useful:
device_auth:
- tag: ssharubacx
driver: cli
platform: ArubaCX
only:
- 'os:arubaos-cx'
action:
- 'arpnip::nodes'
username: redacted
password: ‘redacted’
ssh_master_opts:
- "-o"
- "StrictHostKeyChecking=no"
Best regards,
Paul Mackie
GEA INTERNAL
From: Oliver Gorwits <ol...@cp...>
Sent: 29 October 2025 20:15
To: Mackie, Paul <Pau...@ge...>
Cc: Muris <alc...@gm...>; Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi again
I realised there might be a workaround. From the device_auth docs:
"The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)."
So you should be able to add "action: arpnip" (or "action: 'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only arpnip. I guess! Maybe it works.
There are actually three tickets which address this (all in the guts of Netdisco, not specific to Aruba): 1391 1322 1294
regards
oliver.
On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>> wrote:
That’s correct, at present you can have either but not both. However we have a ticket for this feature so it should come along soon. Ish.
Oliver.
On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...<mailto:Pau...@ge...>> wrote:
Hi Jethro / all
I implemented the SSH collector for AOS-CX, and arpnip is now working for these devices. Thanks for your work on this.
However, I see that this also causes macsuck to fail for the same devices, because it is being attempted by SSH also.
Am I missing something in my configuration, or do I need to choose between having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can have either but not both at present?
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...<mailto:alc...@gm...>>
Sent: 24 September 2025 10:08
To: Jethro Binks <jet...@st...<mailto:jet...@st...>>; Nick Nauwelaerts <nic...@aq...<mailto:nic...@aq...>>; Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1 problem with it is that it doesnt work in environments with multiple vrfs
Can i make a suggestion to change this line -
$expect->send("show arp\n");
to
$expect->send("show arp all-vrfs\n");
This way it works accross all VRFs present on the switch.
I did test it modifying to this and it does work correctly in mutiple VRF's and grabbing the arps.
Regards,
Muris
From: Jethro Binks <jet...@st...<mailto:jet...@st...>>
Date: Monday, 25 August 2025 at 04:15
To: Nick Nauwelaerts <nic...@aq...<mailto:nic...@aq...>>, Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: "Cuttler, Brian R (HEALTH) via netdisco-users" <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Mmm yes indeed, the "arpnip::nodes" comes from the Configuration documentation ("The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)", but I've tried with action: arpnip and no action at all and the effect is the same.
In fact if I introduce a deliberate syntax error into ArubaCX.pm, or alternatively set a nonsense platform: ArubaCXXX, it makes no difference either, so it's like this is never properly trying. It does use SNMP to gather Arpnip::Subnets (correctly).
I have to run an older version (2.076005) because of other issues just now, so it's entirely possibly I'm hitting an issue already resolved, although I've been through the notes and a code diff and can't spot anything too relevant.
Aha!
I moved my cli driver section from the bottom of the device_auth credentials to the top, and it now hits the syntax error I introduced.
So now I have:
[54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
[54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from 130.159.1.52
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
[54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at higher priority
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
Although it didn't actually get any:
[54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50 outstanding requests
But that allowed me to finally check and fix the script which literally took 2 mins to fix the regexp, and now it all works.
I have added to the discussion: https://github.com/netdisco/netdisco/discussions/869
And also made some references between the various other Aruba-related issues that touch on naming problems in various respects.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Nick Nauwelaerts <nic...@aq...<mailto:nic...@aq...>>
Sent: 24 August 2025 1:34 PM
To: Jethro Binks <jet...@st...<mailto:jet...@st...>>; Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
all the examples i see just use arpnip instead of arpnip::nodes
perhaps change your config action to plain "arpnip" & make sure there's an arpnip function in your ssh module
________________________________
From: Jethro Binks <jet...@st...<mailto:jet...@st...>>
Sent: Sunday, August 24, 2025 12:39
To: Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Thanks Oliver.
Any thoughts on why I can't get the SSHCollector script to trigger though ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1 providing no further clues.
While I potentially have a workaround now using that -p option, that's still going to need work and is still < SSHCollector ( < SNMP::Info ipNetToPhysicalTable). It must be something simple but I can't see it.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Sent: 22 August 2025 10:02 PM
To: Jethro Binks <jet...@st...<mailto:jet...@st...>>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi Jethro,
Ah you're right the API wiki page has Perl syntax (not JSON) because the mojolicious library will convert it. The netdisco-do man page is misleading.
It actually means to refer to the API spec itself which is here: https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
I'll see if we can make netdisco-do doc clearer.
By the way, glad to see -p option being used. In the next major version this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e '@-'". Just to make it a bit cleaner across different commands.
regards
oliver.
On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...<mailto:jet...@st...>> wrote:
Hey,
I've tried it with and without the action:.
Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
[35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
[35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare common data"
[35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied by other source
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not applicable
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
[35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
But I didn't know about that, so I will remember it in future thanks.
Failing progress here, I took a look at doing it out-of-band, and then using:
Submit arpnip results directly to Netdisco by putting the JSON data in a
file and using the "-p" option (see API web docs for data format
example):
~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
Which also seems a more recent addition I'd not noticed before. But while the API docs suggest the format for the JSON should be:
[
{ mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
]
I had to write it such:
[
{ mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
]
But it did work! So that's another interim workaround perhaps. Still icky.
J.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Christian Ramseyer <ram...@ne...<mailto:ram...@ne...>>
Sent: 22 August 2025 12:54 AM
To: Jethro Binks <jet...@st...<mailto:jet...@st...>>; Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi!
On 21.08.2025 21:31, Jethro Binks wrote:
> action: arpnip::nodes
Your config looks fine at a first glance except for I have never seen
action: used in device_auth... just as a wild guess maybe try without it?
You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
from plugin and worker selection, maybe that helps.
Cheers
Christian
_______________________________________________
Netdisco mailing list
net...@li...<mailto:net...@li...>
https://sourceforge.net/p/netdisco/mailman/netdisco-users/
________________________________
Volg Aquafin op LinkedIn<http://www.linkedin.com/company/aquafin/products> | Facebook<https://www.facebook.com/AquafinNV> | Instagram<https://www.instagram.com/aquafin_nv/> | YouTube<http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de betrokkenen zijn, kan je nalezen in onze privacy policy<https://www.aquafin.be/nl-be/privacy-policy>.
P Denk aan het milieu. Druk deze mail niet onnodig af.
[Image removed by sender.]<https://www.openbedrijvendag.be/bedrijven/aquafin/>
|
|
From: Oliver G. <ol...@cp...> - 2025-10-31 11:31:08
|
Awesome! Glad to hear it's working and thanks for using Netdisco :)
Oliver.
On Fri, 31 Oct 2025 at 10:33, Mackie, Paul <Pau...@ge...> wrote:
> Many thanks Olly, yes that seems to have cracked it, both job types are
> working and logs are now clean 😊
>
>
>
> For reference if anyone finds this useful:
>
> device_auth:
>
> - tag: ssharubacx
>
> driver: cli
>
> platform: ArubaCX
>
> only:
>
> - 'os:arubaos-cx'
>
> action:
>
> - 'arpnip::nodes'
>
> username: redacted
>
> password: ‘redacted’
>
> ssh_master_opts:
>
> - "-o"
>
> - "StrictHostKeyChecking=no"
>
>
>
>
>
> Best regards,
>
> *Paul Mackie*
>
>
>
>
> GEA INTERNAL
> From: Oliver Gorwits <ol...@cp...>
> *Sent:* 29 October 2025 20:15
> *To:* Mackie, Paul <Pau...@ge...>
> *Cc:* Muris <alc...@gm...>; Jethro Binks <jet...@st...>;
> Nick Nauwelaerts <nic...@aq...>; Cuttler, Brian R via
> netdisco-users (HEALTH) <net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi again
>
>
>
> I realised there might be a workaround. From the device_auth docs:
>
>
>
> "The action key allows you to restrict credentials to certain actions or
> even stages of actions on the remote device, such as ARP table gathering
> (arpnip::nodes)."
>
>
>
> So you should be able to add "action: arpnip" (or "action:
> 'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only
> arpnip. I guess! Maybe it works.
>
>
>
> There are actually three tickets which address this (all in the guts of
> Netdisco, not specific to Aruba): 1391 1322 1294
>
>
>
> regards
>
> oliver.
>
>
>
> On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...> wrote:
>
> That’s correct, at present you can have either but not both. However we
> have a ticket for this feature so it should come along soon. Ish.
>
>
>
> Oliver.
>
>
>
> On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote:
>
> Hi Jethro / all
>
> I implemented the SSH collector for AOS-CX, and arpnip is now working for
> these devices. Thanks for your work on this.
>
> However, I see that this also causes macsuck to fail for the same devices,
> because it is being attempted by SSH also.
>
> Am I missing something in my configuration, or do I need to choose between
> having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can
> have either but not both at present?
>
>
>
> Best regards,
>
> *Paul Mackie*
>
>
>
> GEA INTERNAL
>
> From: Muris <alc...@gm...>
> *Sent:* 24 September 2025 10:08
> *To:* Jethro Binks <jet...@st...>; Nick Nauwelaerts <
> nic...@aq...>; Oliver Gorwits <ol...@cp...>
> *Cc:* Cuttler, Brian R via netdisco-users (HEALTH) <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1
> problem with it is that it doesnt work in environments with multiple vrfs
>
> Can i make a suggestion to change this line -
>
> *$expect->send("show arp\n");*
>
> to
>
> *$expect->send("show arp all-vrfs\n");*
>
> This way it works accross all VRFs present on the switch.
>
> I did test it modifying to this and it does work correctly in mutiple
> VRF's and grabbing the arps.
>
>
>
> Regards,
>
> Muris
>
>
>
> *From: *Jethro Binks <jet...@st...>
> *Date: *Monday, 25 August 2025 at 04:15
> *To: *Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <
> ol...@cp...>
> *Cc: *"Cuttler, Brian R (HEALTH) via netdisco-users" <
> net...@li...>
> *Subject: *Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Mmm yes indeed, the "arpnip::nodes" comes from the Configuration
> documentation ("The action key allows you to restrict credentials to
> certain actions or even stages of actions on the remote device, such as ARP
> table gathering (arpnip::nodes)", but I've tried with action: arpnip and no
> action at all and the effect is the same.
>
>
>
> In fact if I introduce a deliberate syntax error into ArubaCX.pm, or
> alternatively set a nonsense platform: ArubaCXXX, it makes no difference
> either, so it's like this is never properly trying. It does use SNMP to
> gather Arpnip::Subnets (correctly).
>
>
>
> I have to run an older version (2.076005) because of other issues just
> now, so it's entirely possibly I'm hitting an issue already resolved,
> although I've been through the notes and a code diff and can't spot
> anything too relevant.
>
>
>
> Aha!
>
>
>
> I moved my cli driver section from the bottom of the device_auth
> credentials to the top, and it now hits the syntax error I introduced.
>
> So now I have:
>
>
>
> [54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
>
> [54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from
> 130.159.1.52
>
> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
>
> [54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at
> higher priority
>
> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
>
>
>
> Although it didn't actually get any:
>
>
>
> [54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50
> outstanding requests
>
> But that allowed me to finally check and fix the script which literally
> took 2 mins to fix the regexp, and now it all works.
>
>
>
> I have added to the discussion:
> https://github.com/netdisco/netdisco/discussions/869
>
>
>
> And also made some references between the various other Aruba-related
> issues that touch on naming problems in various respects.
>
>
>
> Jethro.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
>
>
> ------------------------------
>
> *From:* Nick Nauwelaerts <nic...@aq...>
> *Sent:* 24 August 2025 1:34 PM
> *To:* Jethro Binks <jet...@st...>; Oliver Gorwits <
> ol...@cp...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> all the examples i see just use arpnip instead of arpnip::nodes
>
>
>
> perhaps change your config action to plain "arpnip" & make sure there's an
> arpnip function in your ssh module
>
>
> ------------------------------
>
> *From:* Jethro Binks <jet...@st...>
> *Sent:* Sunday, August 24, 2025 12:39
> *To:* Oliver Gorwits <ol...@cp...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Thanks Oliver.
>
>
>
> Any thoughts on why I can't get the SSHCollector script to trigger though
> ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1
> providing no further clues.
>
>
>
> While I potentially have a workaround now using that -p option, that's
> still going to need work and is still < SSHCollector ( < SNMP::Info
> ipNetToPhysicalTable). It must be something simple but I can't see it.
>
>
>
> Jethro.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
> ------------------------------
>
> *From:* Oliver Gorwits <ol...@cp...>
> *Sent:* 22 August 2025 10:02 PM
> *To:* Jethro Binks <jet...@st...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi Jethro,
>
>
>
> Ah you're right the API wiki page has Perl syntax (not JSON) because the
> mojolicious library will convert it. The netdisco-do man page is misleading.
>
>
>
> It actually means to refer to the API spec itself which is here:
> https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
>
>
>
> I'll see if we can make netdisco-do doc clearer.
>
>
>
> By the way, glad to see -p option being used. In the next major version
> this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e
> '@-'". Just to make it a bit cleaner across different commands.
>
>
>
> regards
>
> oliver.
>
>
>
> On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...>
> wrote:
>
> Hey,
>
>
>
> I've tried it with and without the action:.
>
>
>
> Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
>
>
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
>
> [35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare
> common data"
>
> [35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied
> by other source
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not
> applicable
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
>
> [35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
>
>
>
> But I didn't know about that, so I will remember it in future thanks.
>
>
>
> Failing progress here, I took a look at doing it out-of-band, and then
> using:
>
>
>
> Submit arpnip results directly to Netdisco by putting the JSON data in
> a
>
> file and using the "-p" option (see API web docs for data format
>
> example):
>
>
>
> ~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
>
>
>
> Which also seems a more recent addition I'd not noticed before. But while
> the API docs suggest the format for the JSON should be:
>
>
>
> [
>
> { mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
>
> ]
>
>
>
> I had to write it such:
>
>
>
> [
>
> { mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
>
> ]
>
>
>
> But it did work! So that's another interim workaround perhaps. Still
> icky.
>
>
>
> J.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
> ------------------------------
>
> *From:* Christian Ramseyer <ram...@ne...>
> *Sent:* 22 August 2025 12:54 AM
> *To:* Jethro Binks <jet...@st...>; Cuttler, Brian R (HEALTH)
> via netdisco-users <net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi!
>
> On 21.08.2025 21:31, Jethro Binks wrote:
> > action: arpnip::nodes
>
> Your config looks fine at a first glance except for I have never seen
> action: used in device_auth... just as a wild guess maybe try without it?
>
> You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
> from plugin and worker selection, maybe that helps.
>
> Cheers
> Christian
>
> _______________________________________________
> Netdisco mailing list
> net...@li...
> https://sourceforge.net/p/netdisco/mailman/netdisco-users/
>
>
> ------------------------------
>
>
> *Volg Aquafin op LinkedIn
> <http://www.linkedin.com/company/aquafin/products> | Facebook
> <https://www.facebook.com/AquafinNV> | Instagram
> <https://www.instagram.com/aquafin_nv/> | YouTube
> <http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>*
> In het kader van de uitoefening van onze taken verzamelen we bij Aquafin
> persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de
> betrokkenen zijn, kan je nalezen in onze privacy policy
> <https://www.aquafin.be/nl-be/privacy-policy>.
> P Denk aan het milieu. Druk deze mail niet onnodig af.
> [image: Image removed by sender.]
> <https://www.openbedrijvendag.be/bedrijven/aquafin/>
>
>
|
|
From: Oliver G. <ol...@cp...> - 2025-10-29 20:15:30
|
Hi again
I realised there might be a workaround. From the device_auth docs:
"The action key allows you to restrict credentials to certain actions or
even stages of actions on the remote device, such as ARP table gathering
(arpnip::nodes)."
So you should be able to add "action: arpnip" (or "action:
'arpnip::nodes'") to the device_auth CLI stanza and restrict it to only
arpnip. I guess! Maybe it works.
There are actually three tickets which address this (all in the guts of
Netdisco, not specific to Aruba): 1391 1322 1294
regards
oliver.
On Wed, 29 Oct 2025 at 19:09, Oliver Gorwits <ol...@cp...> wrote:
> That’s correct, at present you can have either but not both. However we
> have a ticket for this feature so it should come along soon. Ish.
>
> Oliver.
>
> On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote:
>
>> Hi Jethro / all
>>
>> I implemented the SSH collector for AOS-CX, and arpnip is now working for
>> these devices. Thanks for your work on this.
>>
>> However, I see that this also causes macsuck to fail for the same
>> devices, because it is being attempted by SSH also.
>>
>> Am I missing something in my configuration, or do I need to choose
>> between having arpnip or macsuck working for Aruba AOS-CX devices? It seems
>> I can have either but not both at present?
>>
>>
>>
>> Best regards,
>>
>> *Paul Mackie*
>>
>>
>> GEA INTERNAL
>> From: Muris <alc...@gm...>
>> *Sent:* 24 September 2025 10:08
>> *To:* Jethro Binks <jet...@st...>; Nick Nauwelaerts <
>> nic...@aq...>; Oliver Gorwits <ol...@cp...>
>> *Cc:* Cuttler, Brian R via netdisco-users (HEALTH) <
>> net...@li...>
>> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is
>> 1 problem with it is that it doesnt work in environments with multiple vrfs
>>
>> Can i make a suggestion to change this line -
>>
>> *$expect->send("show arp\n");*
>>
>> to
>>
>> *$expect->send("show arp all-vrfs\n");*
>>
>> This way it works accross all VRFs present on the switch.
>>
>> I did test it modifying to this and it does work correctly in mutiple
>> VRF's and grabbing the arps.
>>
>>
>>
>> Regards,
>>
>> Muris
>>
>>
>>
>> *From: *Jethro Binks <jet...@st...>
>> *Date: *Monday, 25 August 2025 at 04:15
>> *To: *Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <
>> ol...@cp...>
>> *Cc: *"Cuttler, Brian R (HEALTH) via netdisco-users" <
>> net...@li...>
>> *Subject: *Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> Mmm yes indeed, the "arpnip::nodes" comes from the Configuration
>> documentation ("The action key allows you to restrict credentials to
>> certain actions or even stages of actions on the remote device, such as ARP
>> table gathering (arpnip::nodes)", but I've tried with action: arpnip and no
>> action at all and the effect is the same.
>>
>>
>>
>> In fact if I introduce a deliberate syntax error into ArubaCX.pm, or
>> alternatively set a nonsense platform: ArubaCXXX, it makes no difference
>> either, so it's like this is never properly trying. It does use SNMP to
>> gather Arpnip::Subnets (correctly).
>>
>>
>>
>> I have to run an older version (2.076005) because of other issues just
>> now, so it's entirely possibly I'm hitting an issue already resolved,
>> although I've been through the notes and a code diff and can't spot
>> anything too relevant.
>>
>>
>>
>> Aha!
>>
>>
>>
>> I moved my cli driver section from the bottom of the device_auth
>> credentials to the top, and it now hits the syntax error I introduced.
>>
>> So now I have:
>>
>>
>>
>> [54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
>>
>> [54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from
>> 130.159.1.52
>>
>> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
>>
>> [54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at
>> higher priority
>>
>> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
>>
>>
>>
>> Although it didn't actually get any:
>>
>>
>>
>> [54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50
>> outstanding requests
>>
>> But that allowed me to finally check and fix the script which literally
>> took 2 mins to fix the regexp, and now it all works.
>>
>>
>>
>> I have added to the discussion:
>> https://github.com/netdisco/netdisco/discussions/869
>>
>>
>>
>> And also made some references between the various other Aruba-related
>> issues that touch on naming problems in various respects.
>>
>>
>>
>> Jethro.
>>
>>
>>
>> . . . . . . . . . . . . . . . . . . . . . . . . .
>>
>> Jethro R Binks, Network Manager,
>>
>> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>>
>>
>>
>> The University of Strathclyde is a charitable body, registered
>> in Scotland, number SC015263.
>>
>>
>> ------------------------------
>>
>> *From:* Nick Nauwelaerts <nic...@aq...>
>> *Sent:* 24 August 2025 1:34 PM
>> *To:* Jethro Binks <jet...@st...>; Oliver Gorwits <
>> ol...@cp...>
>> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
>> net...@li...>
>> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> all the examples i see just use arpnip instead of arpnip::nodes
>>
>>
>>
>> perhaps change your config action to plain "arpnip" & make sure there's
>> an arpnip function in your ssh module
>>
>>
>> ------------------------------
>>
>> *From:* Jethro Binks <jet...@st...>
>> *Sent:* Sunday, August 24, 2025 12:39
>> *To:* Oliver Gorwits <ol...@cp...>
>> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
>> net...@li...>
>> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> Thanks Oliver.
>>
>>
>>
>> Any thoughts on why I can't get the SSHCollector script to trigger though
>> ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1
>> providing no further clues.
>>
>>
>>
>> While I potentially have a workaround now using that -p option, that's
>> still going to need work and is still < SSHCollector ( < SNMP::Info
>> ipNetToPhysicalTable). It must be something simple but I can't see it.
>>
>>
>>
>> Jethro.
>>
>>
>>
>> . . . . . . . . . . . . . . . . . . . . . . . . .
>>
>> Jethro R Binks, Network Manager,
>>
>> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>>
>>
>>
>> The University of Strathclyde is a charitable body, registered
>> in Scotland, number SC015263.
>> ------------------------------
>>
>> *From:* Oliver Gorwits <ol...@cp...>
>> *Sent:* 22 August 2025 10:02 PM
>> *To:* Jethro Binks <jet...@st...>
>> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
>> net...@li...>
>> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> Hi Jethro,
>>
>>
>>
>> Ah you're right the API wiki page has Perl syntax (not JSON) because the
>> mojolicious library will convert it. The netdisco-do man page is misleading.
>>
>>
>>
>> It actually means to refer to the API spec itself which is here:
>> https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
>>
>>
>>
>> I'll see if we can make netdisco-do doc clearer.
>>
>>
>>
>> By the way, glad to see -p option being used. In the next major version
>> this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e
>> '@-'". Just to make it a bit cleaner across different commands.
>>
>>
>>
>> regards
>>
>> oliver.
>>
>>
>>
>> On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...>
>> wrote:
>>
>> Hey,
>>
>>
>>
>> I've tried it with and without the action:.
>>
>>
>>
>> Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
>>
>>
>>
>> [35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
>>
>> [35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
>>
>> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare
>> common data"
>>
>> [35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
>>
>> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
>>
>> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied
>> by other source
>>
>> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
>>
>> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not
>> applicable
>>
>> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
>>
>> [35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
>>
>>
>>
>> But I didn't know about that, so I will remember it in future thanks.
>>
>>
>>
>> Failing progress here, I took a look at doing it out-of-band, and then
>> using:
>>
>>
>>
>> Submit arpnip results directly to Netdisco by putting the JSON data
>> in a
>>
>> file and using the "-p" option (see API web docs for data format
>>
>> example):
>>
>>
>>
>> ~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
>>
>>
>>
>> Which also seems a more recent addition I'd not noticed before. But
>> while the API docs suggest the format for the JSON should be:
>>
>>
>>
>> [
>>
>> { mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
>>
>> ]
>>
>>
>>
>> I had to write it such:
>>
>>
>>
>> [
>>
>> { mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
>>
>> ]
>>
>>
>>
>> But it did work! So that's another interim workaround perhaps. Still
>> icky.
>>
>>
>>
>> J.
>>
>>
>>
>> . . . . . . . . . . . . . . . . . . . . . . . . .
>>
>> Jethro R Binks, Network Manager,
>>
>> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>>
>>
>>
>> The University of Strathclyde is a charitable body, registered
>> in Scotland, number SC015263.
>> ------------------------------
>>
>> *From:* Christian Ramseyer <ram...@ne...>
>> *Sent:* 22 August 2025 12:54 AM
>> *To:* Jethro Binks <jet...@st...>; Cuttler, Brian R
>> (HEALTH) via netdisco-users <net...@li...>
>> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
>> again
>>
>>
>>
>> Hi!
>>
>> On 21.08.2025 21:31, Jethro Binks wrote:
>> > action: arpnip::nodes
>>
>> Your config looks fine at a first glance except for I have never seen
>> action: used in device_auth... just as a wild guess maybe try without it?
>>
>> You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
>> from plugin and worker selection, maybe that helps.
>>
>> Cheers
>> Christian
>>
>> _______________________________________________
>> Netdisco mailing list
>> net...@li...
>> https://sourceforge.net/p/netdisco/mailman/netdisco-users/
>>
>>
>> ------------------------------
>>
>>
>> *Volg Aquafin op LinkedIn
>> <http://www.linkedin.com/company/aquafin/products> | Facebook
>> <https://www.facebook.com/AquafinNV> | Instagram
>> <https://www.instagram.com/aquafin_nv/> | YouTube
>> <http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>*
>> In het kader van de uitoefening van onze taken verzamelen we bij Aquafin
>> persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de
>> betrokkenen zijn, kan je nalezen in onze privacy policy
>> <https://www.aquafin.be/nl-be/privacy-policy>.
>> P Denk aan het milieu. Druk deze mail niet onnodig af.
>> [image: Image removed by sender.]
>> <https://www.openbedrijvendag.be/bedrijven/aquafin/>
>>
>
|
|
From: Mackie, P. <Pau...@ge...> - 2025-10-29 19:16:18
|
Hi Jethro / all
I implemented the SSH collector for AOS-CX, and arpnip is now working for these devices. Thanks for your work on this.
However, I see that this also causes macsuck to fail for the same devices, because it is being attempted by SSH also.
Am I missing something in my configuration, or do I need to choose between having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can have either but not both at present?
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...>
Sent: 24 September 2025 10:08
To: Jethro Binks <jet...@st...>; Nick Nauwelaerts <nic...@aq...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R via netdisco-users (HEALTH) <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1 problem with it is that it doesnt work in environments with multiple vrfs
Can i make a suggestion to change this line -
$expect->send("show arp\n");
to
$expect->send("show arp all-vrfs\n");
This way it works accross all VRFs present on the switch.
I did test it modifying to this and it does work correctly in mutiple VRF's and grabbing the arps.
Regards,
Muris
From: Jethro Binks <jet...@st...>
Date: Monday, 25 August 2025 at 04:15
To: Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <ol...@cp...>
Cc: "Cuttler, Brian R (HEALTH) via netdisco-users" <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Mmm yes indeed, the "arpnip::nodes" comes from the Configuration documentation ("The action key allows you to restrict credentials to certain actions or even stages of actions on the remote device, such as ARP table gathering (arpnip::nodes)", but I've tried with action: arpnip and no action at all and the effect is the same.
In fact if I introduce a deliberate syntax error into ArubaCX.pm, or alternatively set a nonsense platform: ArubaCXXX, it makes no difference either, so it's like this is never properly trying. It does use SNMP to gather Arpnip::Subnets (correctly).
I have to run an older version (2.076005) because of other issues just now, so it's entirely possibly I'm hitting an issue already resolved, although I've been through the notes and a code diff and can't spot anything too relevant.
Aha!
I moved my cli driver section from the bottom of the device_auth credentials to the top, and it now hits the syntax error I introduced.
So now I have:
[54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
[54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from 130.159.1.52
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
[54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at higher priority
[54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
Although it didn't actually get any:
[54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50 outstanding requests
But that allowed me to finally check and fix the script which literally took 2 mins to fix the regexp, and now it all works.
I have added to the discussion: https://github.com/netdisco/netdisco/discussions/869
And also made some references between the various other Aruba-related issues that touch on naming problems in various respects.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Nick Nauwelaerts <nic...@aq...>
Sent: 24 August 2025 1:34 PM
To: Jethro Binks <jet...@st...>; Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
all the examples i see just use arpnip instead of arpnip::nodes
perhaps change your config action to plain "arpnip" & make sure there's an arpnip function in your ssh module
________________________________
From: Jethro Binks <jet...@st...>
Sent: Sunday, August 24, 2025 12:39
To: Oliver Gorwits <ol...@cp...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Thanks Oliver.
Any thoughts on why I can't get the SSHCollector script to trigger though ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1 providing no further clues.
While I potentially have a workaround now using that -p option, that's still going to need work and is still < SSHCollector ( < SNMP::Info ipNetToPhysicalTable). It must be something simple but I can't see it.
Jethro.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Oliver Gorwits <ol...@cp...>
Sent: 22 August 2025 10:02 PM
To: Jethro Binks <jet...@st...>
Cc: Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi Jethro,
Ah you're right the API wiki page has Perl syntax (not JSON) because the mojolicious library will convert it. The netdisco-do man page is misleading.
It actually means to refer to the API spec itself which is here: https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
I'll see if we can make netdisco-do doc clearer.
By the way, glad to see -p option being used. In the next major version this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e '@-'". Just to make it a bit cleaner across different commands.
regards
oliver.
On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...<mailto:jet...@st...>> wrote:
Hey,
I've tried it with and without the action:.
Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
[35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
[35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare common data"
[35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied by other source
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
[35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not applicable
[35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
[35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
But I didn't know about that, so I will remember it in future thanks.
Failing progress here, I took a look at doing it out-of-band, and then using:
Submit arpnip results directly to Netdisco by putting the JSON data in a
file and using the "-p" option (see API web docs for data format
example):
~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
Which also seems a more recent addition I'd not noticed before. But while the API docs suggest the format for the JSON should be:
[
{ mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
]
I had to write it such:
[
{ mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
]
But it did work! So that's another interim workaround perhaps. Still icky.
J.
. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263.
________________________________
From: Christian Ramseyer <ram...@ne...<mailto:ram...@ne...>>
Sent: 22 August 2025 12:54 AM
To: Jethro Binks <jet...@st...<mailto:jet...@st...>>; Cuttler, Brian R (HEALTH) via netdisco-users <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX, again
Hi!
On 21.08.2025 21:31, Jethro Binks wrote:
> action: arpnip::nodes
Your config looks fine at a first glance except for I have never seen
action: used in device_auth... just as a wild guess maybe try without it?
You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
from plugin and worker selection, maybe that helps.
Cheers
Christian
_______________________________________________
Netdisco mailing list
net...@li...<mailto:net...@li...>
https://sourceforge.net/p/netdisco/mailman/netdisco-users/
________________________________
Volg Aquafin op LinkedIn<http://www.linkedin.com/company/aquafin/products> | Facebook<https://www.facebook.com/AquafinNV> | Instagram<https://www.instagram.com/aquafin_nv/> | YouTube<http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>
In het kader van de uitoefening van onze taken verzamelen we bij Aquafin persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de betrokkenen zijn, kan je nalezen in onze privacy policy<https://www.aquafin.be/nl-be/privacy-policy>.
P Denk aan het milieu. Druk deze mail niet onnodig af.
[Image removed by sender.]<https://www.openbedrijvendag.be/bedrijven/aquafin/>
|
|
From: Oliver G. <ol...@cp...> - 2025-10-29 19:10:12
|
That’s correct, at present you can have either but not both. However we
have a ticket for this feature so it should come along soon. Ish.
Oliver.
On Wed, 29 Oct 2025 at 18:33, Mackie, Paul <Pau...@ge...> wrote:
> Hi Jethro / all
>
> I implemented the SSH collector for AOS-CX, and arpnip is now working for
> these devices. Thanks for your work on this.
>
> However, I see that this also causes macsuck to fail for the same devices,
> because it is being attempted by SSH also.
>
> Am I missing something in my configuration, or do I need to choose between
> having arpnip or macsuck working for Aruba AOS-CX devices? It seems I can
> have either but not both at present?
>
>
>
> Best regards,
>
> *Paul Mackie*
>
>
> GEA INTERNAL
> From: Muris <alc...@gm...>
> *Sent:* 24 September 2025 10:08
> *To:* Jethro Binks <jet...@st...>; Nick Nauwelaerts <
> nic...@aq...>; Oliver Gorwits <ol...@cp...>
> *Cc:* Cuttler, Brian R via netdisco-users (HEALTH) <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi JR Binks, thanks for contributing this addon for ArubaOS-CX, there is 1
> problem with it is that it doesnt work in environments with multiple vrfs
>
> Can i make a suggestion to change this line -
>
> *$expect->send("show arp\n");*
>
> to
>
> *$expect->send("show arp all-vrfs\n");*
>
> This way it works accross all VRFs present on the switch.
>
> I did test it modifying to this and it does work correctly in mutiple
> VRF's and grabbing the arps.
>
>
>
> Regards,
>
> Muris
>
>
>
> *From: *Jethro Binks <jet...@st...>
> *Date: *Monday, 25 August 2025 at 04:15
> *To: *Nick Nauwelaerts <nic...@aq...>, Oliver Gorwits <
> ol...@cp...>
> *Cc: *"Cuttler, Brian R (HEALTH) via netdisco-users" <
> net...@li...>
> *Subject: *Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Mmm yes indeed, the "arpnip::nodes" comes from the Configuration
> documentation ("The action key allows you to restrict credentials to
> certain actions or even stages of actions on the remote device, such as ARP
> table gathering (arpnip::nodes)", but I've tried with action: arpnip and no
> action at all and the effect is the same.
>
>
>
> In fact if I introduce a deliberate syntax error into ArubaCX.pm, or
> alternatively set a nonsense platform: ArubaCXXX, it makes no difference
> either, so it's like this is never properly trying. It does use SNMP to
> gather Arpnip::Subnets (correctly).
>
>
>
> I have to run an older version (2.076005) because of other issues just
> now, so it's entirely possibly I'm hitting an issue already resolved,
> although I've been through the notes and a code diff and can't spot
> anything too relevant.
>
>
>
> Aha!
>
>
>
> I moved my cli driver section from the bottom of the device_auth
> credentials to the top, and it now hits the syntax error I introduced.
>
> So now I have:
>
>
>
> [54908] 2025-08-24 15:03:43 debug 130.159.1.52 54908 arpnip()
>
> [54908] 2025-08-24 15:03:47 debug ⬅ (done) Gathered arp caches from
> 130.159.1.52
>
> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Nodes p100
>
> [54908] 2025-08-24 15:03:47 debug ⬅ (info) skip: namespace passed at
> higher priority
>
> [54908] 2025-08-24 15:03:47 debug ⮕ worker Arpnip::Subnets p100
>
>
>
> Although it didn't actually get any:
>
>
>
> [54908] 2025-08-24 15:03:48 debug resolving 0 ARP entries with max 50
> outstanding requests
>
> But that allowed me to finally check and fix the script which literally
> took 2 mins to fix the regexp, and now it all works.
>
>
>
> I have added to the discussion:
> https://github.com/netdisco/netdisco/discussions/869
>
>
>
> And also made some references between the various other Aruba-related
> issues that touch on naming problems in various respects.
>
>
>
> Jethro.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
>
>
> ------------------------------
>
> *From:* Nick Nauwelaerts <nic...@aq...>
> *Sent:* 24 August 2025 1:34 PM
> *To:* Jethro Binks <jet...@st...>; Oliver Gorwits <
> ol...@cp...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> all the examples i see just use arpnip instead of arpnip::nodes
>
>
>
> perhaps change your config action to plain "arpnip" & make sure there's an
> arpnip function in your ssh module
>
>
> ------------------------------
>
> *From:* Jethro Binks <jet...@st...>
> *Sent:* Sunday, August 24, 2025 12:39
> *To:* Oliver Gorwits <ol...@cp...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Thanks Oliver.
>
>
>
> Any thoughts on why I can't get the SSHCollector script to trigger though
> ("(info) skip: driver or action not applicable"), ND2_LOG_PLUGINS=1
> providing no further clues.
>
>
>
> While I potentially have a workaround now using that -p option, that's
> still going to need work and is still < SSHCollector ( < SNMP::Info
> ipNetToPhysicalTable). It must be something simple but I can't see it.
>
>
>
> Jethro.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
> ------------------------------
>
> *From:* Oliver Gorwits <ol...@cp...>
> *Sent:* 22 August 2025 10:02 PM
> *To:* Jethro Binks <jet...@st...>
> *Cc:* Cuttler, Brian R (HEALTH) via netdisco-users <
> net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi Jethro,
>
>
>
> Ah you're right the API wiki page has Perl syntax (not JSON) because the
> mojolicious library will convert it. The netdisco-do man page is misleading.
>
>
>
> It actually means to refer to the API spec itself which is here:
> https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json#/Objects/put_api_v1_object_device__ip__arps
>
>
>
> I'll see if we can make netdisco-do doc clearer.
>
>
>
> By the way, glad to see -p option being used. In the next major version
> this is changed to be "-e '@/path/to/file'" or you can pipe it in with "-e
> '@-'". Just to make it a bit cleaner across different commands.
>
>
>
> regards
>
> oliver.
>
>
>
> On Fri, 22 Aug 2025 at 13:32, Jethro Binks <jet...@st...>
> wrote:
>
> Hey,
>
>
>
> I've tried it with and without the action:.
>
>
>
> Adding env ND2_LOG_PLUGINS=1 provided no additional output here:
>
>
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (done) arpnip is able to run
>
> [35351] 2025-08-22 10:42:36 debug //// EARLY \\\\ phase
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p0 "prepare
> common data"
>
> [35351] 2025-08-22 10:42:36 debug //// MAIN \\\\ phase
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p1000000
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: arp table data supplied
> by other source
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p200
>
> [35351] 2025-08-22 10:42:36 debug ⬅ (info) skip: driver or action not
> applicable
>
> [35351] 2025-08-22 10:42:36 debug ⮕ worker Arpnip::Nodes p100
>
> [35351] 2025-08-22 10:42:36 debug snmp reader cache warm: [ipaddress]
>
>
>
> But I didn't know about that, so I will remember it in future thanks.
>
>
>
> Failing progress here, I took a look at doing it out-of-band, and then
> using:
>
>
>
> Submit arpnip results directly to Netdisco by putting the JSON data in
> a
>
> file and using the "-p" option (see API web docs for data format
>
> example):
>
>
>
> ~/bin/netdisco-do arpnip -d 192.0.2.1 -p /tmp/arp-table.json
>
>
>
> Which also seems a more recent addition I'd not noticed before. But while
> the API docs suggest the format for the JSON should be:
>
>
>
> [
>
> { mac => "aa:bb:cc:dd:ee:ff", ip => "A.B.C.D" }
>
> ]
>
>
>
> I had to write it such:
>
>
>
> [
>
> { mac: "aa:bb:cc:dd:ee:ff", ip: "A.B.C.D" }
>
> ]
>
>
>
> But it did work! So that's another interim workaround perhaps. Still
> icky.
>
>
>
> J.
>
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow, UK
>
>
>
> The University of Strathclyde is a charitable body, registered
> in Scotland, number SC015263.
> ------------------------------
>
> *From:* Christian Ramseyer <ram...@ne...>
> *Sent:* 22 August 2025 12:54 AM
> *To:* Jethro Binks <jet...@st...>; Cuttler, Brian R (HEALTH)
> via netdisco-users <net...@li...>
> *Subject:* Re: [Netdisco] Trying to fetch arp entries from ArubaOSCX,
> again
>
>
>
> Hi!
>
> On 21.08.2025 21:31, Jethro Binks wrote:
> > action: arpnip::nodes
>
> Your config looks fine at a first glance except for I have never seen
> action: used in device_auth... just as a wild guess maybe try without it?
>
> You can also try ND2_LOG_PLUGINS=1 as env var to get some more output
> from plugin and worker selection, maybe that helps.
>
> Cheers
> Christian
>
> _______________________________________________
> Netdisco mailing list
> net...@li...
> https://sourceforge.net/p/netdisco/mailman/netdisco-users/
>
>
> ------------------------------
>
>
> *Volg Aquafin op LinkedIn
> <http://www.linkedin.com/company/aquafin/products> | Facebook
> <https://www.facebook.com/AquafinNV> | Instagram
> <https://www.instagram.com/aquafin_nv/> | YouTube
> <http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee>*
> In het kader van de uitoefening van onze taken verzamelen we bij Aquafin
> persoonsgegevens. Hoe we omgaan met deze gegevens en wat de rechten van de
> betrokkenen zijn, kan je nalezen in onze privacy policy
> <https://www.aquafin.be/nl-be/privacy-policy>.
> P Denk aan het milieu. Druk deze mail niet onnodig af.
> [image: Image removed by sender.]
> <https://www.openbedrijvendag.be/bedrijven/aquafin/>
>
|
|
From: Mackie, P. <Pau...@ge...> - 2025-10-28 14:19:53
|
Hi Muris,
I just want to say this sounds very interesting to me and thank you for deep diving into it. I have a cron job that restarts the container if the same error is seen in the logs (custom fields for Aruba AP serial numbers). Would be great if I can finally remove my dirty hack 😊
I also don’t understand how custom fields are needed for neighbour maps, but let’s see.
Best regards,
Paul Mackie
GEA INTERNAL
From: Muris <alc...@gm...>
Sent: 24 October 2025 13:29
To: Oliver Gorwits <ol...@cp...>
Cc: net...@li...
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver, I just wanted to let you know after looking at this closer I found the issue -
Root cause:
In /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm calls ->with_custom_fields, which forces all custom_fields values to be cast as JSON arrays.
Because some devices return empty or malformed SNMP strings, the JSON cast fails, and the Neighbours endpoint crashes before rendering the map.
Fix applied (minimal and effective):
In /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm,
I removed ->with_custom_fields from this line:
my $devices = schema(vars->{'tenant'})->resultset('Device')->search({}, {
'+select' => [\'floor(log(throughput.total))'], '+as' => ['log'],
join => 'throughput', distinct => 1,
})->with_times->with_custom_fields;
changed to:
})->with_times;
Result:
- The Neighbours tab now loads correctly again.
- No other Netdisco components (reports, discovery, backend) were affected.
- The map works faster, since it no longer expands unnecessary JSON fields.
What do you think about this, is custom_fields required in the neighbors.pm ?
Regards,
Muris
From: Muris <alc...@gm...<mailto:alc...@gm...>>
Date: Tuesday, 21 October 2025 at 12:46
To: Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: Christian Ramseyer <ram...@ne...<mailto:ram...@ne...>>, <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver,
I wanted to let you know that even though I got the Cisco IMEI / Cellular Services report working fine with the custom fields in deployment.yml, it seems to have broken the Neighbours tab in the web interface - it now shows a blank page. I didn’t realize it broke this as I hardly even use that tab, but others do so they reported it as an issue.
It also says in Error 500 with dancer , it doesn’t show that but page Is blank in neighbours tab, but I see it in the web developer tools in network inside a browser.
Here’s the log output from netdisco backend when the Neighbours page loads in short form:
DBIx::Class::ResultSet::next(): DBI Exception: DBD::Pg::st execute failed:
ERROR: invalid input syntax for type json
DETAIL: The input string ended unexpectedly.
CONTEXT: JSON data, line 1: [
STATEMENT: SELECT json_array_elements_text((me.custom_fields ->> 'c3gIccId')::json),
json_array_elements_text((me.custom_fields ->> 'c3gGsmNetwork')::json),
json_array_elements_text((me.custom_fields ->> 'c3gImei')::json)
FROM device me ...
at /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm line 244
It looks like the Neighbours/Netmap query is trying to expand all custom_fields as JSON arrays and fails if any of them contain plain text.
Would it be possible for the Neighbours view to exclude or ignore specific custom_fields (like these Cisco ones), or handle non-JSON values more safely so the page doesn’t break?
And how would I fix the broken neighbours page now?
Regards,
Muris
From: Muris <alc...@gm...<mailto:alc...@gm...>>
Date: Thursday, 2 October 2025 at 14:36
To: Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Cc: Christian Ramseyer <ram...@ne...<mailto:ram...@ne...>>, <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver, ive expanded a bit on this - ive added in SIM Number reporting using “c3gIccId” as part of the third column.
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
- name: 'c3gIccId'
label: 'SIM Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gIccId'
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI & SIM Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
- { simnum: 'SIM Number' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei,
CASE
WHEN custom_fields->>'c3gIccId' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gIccId' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gIccId'), '","', ' | '), '"', '')
ELSE NULL
END AS simnum
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
OR
(custom_fields->>'c3gIccId' LIKE '[%"%')
ORDER BY ip ASC;
From: Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>>
Date: Tuesday, 13 May 2025 at 05:29
To: Muris <alc...@gm...<mailto:alc...@gm...>>
Cc: Christian Ramseyer <ram...@ne...<mailto:ram...@ne...>>, <net...@li...<mailto:net...@li...>>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
I correct myself: I think the error isn't malformed json, just a json data structure that Netdisco isn't expecting (to retrieve).
regards
oliver.
On Mon, 12 May 2025 at 20:44, Oliver Gorwits <ol...@cp...<mailto:ol...@cp...>> wrote:
great investigative work, thank you!
it puzzles me that the crash is after the data is stored into the jsonb field ... it should be sanity checked by postgresql on the way in. and the field type of custom_fields is already jsonb so I'm not sure why the cast is needed.
anyway, Netdisco can apply better sanity checking as well, I will look into that.
regards
oliver.
On Mon, 12 May 2025 at 05:32, Muris <alc...@gm...<mailto:alc...@gm...>> wrote:
I found what the issue is after more investigation - the crash was caused by some devices responding to SNMP queries with malformed or incomplete values for the following fields;
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
These fields are globally polled across all devices. For devices that aren’t cellular-capable, SNMP responses can be empty strings or placeholders, which are stored in the custom_fields JSONB column. When these are cast to ::jsonb in a report, PostgreSQL throws an error if the value is invalid JSON.
Original Report:
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gGsmNetwork')::jsonb))::text[]
ELSE NULL
END AS carrier,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gImei')::jsonb))::text[]
ELSE NULL
END AS imei
FROM device
WHERE
(jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields->>'c3gGsmNetwork' <> '[]')
OR
(jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields->>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
ORDER BY ip ASC;
This works fine if the data is perfect JSON — but crashes as soon as a malformed value is stored in custom_fields.
I then modified the report to avoid JSON casting entirely and instead format the values as plain strings. This eliminates the risk of crashing and allows for consistent parsing and display. I also added fallback display text for common placeholders like [""] or ["000 00"], and if the field is effectively blank, it now shows "Not Detected but SIM present". This approach is safer, cleaner, and more resilient - even when devices return unexpected or malformed SNMP responses.
reports:
- tag: cisco_cellular_routers2
label: 'Cisco Cellular IMEI Tracker (Safe)'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
ORDER BY ip ASC;
Long-Term Suggestions
1. Graceful handling of unsupported SNMP field responses
Netdisco could skip or sanitize custom_fields values if the SNMP response is clearly empty, malformed, or invalid (e.g., "", noSuchInstance).
2. Add JSON-safe casting helpers in the report engine
Internal helper functions that verify and validate custom_fields before applying ::jsonb casts could help avoid user side crashes.
3. Optional “safe display” mode for reports
A config option or flag for reports that instructs Netdisco to treat custom field data as plain text and format it for readability — stripping brackets, quotes, etc., without requiring the user to manually write TRIM/REPLACE logic.
On 7/5/2025, 9:14 pm, "Christian Ramseyer" <ram...@ne...<mailto:ram...@ne...> <mailto:ram...@ne...<mailto:ram...@ne...>>> wrote:
The SQL itself seems to work correctly for me (empty result, none
expected since I don't collect these fields, but no error).
Do you get an error even when you paste the SQL into netdisco-do psql?
Or only when running it from the web interface? If the latter, please
post the full report definition as it appears in the config.
Cheers
Christian
On 06.05.2025 07:01, Muris wrote:
> SELECT me.devname, me.ip, me.carrier, me.imei FROM (SELECT
> COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gGsmNetwork')::jsonb))::text[]
>
> ELSE NULL
>
> END AS carrier,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gImei')::jsonb))::text[]
>
> ELSE NULL
>
> END AS imei
>
> FROM device
>
> WHERE
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND
> custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields-
> >>'c3gGsmNetwork' <> '[]')
>
> OR
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields-
> >>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
>
> ORDER BY ip ASC
>
> ) me
>
|
|
From: Muris <alc...@gm...> - 2025-10-24 15:31:58
|
Hi Oliver, I just wanted to let you know after looking at this closer I found the issue -
Root cause:
In /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm calls ->with_custom_fields, which forces all custom_fields values to be cast as JSON arrays.
Because some devices return empty or malformed SNMP strings, the JSON cast fails, and the Neighbours endpoint crashes before rendering the map.
Fix applied (minimal and effective):
In /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm,
I removed ->with_custom_fields from this line:
my $devices = schema(vars->{'tenant'})->resultset('Device')->search({}, {
'+select' => [\'floor(log(throughput.total))'], '+as' => ['log'],
join => 'throughput', distinct => 1,
})->with_times->with_custom_fields;
changed to:
})->with_times;
Result:
- The Neighbours tab now loads correctly again.
- No other Netdisco components (reports, discovery, backend) were affected.
- The map works faster, since it no longer expands unnecessary JSON fields.
What do you think about this, is custom_fields required in the neighbors.pm ?
Regards,
Muris
From: Muris <alc...@gm...>
Date: Tuesday, 21 October 2025 at 12:46
To: Oliver Gorwits <ol...@cp...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver,
I wanted to let you know that even though I got the Cisco IMEI / Cellular Services report working fine with the custom fields in deployment.yml, it seems to have broken the Neighbours tab in the web interface - it now shows a blank page. I didn’t realize it broke this as I hardly even use that tab, but others do so they reported it as an issue.
It also says in Error 500 with dancer , it doesn’t show that but page Is blank in neighbours tab, but I see it in the web developer tools in network inside a browser.
Here’s the log output from netdisco backend when the Neighbours page loads in short form:
DBIx::Class::ResultSet::next(): DBI Exception: DBD::Pg::st execute failed:
ERROR: invalid input syntax for type json
DETAIL: The input string ended unexpectedly.
CONTEXT: JSON data, line 1: [
STATEMENT: SELECT json_array_elements_text((me.custom_fields ->> 'c3gIccId')::json),
json_array_elements_text((me.custom_fields ->> 'c3gGsmNetwork')::json),
json_array_elements_text((me.custom_fields ->> 'c3gImei')::json)
FROM device me ...
at /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm line 244
It looks like the Neighbours/Netmap query is trying to expand all custom_fields as JSON arrays and fails if any of them contain plain text.
Would it be possible for the Neighbours view to exclude or ignore specific custom_fields (like these Cisco ones), or handle non-JSON values more safely so the page doesn’t break?
And how would I fix the broken neighbours page now?
Regards,
Muris
From: Muris <alc...@gm...>
Date: Thursday, 2 October 2025 at 14:36
To: Oliver Gorwits <ol...@cp...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver, ive expanded a bit on this - ive added in SIM Number reporting using “c3gIccId” as part of the third column.
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
- name: 'c3gIccId'
label: 'SIM Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gIccId'
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI & SIM Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
- { simnum: 'SIM Number' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei,
CASE
WHEN custom_fields->>'c3gIccId' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gIccId' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gIccId'), '","', ' | '), '"', '')
ELSE NULL
END AS simnum
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
OR
(custom_fields->>'c3gIccId' LIKE '[%"%')
ORDER BY ip ASC;
From: Oliver Gorwits <ol...@cp...>
Date: Tuesday, 13 May 2025 at 05:29
To: Muris <alc...@gm...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
I correct myself: I think the error isn't malformed json, just a json data structure that Netdisco isn't expecting (to retrieve).
regards
oliver.
On Mon, 12 May 2025 at 20:44, Oliver Gorwits <ol...@cp...> wrote:
great investigative work, thank you!
it puzzles me that the crash is after the data is stored into the jsonb field ... it should be sanity checked by postgresql on the way in. and the field type of custom_fields is already jsonb so I'm not sure why the cast is needed.
anyway, Netdisco can apply better sanity checking as well, I will look into that.
regards
oliver.
On Mon, 12 May 2025 at 05:32, Muris <alc...@gm...> wrote:
I found what the issue is after more investigation - the crash was caused by some devices responding to SNMP queries with malformed or incomplete values for the following fields;
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
These fields are globally polled across all devices. For devices that aren’t cellular-capable, SNMP responses can be empty strings or placeholders, which are stored in the custom_fields JSONB column. When these are cast to ::jsonb in a report, PostgreSQL throws an error if the value is invalid JSON.
Original Report:
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gGsmNetwork')::jsonb))::text[]
ELSE NULL
END AS carrier,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gImei')::jsonb))::text[]
ELSE NULL
END AS imei
FROM device
WHERE
(jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields->>'c3gGsmNetwork' <> '[]')
OR
(jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields->>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
ORDER BY ip ASC;
This works fine if the data is perfect JSON — but crashes as soon as a malformed value is stored in custom_fields.
I then modified the report to avoid JSON casting entirely and instead format the values as plain strings. This eliminates the risk of crashing and allows for consistent parsing and display. I also added fallback display text for common placeholders like [""] or ["000 00"], and if the field is effectively blank, it now shows "Not Detected but SIM present". This approach is safer, cleaner, and more resilient - even when devices return unexpected or malformed SNMP responses.
reports:
- tag: cisco_cellular_routers2
label: 'Cisco Cellular IMEI Tracker (Safe)'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
ORDER BY ip ASC;
Long-Term Suggestions
1. Graceful handling of unsupported SNMP field responses
Netdisco could skip or sanitize custom_fields values if the SNMP response is clearly empty, malformed, or invalid (e.g., "", noSuchInstance).
2. Add JSON-safe casting helpers in the report engine
Internal helper functions that verify and validate custom_fields before applying ::jsonb casts could help avoid user side crashes.
3. Optional “safe display” mode for reports
A config option or flag for reports that instructs Netdisco to treat custom field data as plain text and format it for readability — stripping brackets, quotes, etc., without requiring the user to manually write TRIM/REPLACE logic.
On 7/5/2025, 9:14 pm, "Christian Ramseyer" <ram...@ne... <mailto:ram...@ne...>> wrote:
The SQL itself seems to work correctly for me (empty result, none
expected since I don't collect these fields, but no error).
Do you get an error even when you paste the SQL into netdisco-do psql?
Or only when running it from the web interface? If the latter, please
post the full report definition as it appears in the config.
Cheers
Christian
On 06.05.2025 07:01, Muris wrote:
> SELECT me.devname, me.ip, me.carrier, me.imei FROM (SELECT
> COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gGsmNetwork')::jsonb))::text[]
>
> ELSE NULL
>
> END AS carrier,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gImei')::jsonb))::text[]
>
> ELSE NULL
>
> END AS imei
>
> FROM device
>
> WHERE
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND
> custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields-
> >>'c3gGsmNetwork' <> '[]')
>
> OR
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields-
> >>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
>
> ORDER BY ip ASC
>
> ) me
>
|
|
From: Muris <alc...@gm...> - 2025-10-21 02:16:53
|
Hi Oliver,
I wanted to let you know that even though I got the Cisco IMEI / Cellular Services report working fine with the custom fields in deployment.yml, it seems to have broken the Neighbours tab in the web interface - it now shows a blank page. I didn’t realize it broke this as I hardly even use that tab, but others do so they reported it as an issue.
It also says in Error 500 with dancer , it doesn’t show that but page Is blank in neighbours tab, but I see it in the web developer tools in network inside a browser.
Here’s the log output from netdisco backend when the Neighbours page loads in short form:
DBIx::Class::ResultSet::next(): DBI Exception: DBD::Pg::st execute failed:
ERROR: invalid input syntax for type json
DETAIL: The input string ended unexpectedly.
CONTEXT: JSON data, line 1: [
STATEMENT: SELECT json_array_elements_text((me.custom_fields ->> 'c3gIccId')::json),
json_array_elements_text((me.custom_fields ->> 'c3gGsmNetwork')::json),
json_array_elements_text((me.custom_fields ->> 'c3gImei')::json)
FROM device me ...
at /home/netdisco/perl5/lib/perl5/App/Netdisco/Web/Plugin/Device/Neighbors.pm line 244
It looks like the Neighbours/Netmap query is trying to expand all custom_fields as JSON arrays and fails if any of them contain plain text.
Would it be possible for the Neighbours view to exclude or ignore specific custom_fields (like these Cisco ones), or handle non-JSON values more safely so the page doesn’t break?
And how would I fix the broken neighbours page now?
Regards,
Muris
From: Muris <alc...@gm...>
Date: Thursday, 2 October 2025 at 14:36
To: Oliver Gorwits <ol...@cp...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
Hi Oliver, ive expanded a bit on this - ive added in SIM Number reporting using “c3gIccId” as part of the third column.
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
- name: 'c3gIccId'
label: 'SIM Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gIccId'
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI & SIM Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
- { simnum: 'SIM Number' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei,
CASE
WHEN custom_fields->>'c3gIccId' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gIccId' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gIccId'), '","', ' | '), '"', '')
ELSE NULL
END AS simnum
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
OR
(custom_fields->>'c3gIccId' LIKE '[%"%')
ORDER BY ip ASC;
From: Oliver Gorwits <ol...@cp...>
Date: Tuesday, 13 May 2025 at 05:29
To: Muris <alc...@gm...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
I correct myself: I think the error isn't malformed json, just a json data structure that Netdisco isn't expecting (to retrieve).
regards
oliver.
On Mon, 12 May 2025 at 20:44, Oliver Gorwits <ol...@cp...> wrote:
great investigative work, thank you!
it puzzles me that the crash is after the data is stored into the jsonb field ... it should be sanity checked by postgresql on the way in. and the field type of custom_fields is already jsonb so I'm not sure why the cast is needed.
anyway, Netdisco can apply better sanity checking as well, I will look into that.
regards
oliver.
On Mon, 12 May 2025 at 05:32, Muris <alc...@gm...> wrote:
I found what the issue is after more investigation - the crash was caused by some devices responding to SNMP queries with malformed or incomplete values for the following fields;
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
These fields are globally polled across all devices. For devices that aren’t cellular-capable, SNMP responses can be empty strings or placeholders, which are stored in the custom_fields JSONB column. When these are cast to ::jsonb in a report, PostgreSQL throws an error if the value is invalid JSON.
Original Report:
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gGsmNetwork')::jsonb))::text[]
ELSE NULL
END AS carrier,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gImei')::jsonb))::text[]
ELSE NULL
END AS imei
FROM device
WHERE
(jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields->>'c3gGsmNetwork' <> '[]')
OR
(jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields->>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
ORDER BY ip ASC;
This works fine if the data is perfect JSON — but crashes as soon as a malformed value is stored in custom_fields.
I then modified the report to avoid JSON casting entirely and instead format the values as plain strings. This eliminates the risk of crashing and allows for consistent parsing and display. I also added fallback display text for common placeholders like [""] or ["000 00"], and if the field is effectively blank, it now shows "Not Detected but SIM present". This approach is safer, cleaner, and more resilient - even when devices return unexpected or malformed SNMP responses.
reports:
- tag: cisco_cellular_routers2
label: 'Cisco Cellular IMEI Tracker (Safe)'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
ORDER BY ip ASC;
Long-Term Suggestions
1. Graceful handling of unsupported SNMP field responses
Netdisco could skip or sanitize custom_fields values if the SNMP response is clearly empty, malformed, or invalid (e.g., "", noSuchInstance).
2. Add JSON-safe casting helpers in the report engine
Internal helper functions that verify and validate custom_fields before applying ::jsonb casts could help avoid user side crashes.
3. Optional “safe display” mode for reports
A config option or flag for reports that instructs Netdisco to treat custom field data as plain text and format it for readability — stripping brackets, quotes, etc., without requiring the user to manually write TRIM/REPLACE logic.
On 7/5/2025, 9:14 pm, "Christian Ramseyer" <ram...@ne... <mailto:ram...@ne...>> wrote:
The SQL itself seems to work correctly for me (empty result, none
expected since I don't collect these fields, but no error).
Do you get an error even when you paste the SQL into netdisco-do psql?
Or only when running it from the web interface? If the latter, please
post the full report definition as it appears in the config.
Cheers
Christian
On 06.05.2025 07:01, Muris wrote:
> SELECT me.devname, me.ip, me.carrier, me.imei FROM (SELECT
> COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gGsmNetwork')::jsonb))::text[]
>
> ELSE NULL
>
> END AS carrier,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gImei')::jsonb))::text[]
>
> ELSE NULL
>
> END AS imei
>
> FROM device
>
> WHERE
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND
> custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields-
> >>'c3gGsmNetwork' <> '[]')
>
> OR
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields-
> >>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
>
> ORDER BY ip ASC
>
> ) me
>
|
|
From: Muris <alc...@gm...> - 2025-10-02 05:06:59
|
Hi Oliver, ive expanded a bit on this - ive added in SIM Number reporting using “c3gIccId” as part of the third column.
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
- name: 'c3gIccId'
label: 'SIM Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gIccId'
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI & SIM Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
- { simnum: 'SIM Number' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei,
CASE
WHEN custom_fields->>'c3gIccId' IN ('[""]', '["000 00"]')
THEN 'Not Detected'
WHEN custom_fields->>'c3gIccId' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gIccId'), '","', ' | '), '"', '')
ELSE NULL
END AS simnum
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
OR
(custom_fields->>'c3gIccId' LIKE '[%"%')
ORDER BY ip ASC;
From: Oliver Gorwits <ol...@cp...>
Date: Tuesday, 13 May 2025 at 05:29
To: Muris <alc...@gm...>
Cc: Christian Ramseyer <ram...@ne...>, <net...@li...>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services
I correct myself: I think the error isn't malformed json, just a json data structure that Netdisco isn't expecting (to retrieve).
regards
oliver.
On Mon, 12 May 2025 at 20:44, Oliver Gorwits <ol...@cp...> wrote:
great investigative work, thank you!
it puzzles me that the crash is after the data is stored into the jsonb field ... it should be sanity checked by postgresql on the way in. and the field type of custom_fields is already jsonb so I'm not sure why the cast is needed.
anyway, Netdisco can apply better sanity checking as well, I will look into that.
regards
oliver.
On Mon, 12 May 2025 at 05:32, Muris <alc...@gm...> wrote:
I found what the issue is after more investigation - the crash was caused by some devices responding to SNMP queries with malformed or incomplete values for the following fields;
custom_fields:
device:
- name: 'c3gImei'
label: 'IMEI Number'
snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'
- name: 'c3gGsmNetwork'
label: 'GSM Network'
snmp_object: 'CISCO-WAN-3G-MIB::c3gGsmNetwork'
These fields are globally polled across all devices. For devices that aren’t cellular-capable, SNMP responses can be empty strings or placeholders, which are stored in the custom_fields JSONB column. When these are cast to ::jsonb in a report, PostgreSQL throws an error if the value is invalid JSON.
Original Report:
reports:
- tag: cisco_cellular_routers
label: 'Cisco Cellular IMEI Tracker'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gGsmNetwork')::jsonb))::text[]
ELSE NULL
END AS carrier,
CASE
WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
ARRAY(SELECT jsonb_array_elements_text((custom_fields->>'c3gImei')::jsonb))::text[]
ELSE NULL
END AS imei
FROM device
WHERE
(jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields->>'c3gGsmNetwork' <> '[]')
OR
(jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields->>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
ORDER BY ip ASC;
This works fine if the data is perfect JSON — but crashes as soon as a malformed value is stored in custom_fields.
I then modified the report to avoid JSON casting entirely and instead format the values as plain strings. This eliminates the risk of crashing and allows for consistent parsing and display. I also added fallback display text for common placeholders like [""] or ["000 00"], and if the field is effectively blank, it now shows "Not Detected but SIM present". This approach is safer, cleaner, and more resilient - even when devices return unexpected or malformed SNMP responses.
reports:
- tag: cisco_cellular_routers2
label: 'Cisco Cellular IMEI Tracker (Safe)'
category: Device
columns:
- { devname: 'Name' }
- { ip: 'Device IP', _searchable: true }
- { carrier: 'Carrier Network' }
- { imei: 'IMEI' }
query: |
SELECT COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
CASE
WHEN custom_fields->>'c3gGsmNetwork' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gGsmNetwork' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gGsmNetwork'), '","', ' | '), '"', '')
ELSE NULL
END AS carrier,
CASE
WHEN custom_fields->>'c3gImei' IN ('[""]', '["000 00"]')
THEN 'Not Detected but SIM present'
WHEN custom_fields->>'c3gImei' LIKE '[%"%'
THEN REPLACE(REPLACE(TRIM(BOTH '["]' FROM custom_fields->>'c3gImei'), '","', ' | '), '"', '')
ELSE NULL
END AS imei
FROM device
WHERE
(custom_fields->>'c3gGsmNetwork' LIKE '[%"%')
OR
(custom_fields->>'c3gImei' LIKE '[%"%')
ORDER BY ip ASC;
Long-Term Suggestions
1. Graceful handling of unsupported SNMP field responses
Netdisco could skip or sanitize custom_fields values if the SNMP response is clearly empty, malformed, or invalid (e.g., "", noSuchInstance).
2. Add JSON-safe casting helpers in the report engine
Internal helper functions that verify and validate custom_fields before applying ::jsonb casts could help avoid user side crashes.
3. Optional “safe display” mode for reports
A config option or flag for reports that instructs Netdisco to treat custom field data as plain text and format it for readability — stripping brackets, quotes, etc., without requiring the user to manually write TRIM/REPLACE logic.
On 7/5/2025, 9:14 pm, "Christian Ramseyer" <ram...@ne... <mailto:ram...@ne...>> wrote:
The SQL itself seems to work correctly for me (empty result, none
expected since I don't collect these fields, but no error).
Do you get an error even when you paste the SQL into netdisco-do psql?
Or only when running it from the web interface? If the latter, please
post the full report definition as it appears in the config.
Cheers
Christian
On 06.05.2025 07:01, Muris wrote:
> SELECT me.devname, me.ip, me.carrier, me.imei FROM (SELECT
> COALESCE(NULLIF(dns,''), NULLIF(name,''), '') AS devname, ip,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gGsmNetwork')::jsonb))::text[]
>
> ELSE NULL
>
> END AS carrier,
>
> CASE
>
> WHEN jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') THEN
>
> ARRAY(SELECT jsonb_array_elements_text((custom_fields-
> >>'c3gImei')::jsonb))::text[]
>
> ELSE NULL
>
> END AS imei
>
> FROM device
>
> WHERE
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gGsmNetwork') AND
> custom_fields->>'c3gGsmNetwork' IS NOT NULL AND custom_fields-
> >>'c3gGsmNetwork' <> '[]')
>
> OR
>
> (jsonb_path_exists(custom_fields::jsonb, '$.c3gImei') AND custom_fields-
> >>'c3gImei' IS NOT NULL AND custom_fields->>'c3gImei' <> '[]')
>
> ORDER BY ip ASC
>
> ) me
>
|
|
From: Muris <alc...@gm...> - 2025-09-26 12:49:52
|
Hi Oliver, this is resolved now, thanks for your help For everyone else reference is - https://github.com/netdisco/netdisco/issues/1392 From: Muris <alc...@gm...> Date: Thursday, 25 September 2025 at 22:36 To: Oliver Gorwits <ol...@cp...>, "net...@li..." <net...@li...> Subject: Re: Netdisco Auto Discover in 2.090000 Ok I enabled that and there is a problem – check this out… what do you think? This problem has technically stopped the production box from working properly with the discovery.. [9705] 2025-09-25 12:56:00 info pol (15): wrapping up discover job(284662149) - status done at Thu Sep 25 22:26:00 2025 [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [10149] 2025-09-25 12:56:00 info applying role Poller to worker 26 [10150] 2025-09-25 12:56:00 info applying role Poller to worker 19 [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [10151] 2025-09-25 12:56:00 info applying role Poller to worker 7 [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:00 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:01 debug mgr (2): sleeping now... [9432] 2025-09-25 12:56:02 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284669312 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284670365 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284665413 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284663409 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284669143 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667250 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667007 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284664161 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284668916 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284669292 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284669582 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284663202 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284666348 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284668049 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284666983 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284670971 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284668217 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284668621 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667503 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284666366 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667416 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284664831 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667985 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284670534 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284670444 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284664689 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284670101 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284667761 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284665834 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284668287 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284666538 [9432] 2025-09-25 12:56:02 debug getsome: cancelled 0E0 duplicate(s) of job 284664415 [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [10153] 2025-09-25 12:56:02 info applying role Poller to worker 13 [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [10154] 2025-09-25 12:56:02 info applying role Poller to worker 17 [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:02 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [10156] 2025-09-25 12:56:03 info applying role Poller to worker 5 [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [10157] 2025-09-25 12:56:03 info applying role Poller to worker 20 [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:03 debug mgr (2): sleeping now... [10159] 2025-09-25 12:56:03 info applying role Poller to worker 34 [9431] 2025-09-25 12:56:04 debug sched (1): macwalk: win_start: 1758804959, win_end: 1758805019, next: 1758810600 [9431] 2025-09-25 12:56:04 debug sched (1): discoverall: win_start: 1758804959, win_end: 1758805019, next: 1758825300 [9431] 2025-09-25 12:56:04 debug sched (1): arpwalk: win_start: 1758804959, win_end: 1758805019, next: 1758810600 [9431] 2025-09-25 12:56:04 debug sched (1): expire: win_start: 1758804959, win_end: 1758805019, next: 1758808200 [9431] 2025-09-25 12:56:04 debug sched (1): nbtwalk: win_start: 1758804959, win_end: 1758805019, next: 1758839400 [9431] 2025-09-25 12:56:04 debug sched (1): sleeping for 57 seconds [9432] 2025-09-25 12:56:04 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:04 debug getsome: cancelled 0E0 duplicate(s) of job 284668880 [9432] 2025-09-25 12:56:04 debug getsome: cancelled 0E0 duplicate(s) of job 284670773 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284669698 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670097 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284665682 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284669370 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284666500 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284667143 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284664689 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670406 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284667105 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284668882 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284669645 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670336 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670790 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284666900 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284669571 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670432 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670820 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670859 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284668118 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284667907 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284666632 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670760 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284665725 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670448 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284663536 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284667486 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284670249 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284668123 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284667130 [9432] 2025-09-25 12:56:05 debug getsome: cancelled 0E0 duplicate(s) of job 284668373 [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:05 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [10163] 2025-09-25 12:56:06 info applying role Poller to worker 18 [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [10164] 2025-09-25 12:56:06 info applying role Poller to worker 10 [9432] 2025-09-25 12:56:06 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:06 debug mgr (2): sleeping now... [10165] 2025-09-25 12:56:06 info applying role Poller to worker 28 [9432] 2025-09-25 12:56:07 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284670986 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667638 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284671179 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284668886 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284665873 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284668350 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284669894 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284664755 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284664248 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284669163 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667724 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667771 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284671132 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284668730 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284666194 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667430 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667130 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667880 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284669952 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284665081 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284663713 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284664534 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667424 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284668191 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284669289 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284665509 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667890 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284670907 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284670784 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667500 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284666759 [9432] 2025-09-25 12:56:07 debug getsome: cancelled 0E0 duplicate(s) of job 284667735 [10167] 2025-09-25 12:56:07 info applying role Poller to worker 33 [9432] 2025-09-25 12:56:07 info mgr (2): job 284670986 booked out for this processing node [9708] 2025-09-25 12:56:07 info pol (9): starting hook job(284670986) at Thu Sep 25 22:26:07 2025 Unknown charname 'RIGHTWARDS BLACK ARROW' at /home/netdisco/perl5/lib/perl5/App/Netdisco/Worker/Plugin.pm line 40. [9708] 2025-09-25 12:56:07 debug hook: running with timeout 600s [9708] 2025-09-25 12:56:07 debug [96m//// CHECK \\\\ [38;5;242mphase[0m [9708] 2025-09-25 12:56:07 debug [33m� worker [38;5;242mInternal::BackendFQDN[38;5;242m p[35m1000000[0m [9708] 2025-09-25 12:56:07 debug [33m� worker [38;5;242mInternal::SNMPFastDiscover[38;5;242m p[35m1000000[0m [9708] 2025-09-25 12:56:07 debug running with configured SNMP timeouts [9708] 2025-09-25 12:56:07 debug [33m� worker [38;5;242mHook[38;5;242m p[35m0[0m [9708] 2025-09-25 12:56:07 debug [32m⬅ [92m(done) [32mHook is able to run.[0m [9708] 2025-09-25 12:56:07 debug [96m//// MAIN \\\\ [38;5;242mphase[0m [9708] 2025-09-25 12:56:07 debug [33m� worker [38;5;242mHook::Exec[38;5;242m p[35m0[0m [9432] 2025-09-25 12:56:07 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:08 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:09 debug mgr (2): sleeping now... [10179] 2025-09-25 12:56:10 info applying role Poller to worker 15 [9708] 2025-09-25 12:56:10 debug [32m⬅ [92m(done) [32mExec Hook: exit status 0[0m [9708] 2025-09-25 12:56:10 debug [33m� worker [38;5;242mHook::HTTP[38;5;242m p[35m0[0m [9708] 2025-09-25 12:56:10 info pol (9): wrapping up hook job(284670986) - status done at Thu Sep 25 22:26:10 2025 [9432] 2025-09-25 12:56:10 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284670246 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284671138 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284666152 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284667185 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669749 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284667211 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284670802 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669582 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669748 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668578 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669660 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284666212 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669778 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668531 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284666877 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668720 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284667618 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284665459 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668170 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668181 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284670645 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284669446 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668490 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284670653 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284664861 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668072 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284664541 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284666633 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284666395 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668424 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284668381 [9432] 2025-09-25 12:56:10 debug getsome: cancelled 0E0 duplicate(s) of job 284663235 [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:10 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:11 debug mgr (2): sleeping now... [9432] 2025-09-25 12:56:12 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284663415 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284669078 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284663462 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284666092 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284668882 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284669532 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284664198 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284671039 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284665166 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284665690 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284664973 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284670841 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284665083 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284669311 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284663713 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284667063 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284667942 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284666471 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284671014 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284669972 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284664243 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284664197 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284669087 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284666792 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284667257 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284668085 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284668513 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284670030 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284668923 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284671193 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284668115 [9432] 2025-09-25 12:56:13 debug getsome: cancelled 0E0 duplicate(s) of job 284671233 [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:13 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:14 debug mgr (2): sleeping now... [9432] 2025-09-25 12:56:15 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284670225 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284670850 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284670246 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284665083 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284666350 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668879 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284669777 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668735 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284664482 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284666152 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284670005 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668072 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668670 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284666480 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284667622 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668249 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284671080 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284668751 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284665111 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284664692 [9432] 2025-09-25 12:56:15 debug getsome: cancelled 0E0 duplicate(s) of job 284665431 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284670780 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284667438 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284668923 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284668377 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284668256 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284669599 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284670251 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284664804 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284666249 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284664243 [9432] 2025-09-25 12:56:16 debug getsome: cancelled 0E0 duplicate(s) of job 284666188 [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:16 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:17 debug mgr (2): sleeping now... [9432] 2025-09-25 12:56:18 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284668861 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284667387 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284668722 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284664906 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669134 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284670241 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284666475 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669167 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669321 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669319 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284667488 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284666890 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284668174 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284671214 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284670636 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284664066 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284671087 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669355 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284670819 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284667942 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284666432 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284667768 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669612 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284669341 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284665597 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284665665 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284663362 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284670961 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284670022 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284666521 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284668687 [9432] 2025-09-25 12:56:18 debug getsome: cancelled 0E0 duplicate(s) of job 284668125 [9432] 2025-09-25 12:56:18 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:18 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:18 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:18 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:19 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:20 debug mgr (2): sleeping now... [10190] 2025-09-25 12:56:20 info applying role Poller to worker 9 [9432] 2025-09-25 12:56:21 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666702 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284664514 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284667950 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284670798 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284670186 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666642 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284670454 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668058 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284667269 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284669754 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284670495 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666243 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284671282 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668774 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668898 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284665078 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284664161 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668166 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668205 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284669113 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668980 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284670821 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668797 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284663376 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284667991 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668676 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284668670 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666887 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284664915 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666480 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284665664 [9432] 2025-09-25 12:56:21 debug getsome: cancelled 0E0 duplicate(s) of job 284666688 [9432] 2025-09-25 12:56:21 info mgr (2): job 284666702 booked out for this processing node [9710] 2025-09-25 12:56:21 info pol (21): starting hook job(284666702) at Thu Sep 25 22:26:21 2025 Unknown charname 'RIGHTWARDS BLACK ARROW' at /home/netdisco/perl5/lib/perl5/App/Netdisco/Worker/Plugin.pm line 40. [9710] 2025-09-25 12:56:21 debug hook: running with timeout 600s [9710] 2025-09-25 12:56:21 debug [96m//// CHECK \\\\ [38;5;242mphase[0m [9710] 2025-09-25 12:56:21 debug [33m� worker [38;5;242mInternal::BackendFQDN[38;5;242m p[35m1000000[0m [9710] 2025-09-25 12:56:21 debug [33m� worker [38;5;242mInternal::SNMPFastDiscover[38;5;242m p[35m1000000[0m [9710] 2025-09-25 12:56:21 debug running with configured SNMP timeouts [9710] 2025-09-25 12:56:21 debug [33m� worker [38;5;242mHook[38;5;242m p[35m0[0m [9710] 2025-09-25 12:56:21 debug [32m⬅ [92m(done) [32mHook is able to run.[0m [9710] 2025-09-25 12:56:21 debug [96m//// MAIN \\\\ [38;5;242mphase[0m [9710] 2025-09-25 12:56:21 debug [33m� worker [38;5;242mHook::Exec[38;5;242m p[35m0[0m [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:21 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:22 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:23 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:23 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:23 debug mgr (2): sleeping now... [9710] 2025-09-25 12:56:23 debug [32m⬅ [92m(done) [32mExec Hook: exit status 0[0m [9710] 2025-09-25 12:56:23 debug [33m� worker [38;5;242mHook::HTTP[38;5;242m p[35m0[0m [9710] 2025-09-25 12:56:23 info pol (21): wrapping up hook job(284666702) - status done at Thu Sep 25 22:26:23 2025 [9432] 2025-09-25 12:56:24 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284668984 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284667004 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284666557 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284665080 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670530 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284669434 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670455 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284669278 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284663518 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284665608 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284667991 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284667480 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284666930 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284665808 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284663413 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670850 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284667747 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284671129 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670806 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284669744 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284667628 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670798 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284670556 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284663417 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284668126 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284664749 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284669883 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284665519 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284671108 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284671033 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284669952 [9432] 2025-09-25 12:56:24 debug getsome: cancelled 0E0 duplicate(s) of job 284665389 [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:24 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:25 debug mgr (2): sleeping now... [9432] 2025-09-25 12:56:26 debug mgr (2): getting potential jobs for 32 workers [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284669477 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284670968 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284665742 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284670065 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284670420 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284664997 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284668287 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284667211 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284664054 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284670556 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284669661 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284670716 [9432] 2025-09-25 12:56:26 debug getsome: cancelled 0E0 duplicate(s) of job 284669104 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284667173 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284668603 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284670488 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284664599 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284667889 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284668124 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284670246 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284671242 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284669984 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284668753 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284670760 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284669842 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284668768 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284669094 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284670280 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284669985 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284665824 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284666343 [9432] 2025-09-25 12:56:27 debug getsome: cancelled 0E0 duplicate(s) of job 284665408 [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job detected: hook [9432] 2025-09-25 12:56:27 debug mgr (2): duplicate running job d... [truncated message content] |
|
From: Christian R. <ram...@ne...> - 2025-09-25 19:05:15
|
Hi John I was about to reply that there are rumors it doesn't work in podman, but just last week a kind soul (@antonc42) posted a comment how they got it to run: https://github.com/netdisco/netdisco-docker/issues/78#issuecomment-3313582476 Good luck, if it doesn't work please comment in the issue and somebody might have a hint. Cheers Christian On 25.09.2025 17:54, Johnnie Adams wrote: > Hi, folks, > > I'm having quite the time getting this running. Has anyone else > gotten it to work? > > Thanks, > > John A > > |
|
From: Johnnie A. <jx...@ua...> - 2025-09-25 18:58:36
|
Hi, folks,
I'm having quite the time getting this running. Has anyone else gotten
it to work?
Thanks,
John A
|
|
From: Oliver G. <ol...@cp...> - 2025-09-25 17:29:00
|
Hi Alain There is no UML of the database schema, if that's what you meant. Actually there are no foreign key constraints in the Netdisco database either. So, while you can connect to postgresql and look around, it's a bit disconnected. However, you can browse the (quite readable) schema description files for each database table here: https://github.com/netdisco/netdisco/tree/master/lib/App/Netdisco/DB/Result And for these files it shows the primary key, and you also see the foreign key relations which Netdisco applies logically (independently of postgresql). Table constraints are usually just in postgresql, though. Hope that helps, Oliver. On Thu, 25 Sept 2025 at 15:32, alain thomas via netdisco-users < net...@li...> wrote: > Hello All, > I'm not surely the first to ask it just arriving : where can i find the > database logical model ? > Thanks > _______________________________________________ > Netdisco mailing list > net...@li... > https://sourceforge.net/p/netdisco/mailman/netdisco-users/ |