Palo Alto GlobalProtect Gateway Active Sessions
I couldn't find a DataSource that simply displayed the number of active users per Gateway, so I whipped this up real quick. Hopefully others will find it useful! It just grabs the list of GlobalProtect Gateways and the number of current and previous users connected to them. I'm using it for a quick dashboard that shows how many active sessions we have on each gateway. LMLocator:JZ97Z622Views0likes1CommentCOVID-19
Hey all, I built out a datasource to monitor the COVID-19 cases and deaths per state. An API key from Finnhub.io is required to run this DataSource. The API key must be saved as a custom property on the device you want this DataSource applied to. The Custom Propery name needs to be "finhubb.api.key" with the value being the Finnhub.io API key. Finnhub.io offers a free API key teir that allows60 queries a minute. Locator Code: M9WGM328Views0likes10CommentsCisco PSIRT Advisories (beta)
I have been working on a module to pull Cisco PSIRT Advisories per device. It is not complete yet, but thought it might be interesting to post since it does work, just not properly for production use (see below). It is also anexample of how lack of library support forces cut-and-paste programming even within a single DS Please note that due to the way LM works, this cannot be deployed on more than a fewdevices as it stands!!!! Cisco has strict limits on the API and there is no reason to call more than daily for any platform/version pair, but you have no choice by default.Ihave some ideas on how to address, but if LM would provide a way to marshal and cache external API calls, I would not have to hack around the issue by running an nginx caching server (TBD) or possibly by writing JSON files to the local filesystem (shudder). To use this, you must get an application defined at the Cisco API Console (documented in the technical notes) and you must define the API key/secret from the application in properties. Cisco in theory wants you to use ios, iosxe and nxos as endpoint types with the version, but there is no actual way to reliably detect iosxe (that I can find, other than possibly a boot string @SNMPv2-SMI::enterprises.9.2.1.1.0 or SNMPv2-SMI::enterprises.9.3.6.4.0). So I used ios as default and nxos when matched. NMEFZAmnagel5 years agoProfessor12Views0likes2CommentsTwilio Dashboard Assistance
Does anyone have experience getting a dashboard put together for Twilio? The out of the box data source doesn't quite have what we need. Specifically I want to look at trunkingcalls their statuses, we'd love to have alerts on failures when they occur. I'm busy (lazy) and would be happy to pay someone to assist me with this if there's an expert out there with a some free time. :)7Views1like4CommentsBasic Synology
Greetings All, I came up with a few additional Synology datasources and a property source since I realized I was without this information. Let me know if you find them useful. I'm still exploring other SNMP data available via the Synology platform. Please note you must add the system.categories "synology" in addition to whatever else may be present (snmp,TCPUDP,etc.) as I haven't yet successfully configured theSNMP SysOID Maps for Synology devices; any assistance here would be greatly appreciated. F4T3CX = Synology Disk Status (Individual disk failures and temperatures) R977RE = Synology DiskStation Manager software upgradeavailability PR4DGP = PropertySource for gathering and displaying Model, Serial, and DSM Version in the info tab. Respectfully, Alejandro Esmael180Views4likes5CommentsSonicWall SSL VPN Session Counter
Just created a ds to count SonicWall SSL VPN sessions. Locator FMN27M. Would love some feedback and code improvements as this is my first groovy script. Not a fan of just dropping the exit code as I have. There must be a better way to implement validations/error checking and output appropriate exit codes Would like to see other methods for counting the users. Maybe matching on the string "User Name" and counting the lines that follow? Could see this growing to include user session length Would be nice to only applythe ds to a resource if ssl vpn server was running For ease here is sample output from the firewall and the script. ======================= Active SSLVPN Sessions: ======================= User Name Client Virtual IP Client WAN IP Login Time Inactivity Time Logged In user1 10.10.10.10 6.6.6.6 1799 Minutes 0 Minutes 01/23/2020 09:29:52 user2 10.10.10.11 5.5.5.5 460 Minutes 0 Minutes 01/24/2020 07:49:31 user3 10.10.10.12 4.4.4.4 368 Minutes 0 Minutes 01/24/2020 09:22:08 user4 10.10.10.13 3.3.3.3 224 Minutes 0 Minutes 01/24/2020 11:45:54 user5 10.10.10.14 2.2.2.2 170 Minutes 0 Minutes 01/24/2020 12:39:37 user6 10.10.10.15 1.1.1.1 13 Minutes 0 Minutes 01/24/2020 15:15:49 import com.santaba.agent.groovyapi.expect.Expect; hostname = hostProps.get("system.hostname"); userid = hostProps.get("ssh.user"); passwd = hostProps.get("ssh.pass"); // initialize a variable to contain the actual host prompt def actualPrompt = ""; def sslvpn_user_count = 0; // open an ssh connection and wait for the prompt ssh_connection = Expect.open(hostname, userid, passwd); ssh_connection.expect(">"); // capture full prompt e.g. user@host ssh_connection.before().eachLine { line -> actualPrompt = line; } // display the ssl vpn sessions ssh_connection.send("show ssl-vpn sessions \n"); ssh_connection.expect(actualPrompt + ">"); cmd_output = ssh_connection.before(); // read thru multiline output // rows with 9 columns are user sessions // increment to total user sessions cmd_output.eachLine { line -> row_length = line.split(/\s+/); if ( row_length.size() == 9 ) { sslvpn_user_count++ } } ssh_connection.send("exit"); println(sslvpn_user_count); return 0;27Views1like2Comments