Send netdisco-users mailing list submissions to
        netdisco-users@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/netdisco-users
or, via email, send a message with subject or body 'help' to
        netdisco-users-requ...@lists.sourceforge.net

You can reach the person managing the list at
        netdisco-users-ow...@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of netdisco-users digest..."
Today's Topics:

   1. Re: Cisco IMEI tracker report for cellular services (Muris)
--- Begin Message ---
Hi Oliver, just wanted to let you know I spent hours to get it to work on the 
production Red Hat box but didn’t have much luck the same error keeps popping 
up.

 

But the fields are populating because I can see it on individual device when I 
click on it it says IMEI/GSM values. Also I see in the backend db custom_fields 
options are being populated.

 

So Redhat 7.6 is running

 

Netdisco 2.79.1

SNMP Info 3.972.0

DB Schema 88

PostgreSQL 12.00.6

Perl 5.16.3

Python 3.9.19

 

Muris

 

From: Muris <alcat...@gmail.com>
Date: Tuesday 17 September 2024 at 18:48
To: Oliver Gorwits <oli...@cpan.org>
Cc: <netdisco-users@lists.sourceforge.net>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services

 

Thanks, im thinking of leaving it open wide because we never really know what 
can be deployed out there.

 

I got this to work on my almalinux 8 test box.. but in production under red hat 
7.6 I cant get it working.. this is the error I get on the backend.

 

Any ideas?

 

9307] 2024-09-17 09:13:34 error request to GET 
/ajax/content/report/cisco_cellular_routers crashed: 
DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::Pg::st execute 
failed: execute called with an unbound placeholder [for Statement "SELECT 
me.devname, me.ip, me.carrier, me.imei FROM (SELECT COALESCE(NULLIF(dns,''), 
NULLIF(name,''), '') AS devname, ip,

  ARRAY(SELECT json_array_elements_text((custom_fields ->> 
'c3gGsmNetwork')::json))::text[] AS carrier,

  ARRAY(SELECT json_array_elements_text((custom_fields ->> 
'c3gImei')::json))::text[] AS imei

FROM device

WHERE

  (custom_fields \? 'c3gGsmNetwork' AND json_array_length((custom_fields ->> 
'c3gGsmNetwork')::json) > 0)

  OR

  (custom_fields \? 'c3gImei' AND json_array_length((custom_fields ->> 
'c3gImei')::json) > 0)

ORDER BY ip ASC

) me" with ParamValues: 1=undef, 2=undef] at 
/home/netdisco/perl5/lib/perl5/App/Netdisco/Web/GenericReport.pm line 66

 

 

 

From: Oliver Gorwits <oli...@cpan.org>
Date: Tuesday 17 September 2024 at 16:40
To: Muris <alcat...@gmail.com>
Cc: <netdisco-users@lists.sourceforge.net>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services

 

Hi Muris,

 

Many thanks! I'm so pleased it works well. And thank you for the WHERE clause 
tweak, what a good idea. I've put that into the wiki example.

 

For efficiency there is an undocumented feature you can use to only gather this 
info for the cellular routers. Add the traditional "only/no" ACL to the 
custom_fields specification, like so:

 

host_groups:
  cellular_routers:

    - 10.1.1.1

custom_fields:
  device:
    - name: 'imei'
      label: 'IMEI'
      snmp_object: 'CISCO-WAN-3G-MIB::c3gImei'

      only: 'group:cellular_routers'

 

(It's undocumented because it would cause some confusion without me 
implementing another feature alongside, but is intentionally coded to solve 
your problem, don't worry.)

 

To your second question - it will be fine. The report is a query against the 
database which has the data from the last time the device was discovered, so 
the old IMEI/Carrier will be there in the record.

 

(Eventually, of course, Netdisco will give up on trying to discover devices 
which are offline, and you may need to manually trigger the discover to wake it 
up; and after a longer time, the devices are cleaned up I think. But I guess 
you're aware of these issues and use the relevant config to change the 
behaviour if needed.)

 

Hope this helps,

 

regards

oliver

 

 

On Tue, 17 Sept 2024 at 03:35, Muris <alcat...@gmail.com> wrote:

Hi Oliver, well I must say you are the master of netdisco.. that works 
brilliant, but it also lists other devices which don’t have a IMEI/SIM attached

 

Ive made a modification to your WHERE clause so it only populates the report if 
it finds IMEI or Carrier, but all the other blanks are not listed, so the 
report is not going to be thousands of devices with lot of blanks.

 

WHERE 

  (custom_fields \? 'c3gGsmNetwork' AND json_array_length((custom_fields ->> 
'c3gGsmNetwork')::json) > 0)

  OR 

  (custom_fields \? 'c3gImei' AND json_array_length((custom_fields ->> 
'c3gImei')::json) > 0)

ORDER BY ip ASC

 

Also will it slow down discoveries if it has to check each device for imei and 
carrier?

 

What if the device goes offline for a period, is the report still going to be 
stored in the database incase router isn’t reachable?

 

Muris

 

From: Oliver Gorwits <oli...@cpan.org>
Date: Tuesday 17 September 2024 at 06:49
To: Muris <alcat...@gmail.com>
Cc: <netdisco-users@lists.sourceforge.net>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services

 

Hi Muris

 

Just following up on your feature requests. As you have recently upgraded, this 
is _mostly_ possible, with the exception of historic data.

 

1. Install the "jq" tool on your system. This should be available in an OS 
package, or else is very portable and here: 
https://jqlang.github.io/jq/download/

 

2. Use the example here in the docs: 
https://github.com/netdisco/netdisco/wiki/Custom-Report-Examples#custom-fields-in-a-query

 

This sets up two custom fields on your devices for IMEI and Carrier, activates 
automagic SNMP retrieval, and then sets up a custom report to view them.

 

Run a discover job and wait a bit.

 

3. Profit! ;-)

 

This automagically handles devices with multiple modems, btw. You're welcome!

 

regards

oliver.

 

On Thu, 12 Sept 2024 at 07:36, Muris <alcat...@gmail.com> wrote:

Hi Oliver , that works, can you also add the carrier type ? It is c3gGsmNetwork

 

It would be nice to have a report something like Reports > Device > Cisco 
Cellular Routers IMEI

 

Then it gives name of the router/ip address/carrier/imei/number. 

Maybe also something to track IMEI number & GSM network changes for a specific 
device and when it was last seen/and or updated, with some historical data

 

~/bin/netdisco-do show -d 10.1.1.1 -e CISCO-WAN-3G-MIB::c3gImei -D

[22153] 2024-09-12 04:38:29  info App::Netdisco version 2.074001 loaded.

[22153] 2024-09-12 04:38:29  info show: [10.1.1.1]/CISCO-WAN-3G-MIB::c3gImei 
started at Thu Sep 12 14:08:29 2024

[22153] 2024-09-12 04:38:30 debug show: running with timeout 600s

[22153] 2024-09-12 04:38:30 debug => running workers for phase: check

[22153] 2024-09-12 04:38:30 debug -> run worker check/1000000 
"internal::backendfqdn"

[22153] 2024-09-12 04:38:30 debug -> run worker check/1000000 
"internal::snmpfastdiscover"

[22153] 2024-09-12 04:38:30 debug running with configured SNMP timeouts

[22153] 2024-09-12 04:38:30 debug -> run worker check/0 "show"

[22153] 2024-09-12 04:38:30 debug Show is able to run

[22153] 2024-09-12 04:38:30 debug => running workers for phase: main

[22153] 2024-09-12 04:38:30 debug -> run worker main/100 "show"

[22153] 2024-09-12 04:38:30 debug snmp reader cache warm: [10.1.1.1]

[22153] 2024-09-12 04:38:30 debug [10.1.1.1:161] try_connect with v: 2, t: 0.2, 
r: 0, class: SNMP::Info::Layer3::CiscoSwitch, comm: <hidden>

{

    21   99424056879145

}

[22153] 2024-09-12 04:38:32  info show: finished at Thu Sep 12 14:08:32 2024

[22153] 2024-09-12 04:38:32  info show: status done: Showed 
CISCO-WAN-3G-MIB::c3gImei response from 10.1.1.1

 

 

~/bin/netdisco-do show -d 10.1.1.1 -e CISCO-WAN-3G-MIB::c3gGsmNetwork -D

[23874] 2024-09-12 04:41:30  info App::Netdisco version 2.074001 loaded.

[23874] 2024-09-12 04:41:30  info show: 
[10.1.1.1]/CISCO-WAN-3G-MIB::c3gGsmNetwork started at Thu Sep 12 14:11:30 2024

[23874] 2024-09-12 04:41:30 debug show: running with timeout 600s

[23874] 2024-09-12 04:41:30 debug => running workers for phase: check

[23874] 2024-09-12 04:41:30 debug -> run worker check/1000000 
"internal::backendfqdn"

[23874] 2024-09-12 04:41:30 debug -> run worker check/1000000 
"internal::snmpfastdiscover"

[23874] 2024-09-12 04:41:30 debug running with configured SNMP timeouts

[23874] 2024-09-12 04:41:30 debug -> run worker check/0 "show"

[23874] 2024-09-12 04:41:30 debug Show is able to run

[23874] 2024-09-12 04:41:30 debug => running workers for phase: main

[23874] 2024-09-12 04:41:30 debug -> run worker main/100 "show"

[23874] 2024-09-12 04:41:30 debug snmp reader cache warm: [10.1.1.1]

[23874] 2024-09-12 04:41:30 debug [10.1.1.1:161] try_connect with v: 2, t: 0.2, 
r: 0, class: SNMP::Info::Layer3::CiscoSwitch, comm: <hidden>

{

    21   "Telstra"

}

[23874] 2024-09-12 04:41:32  info show: finished at Thu Sep 12 14:11:32 2024

[23874] 2024-09-12 04:41:32  info show: status done: Showed 
CISCO-WAN-3G-MIB::c3gGsmNetwork response from 10.1.1.1

 

From: Oliver Gorwits <oli...@cpan.org>
Date: Wednesday 11 September 2024 at 23:58
To: Muris <alcat...@gmail.com>
Cc: "netdisco-users@lists.sourceforge.net" 
<netdisco-users@lists.sourceforge.net>
Subject: Re: [Netdisco] Cisco IMEI tracker report for cellular services

 

Hi Muris!

 

I think this may be possible but can you send the output of this command, 
please (to me direct by email is fine, if you don't wish to share widely):

 

~/bin/netdisco-do show -d x.x.x.x -e CISCO-WAN-3G-MIB::c3gImei -D

 

regards,

oliver.

 

On Wed, 11 Sept 2024 at 07:35, Muris <alcat...@gmail.com> wrote:

Hi,

 

I was wondering is it possible to add an extra field in netdisco to collect 
Cisco IMEI numbers for tracking cellular services?

 

The SNMP Oid for Cisco IMEI is .1.3.6.1.4.1.9.9.661.1.3.1.1.2

 

This way a report can be made with hostname of the router and attached IMEI

 

I just thought this would be useful for tracking hundreds of routers on 
cellular services and if they have been seen online/or if it matches with the 
carrier etc

 

Muris

 

 

 

_______________________________________________
Netdisco mailing list
netdisco-users@lists.sourceforge.net
https://sourceforge.net/p/netdisco/mailman/netdisco-users/


--- End Message ---
_______________________________________________
Netdisco mailing list - Digest Mode
netdisco-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/netdisco-users

Reply via email to