-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8787b49
Showing
214 changed files
with
29,749 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: a52eb9f63932497422841caa6f1f3f43 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+5.47 KB
.doctrees/examples/interface_states/count_if_nz_out_or_in_trfk.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+6.15 KB
.doctrees/examples/interface_states/intf_counter_rate_sum_per_dev.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
aql.arista.com |
63 changes: 63 additions & 0 deletions
63
_downloads/0748437a28de8fd92c5568ce35a5c8e0/macs_per_device.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
{ | ||
"dashboards": [ | ||
{ | ||
"key": "fdb63033-da24-49ed-b7d0-64e0c5aba7ab", | ||
"createdAt": [ | ||
62457345, | ||
1561 | ||
], | ||
"createdBy": "tamas", | ||
"metaData": { | ||
"schemaVersion": "3", | ||
"legacyKey": "", | ||
"legacyVersion": "", | ||
"fromPackage": "" | ||
}, | ||
"name": "MACs learnt per device per interface", | ||
"description": "", | ||
"widgets": [ | ||
{ | ||
"id": "341effe6-9b64-4d0f-9ddb-7b5f25d567ad", | ||
"name": "MACs", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 5, | ||
"height": 15 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let data = merge(`<_device>:/Smash/bridging/status/smashFdbStatus`)\nlet numberMAC = newDict()\n\n\nfor deviceKey, deviceValue in data {\n if dictHasKey(numberMAC, data[deviceKey][\"intf\"]) {\n numberMAC[data[deviceKey][\"intf\"]][\"MACs\"] = numberMAC[data[deviceKey][\"intf\"]][\"MACs\"] + 1\n } else {\n numberMAC[data[deviceKey][\"intf\"]] = newDict()\n numberMAC[data[deviceKey][\"intf\"]][\"MACs\"] = 1\n }\n}\n\n\nnumberMAC\n", | ||
"visualization": "table" | ||
}, | ||
"location": "main" | ||
}, | ||
{ | ||
"id": "cb4822fb-3e3e-4a41-85ef-3ab4c5395f83", | ||
"name": "", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 4, | ||
"height": 2 | ||
}, | ||
"type": "input-widget", | ||
"inputs": { | ||
"defaultValue": "SSJ17371234", | ||
"inputName": "device", | ||
"inputSource": "devices", | ||
"inputWidgetId": "cb4822fb-3e3e-4a41-85ef-3ab4c5395f83", | ||
"tagLabel": "device" | ||
}, | ||
"location": "inputs" | ||
} | ||
], | ||
"lastUpdated": 1676173561773, | ||
"lastUpdatedBy": "tamas" | ||
} | ||
] | ||
} |
42 changes: 42 additions & 0 deletions
42
_downloads/0be014aa4bf423779e49bb86ddd39c80/arp_entries.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
{ | ||
"dashboards": [ | ||
{ | ||
"key": "ab46a6ac-57e8-4321-ae2e-16468ede5902", | ||
"createdAt": [ | ||
60535775, | ||
1561 | ||
], | ||
"createdBy": "tamas", | ||
"metaData": { | ||
"schemaVersion": "3", | ||
"legacyKey": "", | ||
"legacyVersion": "", | ||
"fromPackage": "" | ||
}, | ||
"name": "Number of ARP entries across all devices", | ||
"description": "", | ||
"widgets": [ | ||
{ | ||
"id": "d52c1fda-efa1-481d-9404-8e1eb08d99d5", | ||
"name": "Number of ARP entries across all devices", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 5, | ||
"height": 7 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let data = `*:/Smash/arp/status/_counts` \nsum(data | map(merge(_value)) | where(dictHasKey(_value, \"arpEntry\")) | map(_value[\"arpEntry\"]))\n", | ||
"visualization": "singleValue" | ||
}, | ||
"location": "main" | ||
} | ||
], | ||
"lastUpdated": 1676171600753, | ||
"lastUpdatedBy": "tamas" | ||
} | ||
] | ||
} |
42 changes: 42 additions & 0 deletions
42
_downloads/0d01cfc20c7c8f9a4a0692994c297513/mac_entries.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
{ | ||
"dashboards": [ | ||
{ | ||
"key": "7ee0a4c8-8e58-4763-95b4-464332fabb82", | ||
"createdAt": [ | ||
62254169, | ||
1561 | ||
], | ||
"createdBy": "tamas", | ||
"metaData": { | ||
"schemaVersion": "3", | ||
"legacyKey": "", | ||
"legacyVersion": "", | ||
"fromPackage": "" | ||
}, | ||
"name": "Number of MAC entriess across all devices", | ||
"description": "", | ||
"widgets": [ | ||
{ | ||
"id": "e44b876d-1469-4fb7-828e-78cfb3bb294b", | ||
"name": "MACs", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 5, | ||
"height": 8 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let data = `*:/Smash/bridging/status/_counts`\nsum(data | map(merge(_value)) | where(dictHasKey(_value, \"smashFdbStatus\")) | map(_value[\"smashFdbStatus\"]))\n", | ||
"visualization": "singleValue" | ||
}, | ||
"location": "main" | ||
} | ||
], | ||
"lastUpdated": 1676173282858, | ||
"lastUpdatedBy": "tamas" | ||
} | ||
] | ||
} |
182 changes: 182 additions & 0 deletions
182
_downloads/1543346349d3b8d124783df50765260a/bgp_states.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
{ | ||
"dashboards": [ | ||
{ | ||
"key": "969b5f6d-4765-4a75-999f-8e2cce796c65", | ||
"createdAt": [ | ||
1031714660, | ||
1574 | ||
], | ||
"createdBy": "tamas", | ||
"metaData": { | ||
"schemaVersion": "3", | ||
"legacyKey": "", | ||
"legacyVersion": "", | ||
"fromPackage": "" | ||
}, | ||
"name": "BGP States", | ||
"description": "", | ||
"widgets": [ | ||
{ | ||
"id": "0a782e66-197b-4453-9d09-e056fb361a4a", | ||
"name": "BGP Session Details in the Default VRF for all Devices", | ||
"position": { | ||
"x": 5, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 12, | ||
"height": 11 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let devices = merge(`analytics:/tags/labels/devices/pod_name/value/<_POD_NAME>/elements`)\n\nif str(_POD_NAME) == \"\" {\n let bgpNeighbors =`analytics:/Devices/*/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*`\n} else {\n let bgpNeighbors =`analytics:/Devices/*/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*` | where(dictHasKey(devices, complexKey(\"{\\\"deviceID\\\": \\\"\"+_key+\"\\\"}\")))\n}\n\n# This is the table\nlet res = newDict()\nlet id = 0\n# Lets loop over every device\nfor device, deviceSessions in bgpNeighbors{\n # And each session on the devices\n for ip, sessionData in deviceSessions{\n let data = merge(sessionData)\n # Add one to the ID\n let id = id + 1\n res[id] = newDict()\n # This is where we add the various columns\n res[id][\"0. Device\"] = device\n res[id][\"1. Status\"] = data[\"bgpState\"][\"Name\"]\n res[id][\"2. Peering Address\"] = data[\"bgpPeerLocalAddr\"]\n res[id][\"3. Neighbor Address\"] = data[\"key\"]\n res[id][\"4. Neighbor AS\"] = data[\"bgpPeerAs\"][\"value\"]\n }\n}\nres\n", | ||
"graphConfig": { | ||
"columns": { | ||
"0. Device": { | ||
"mapToHostname": true | ||
}, | ||
"1. Status": { | ||
"colorMappings": [ | ||
{ | ||
"type": "value", | ||
"options": { | ||
"Established": { | ||
"color": "green", | ||
"index": 0 | ||
}, | ||
"Active": { | ||
"color": "yellow", | ||
"index": 1 | ||
}, | ||
"Idle": { | ||
"color": "orange", | ||
"index": 2 | ||
}, | ||
"OpenSent": { | ||
"color": "purple", | ||
"index": 3 | ||
}, | ||
"Connect": { | ||
"color": "red9", | ||
"index": 4 | ||
} | ||
} | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"visualization": "table" | ||
}, | ||
"location": "main", | ||
"parent": "" | ||
}, | ||
{ | ||
"id": "a5c2e69b-5562-4fa6-9e9c-8f23169c14bf", | ||
"name": "BGP Session Status", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 5, | ||
"height": 11 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let neighbors = `analytics:/Devices/*/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*`\n\n# Dict to store the states and counts\nlet res = newDict()\n# Loop over each device\nfor device, deviceSessions in neighbors{\n # Loop over each session on each device\n for ip, sessionData in deviceSessions{\n let data = merge(sessionData)\n # Have we used this status yet?\n let status = data[\"bgpState\"][\"Name\"]\n if !dictHasKey(res, status) {\n # If not lets set it use count to zero\n res[status] = 0\n }\n # Add one to the total times this status is used\n res[status] = res[status] + 1\n }\n}\nres\n", | ||
"graphConfig": { | ||
"colorOverrides": { | ||
"Idle": "orange", | ||
"OpenSent": "purple", | ||
"Established": "green", | ||
"Active": "yellow", | ||
"Connect": "red9" | ||
}, | ||
"mapToHostname": true, | ||
"unit": "sessions" | ||
}, | ||
"visualization": "donutGraph" | ||
}, | ||
"location": "main", | ||
"parent": "" | ||
}, | ||
{ | ||
"id": "29ae71af-0dfb-41e8-948d-2dda5abd32e3", | ||
"name": "BGP Sessions that are Not Established", | ||
"position": { | ||
"x": 0, | ||
"y": 11 | ||
}, | ||
"dimensions": { | ||
"width": 17, | ||
"height": 8 | ||
}, | ||
"type": "aql-query-widget", | ||
"inputs": { | ||
"expression": "let devices = merge(`analytics:/tags/labels/devices/pod_name/value/<_POD_NAME>/elements`)\r\n\r\nif str(_POD_NAME) == \"\" {\r\n let bgpNeighbors =`analytics:/Devices/*/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*`\r\n} else {\r\n let bgpNeighbors =`analytics:/Devices/*/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*` | where(dictHasKey(devices, complexKey(\"{\\\"deviceID\\\": \\\"\"+_key+\"\\\"}\")))\r\n}\r\n\r\n# This is the table\r\nlet res = newDict()\r\nlet id = 0\r\n# Lets loop over every device\r\nfor device, deviceSessions in bgpNeighbors{\r\n # And each session on the devices\r\n for ip, sessionData in deviceSessions{\r\n let data = merge(sessionData)\r\n # Add one to the ID\r\n let id = id + 1\r\n res[id] = newDict()\r\n # This is where we add the various columns\r\n res[id][\"0. Device\"] = device\r\n res[id][\"1. Status\"] = data[\"bgpState\"][\"Name\"]\r\n res[id][\"2. Peering Address\"] = data[\"bgpPeerLocalAddr\"]\r\n res[id][\"3. Neighbor Address\"] = data[\"key\"]\r\n res[id][\"4. Neighbor AS\"] = data[\"bgpPeerAs\"][\"value\"]\r\n }\r\n}\r\n\r\nres | where(_value[\"1. Status\"] != \"Established\")\r\n", | ||
"graphConfig": { | ||
"columns": { | ||
"0. Device": { | ||
"mapToHostname": true | ||
}, | ||
"1. Status": { | ||
"colorMappings": [ | ||
{ | ||
"type": "value", | ||
"options": { | ||
"Active": { | ||
"color": "yellow", | ||
"index": 0 | ||
}, | ||
"Connect": { | ||
"color": "red9", | ||
"index": 1 | ||
}, | ||
"Idle": { | ||
"color": "orange", | ||
"index": 2 | ||
}, | ||
"OpenSent": { | ||
"color": "purple", | ||
"index": 3 | ||
} | ||
} | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"visualization": "table" | ||
}, | ||
"location": "main", | ||
"parent": "" | ||
}, | ||
{ | ||
"id": "b011dce3-f0ff-4bb1-b2bd-6ee24d256bcc", | ||
"name": "", | ||
"position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"dimensions": { | ||
"width": 4, | ||
"height": 2 | ||
}, | ||
"type": "input-widget", | ||
"inputs": { | ||
"defaultValue": "", | ||
"inputName": "POD_NAME", | ||
"inputSource": "devices", | ||
"inputWidgetId": "9d02c221-74ff-47dd-9b79-5ef575246c91", | ||
"tagLabel": "pod_name" | ||
}, | ||
"location": "inputs", | ||
"parent": "" | ||
} | ||
], | ||
"lastUpdated": 1691101487763, | ||
"lastUpdatedBy": "tamas" | ||
} | ||
] | ||
} |
Oops, something went wrong.