network availability & vpn connected users KPI widget

Good Afternoon thwack community! I've been trying to mess with the SQL query or the graphical query builder but can't seem to get the network wide availability % (as a KPI widget) and same with vpn connected users. Anyone had any luck? Thanks!

Top Replies

  •    

    Guys, i set this up for my environment and works fine for me, we use Cisco Anyconnect as the VPN client.

    VPN Widget

    vpn.PNG

    To achieve the above i used the SWQL below where the XXX is the Solarwinds…

  •  

    if you change the 'WHERE' statement to read as below instead, this should give you the stats for the current month only and reset on the start of each month.

    WHERE (MONTH(i.DateTime) <= Month…

Parents
  •    

    Guys, i set this up for my environment and works fine for me, we use Cisco Anyconnect as the VPN client.

    VPN Widget

    vpn.PNG

    To achieve the above i used the SWQL below where the XXX is the Solarwinds NodeID of your ASA devices, we only have 2, but if you have more then that line will need expanded to include all of your ASA Devices

    SELECT
    count ([data].[RemoteAccessSessions].[UserName]) AS [Number]
    FROM orion.asa.node AS data
    where [data].[RemoteAccessSessions].[EncryptionAlgorithm] = 1
    and ([data].[RemoteAccessSessions].[NodeId] = XXX or [data].[RemoteAccessSessions].[NodeId] = XXX)
    and [data].[RemoteAccessSessions].[DisconnectedTime] is null

    Network Availability Widget

    NA.PNG

    To achieve the above widget i run the following SWQL query - bearing in mind that in my instance i'm looking at the last 30 rolling days and we have less that 2000 Nodes, these values below (in bold) would require adjusting for your environment.

    select avg(orion_responseTime_availability_avg) as Net_Avail
    from (
    SELECT TOP 2000 aggSub._avg AS Orion_ResponseTime_Availability_avg
    FROM Orion.Nodes n
    LEFT JOIN ( select i.nodeid, avg(i.availability) as _Avg from orion.ResponseTime i
    WHERE (i.DateTime > ADDDATE('day', -30, GETUTCDATE()))
    group by i.NodeID ) aggsub ON aggsub.nodeid=n.NodeID )

  • Thanks for sharing this, the only question I have is how do I get the average to not exceed 3 decimal places? I got this set up and ended up getting 14 decimal places. I like it, but its a bit long. Thanks

  • I forgot where in thwack I found this for a different example. You can use the below round function to limit the decimal places.

    ROUND(AVG(orion_responseTime_availability_avg),3) AS Net_Avail 


Reply Children
No Data