Send netdisco-users mailing list submissions to
        [email protected]

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
        [email protected]

You can reach the person managing the list at
        [email protected]

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

   1. Re: perl script for custom reports (Brian Marshall)
--- Begin Message --- I tried that, but found that in L2 mode the arp table was pretty bare, and I don't want all my devices in L3 mode.

Maybe I'm missing something though.

On 9/10/25 12:12, Jethro Binks wrote:
Notwithstanding any of your own work, for ArubaOS-CX arp tables in particular:

https://github.com/netdisco/netdisco/issues/1379

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:* Brian Marshall via netdisco-users <[email protected]>
*Sent:* 10 September 2025 7:57 PM
*To:* Oliver Gorwits <[email protected]>; [email protected] <[email protected]>
*Subject:* Re: [Netdisco] perl script for custom reports

Hi Oliver, thanks for the reply.

I was kind of afraid that it would be a new feature...I am stuck on an old branch due to too many changes I haven't been able to upstream...I may end up doing something like a custom javascript patch to dynamically create the links for now or just live with having to copy/paste. Its a custom CVE tracking database I also host in my netdisco db. Would an old version have an easy way to define a field to automatically hotlink to eg. the nodes view with the column value as the url parameter?

As an aside, I've developed a collector plugin that may be useful in this age of limited-or-no-arp-table devices (Aruba CX is the main culprit for me): netdisco-flowcollector. I have created a platform file for NFDump, since that's what I'm using.

It grabs the source mac/ip of every flow with just the SYN flag set and filters out any macs that are associated with more that one IP or that reference a known device IP/Alias, which seems to reduce false-positives to basically zero.

I also created a netdisco-apicollector, but the CX series API didn't yield any better arp data through the API than the CLI so I abandoned the experiment, but the code is mostly complete and working.

Would there be any interest in the code for this?

On 9/8/25 04:05, Oliver Gorwits wrote:
Hi Brian

No problem asking again! A lot has been developed in the past couple of years which might help.

One problem with making anything a hyperlink by using Perl munging is that the output is then HTML escaped for safety by Netdisco, rendering the link useless. This is why the old Plugins I released for Observium and RANCID were quite a bit of work, adding template code and so on.

Since then, we have the new external_links and custom_fields features which allow these plugins to be entirely replaced by deployment.yml config!

https://github.com/netdisco/netdisco/wiki/Configuration#external_links <https://github.com/netdisco/netdisco/wiki/Configuration#external_links> https://github.com/netdisco/netdisco/wiki/Configuration#custom_fields <https://github.com/netdisco/netdisco/wiki/Configuration#custom_fields>

I'm not quite understanding how you attach a CVE number to a device, or do you mean you have a separate database to look them up in?

Anyway, you can easily nowadays push some data into a custom field (for a device or port), either via API or in a Hook, and then use that custom field in a device or port hyperlink, using above config options.

https://github.com/netdisco/netdisco/wiki/Hooks <https://github.com/netdisco/netdisco/wiki/Hooks> https://github.com/netdisco/netdisco/wiki/API#update-a-custom-field <https://github.com/netdisco/netdisco/wiki/API#update-a-custom-field>

If you have another scenario in mind, please elaborate, as this is where the features come from! :-)

regards
oliver.

On Sun, 7 Sept 2025 at 21:32, Brian Marshall via netdisco-users <[email protected] <mailto:[email protected]>> wrote:

    Hi list, I know this is a _very_ old thread, but it just kind of
    ended up with a link to the Wiki which, while an excellent source
    of a lot of things to do with custom reports, still doesn't have
    an example .pm for column munging.

    I'd love to be able to do a few things like make some columns
    into hotlinks (eg. CVE numbers going to NIST definitions), but
    I'm not sure where to get started with the "munging".

    On 6/24/21 02:14, Ruben Moretti via netdisco-users wrote:

    Hi Oliver !

    Thanks a lot !

    Maybe a Perl script as an example to mung the data that is
    called up in this way?I can't see how to access the input for
    the script, and I don't know what the output should look like
    either.I only know that the Perl script should have the same
    name as the report tag and must be located under site_plugins.

    Thanks in advance,



    Am 23.06.2021 um 22:59 schrieb Oliver Gorwits:
    A wiki page might do as well - can be collaboratively edited
    with suggested reports and grouped by topic similar to the menus

    ....time passes...

    I created one :)
    https://github.com/netdisco/netdisco/wiki/Custom-Reports
    <https://github.com/netdisco/netdisco/wiki/Custom-Reports>

    On Wed, 23 Jun 2021 at 21:36, Michael Butash
    <[email protected] <mailto:[email protected]>> wrote:

        Probably nice to make a /contrib directory for these folks
        could drop into a repo for other user-created reports they
        find useful.

        Reading this thread, I was wondering about looking at
        making a custom report to fix nbt node views.  It's really
        quite annoying it doesn't give the ip address in the main
        view, would be nice to add a like report with just that if
        not adding to the existing one.

        -mb


        On Tue, Jun 22, 2021 at 11:23 PM Miha Kralj
        <[email protected] <mailto:[email protected]>> wrote:

            Another nice report is for finding all ports that
            are: Port down, Admin Up, for 2 months
            This means that ports are not used for at least 2
            months and for security reasons should be shut down.
            The time range is configurable inside the query.

            reports:
              - tag: portsdownall
                label: 'Port down, Admin Up - 2 months'
                category: Port
                columns:
                - { host: Device_name}
                - { ip: ip}
                - { port: Port}
                - { name: Description}
                - { status: Status}
                - { status_admin: 'Status Admin'}
                - { last_change: 'Last change'}
                query: |
                  SELECT device.name <http://device.name/> AS host,
            device_port.ip, device_port.port, device_port.name
            <http://device_port.name/>, device_port.up AS status,
            device_port.up_admin AS status_admin,
            to_char((device.last_discover - (device.uptime -
            device_port.lastchange) / 100 * interval '1 second'),
            'YYYY-MM-DD HH24:MI:SS') as last_change from device_port
                  LEFT JOIN device ON device_port.ip = device.ip
                  WHERE device_port.up = 'down'
                    AND device_port.up_admin = 'up'
                    AND device_port.port NOT LIKE '%Vlan%'
                    AND (device.last_discover - (device.uptime -
            device_port.lastchange) /
                    100 * interval '1 second') < (now() - interval
            '2 month')

            On Wed, Jun 23, 2021 at 8:07 AM Muris
            <[email protected] <mailto:[email protected]>> wrote:

                Does anyone else have any other handy custom
                reports they can share?

                *From: *Miha Kralj <[email protected]
                <mailto:[email protected]>>
                *Date: *Wednesday, 23 June 2021 at 15:20
                *To: *Ruben Moretti <[email protected]
                <mailto:[email protected]>>
                *Cc: *<[email protected]
                <mailto:[email protected]>>
                *Subject: *Re: [Netdisco] perl script for custom
                reports

                Hi,

                There is a simple way to make custom reports...

                My way to create custom reports is to place yml
                code at the end in environments/deployment.yml file
                like this:

                reports:

                - tag: List_of_devices

                  label: 'List of devices'

                  category: Device

                  columns:

                  - { name: Device}

                  - { ip: ip}

                  - { creation: First_seen}

                  - { last_discover: Last_discover}

                  query: |

                    SELECT name, ip, creation::timestamp(0),
                last_discover::timestamp(0) from device

                      ORDER BY name

                After that you can find a report on the web
                interface "Reports -- > Device -- > List of devices".

                I hope it helps.

                On Sun, Jun 20, 2021 at 3:31 PM Ruben Moretti via
                netdisco-users
                <[email protected]
                <mailto:[email protected]>> wrote:

                    Hello !

                    Can anyone post some simple perl script
                    example  for them ?

                    Thanks a lot.

                    
https://github.com/netdisco/netdisco/wiki/Configuration#reports
                    
<https://github.com/netdisco/netdisco/wiki/Configuration#reports>

                    You can munge the data retrieved from the
                    database by placing a Perl script with the same
                    name as the |reports| key into the
                    “|site_plugins|” directory of Netdisco’s home
                    area. The script can access |$config| for its
                    configuration and |@data| for the retrieved
                    data. It should return a list of munged data

                    _______________________________________________
                    Netdisco mailing list
                    [email protected]
                    <mailto:[email protected]>
                    https://sourceforge.net/p/netdisco/mailman/netdisco-users/
                    <https://sourceforge.net/p/netdisco/mailman/netdisco-users/>

            _______________________________________________
            Netdisco mailing list
            [email protected]
            <mailto:[email protected]>
            https://sourceforge.net/p/netdisco/mailman/netdisco-users/
            <https://sourceforge.net/p/netdisco/mailman/netdisco-users/>

        _______________________________________________
        Netdisco mailing list
        [email protected]
        <mailto:[email protected]>
        https://sourceforge.net/p/netdisco/mailman/netdisco-users/
        <https://sourceforge.net/p/netdisco/mailman/netdisco-users/>



    _______________________________________________
    Netdisco mailing list
    [email protected] 
<mailto:[email protected]>
    https://sourceforge.net/p/netdisco/mailman/netdisco-users/ 
<https://sourceforge.net/p/netdisco/mailman/netdisco-users/>


    _______________________________________________
    Netdisco mailing list
    [email protected] 
<mailto:[email protected]>
    https://sourceforge.net/p/netdisco/mailman/netdisco-users/ 
<https://sourceforge.net/p/netdisco/mailman/netdisco-users/>
    _______________________________________________
    Netdisco mailing list
    [email protected]
    <mailto:[email protected]>
    https://sourceforge.net/p/netdisco/mailman/netdisco-users/
    <https://sourceforge.net/p/netdisco/mailman/netdisco-users/>



_______________________________________________
Netdisco mailing list
[email protected]
https://sourceforge.net/p/netdisco/mailman/netdisco-users/

--- End Message ---
_______________________________________________
Netdisco mailing list - Digest Mode
[email protected]
https://lists.sourceforge.net/lists/listinfo/netdisco-users

Reply via email to