Overview
The Technology tables enable the analysis and correlation of network state information and parameters on the fly. Most of the tables display live snapshot data generated by graph algorithms without a pre-existing cache. The first load of a large table usually takes longer than subsequent loads; however, all tables were built to handle large capacities and complex queries, so the outcome is likely to be better than analyzing the output in external applications like Excel.
Network or Site View
Tables display data for the whole network by default. To only display data for a specific site, select “site” from the drop-down menu on the top left.
Table Filtering
Simple or advanced filters can be applied to each table. By default, filtering is available above each column, and accepted filtering values can be strings, numbers, IP addresses, networks, Boolean values, or select box values.
RegEx Simple Column Filter Examples
=~(cis|ari)
– RegEx matches alsocisco
orarista
values (not exact match).=~^(cisco|arista)$
– RegEx matchescisco
orarista
values only (exact match).=cisco
– Matches onlycisco
values (exact match).cis
– Matchescis
orcisco
(prefix match).=~^(?!cisco)
– RegEx negative lookahead – matches all except values starting withcisco
.
Some columns containing IP addresses (such as Login IP
within Inventory →
Devices) can be filtered by entering the IP/prefix length in CIDR notation.
For example, 10.0.0.0/25
will find addresses between and including
10.0.0.128
and 10.0.0.255
.
Additional Operators for Routing Columns
Columns containing IPv4 prefixes (such as Route
within Technology →
Routing → Routes) have:
-
an additional operator “contains IP address” (API:
ip
, UI:IP:
)Example
IP:192.168.127.129
will match any prefix containing that IP address, such as192.168.127.0/24
or192.168.0.0/16
, but not192.168.128.0/24
.
- as well as a set of CIDR operators:
- is strict supernet (API:
gt
, UI:>
) - is supernet (API:
gte
, UI:>=
) - is strict subnet (API:
lt
, UI:<
) - is subnet (API:
lte
, UI:<=
) - overlaps (API:
sect
, UI:@
) - does not overlap (API:
nsect
, UI:!@
)
- is strict supernet (API:
Advanced Filters
Advanced filters can be used to construct arbitrarily complex expressions by combining nested filters and filter groups with any number of logical AND and OR operators between them. Advanced filters can be saved and recalled for each specific table. Filters are stored per table and are available to all users.
Table Exports
Table outputs can be exported into CSV format for further processing, and
the text can be opened by any spreadsheet processor. In some cases,
Microsoft Excel and Google Spreadsheets convert strings from the CSV
files into dates, but these can remain as exact values by renaming the
content to string
to force the spreadsheet to retain the original
content.
Note
It may take several seconds to prepare an export of large tables.
Tooltips
Each table contains built-in help in Table description
under the ...
menu
(in the top-right corner of the table):
Hover the mouse cursor over a column header for the column’s description:
Column Visibility
Tables can be especially large to facilitate easier information correlation; however, not all columns need to always be visible.
Select Display settings
under the ...
menu and choose which columns to show
or hide:
Column Size
Use the Auto size
toggle to either automatically size columns to fit their
current content (when enabled) or let columns remember user-defined widths
(when disabled):
Persistent Table View
To improve usability, each table remembers the settings and filtering for each user.
To reset a table to its original state, select Restore table settings
under
the ...
menu:
Regular Expression Syntax
A regular expression may consist of literal characters and the following characters and sequences:
.
– The dot matches any single character except line terminators. To include line terminators, use[\s\S]
instead to simulate.
with theDOTALL
flag.\d
– Matches a single digit, equivalent to[0-9]
.\s
– Matches a single whitespace character.\S
– Matches a single non-whitespace character.\b
– Matches a word boundary. This match is zero-length.\B
– Negation of\b
. The match is zero-length.[xyz]
– Set of characters. Matches any of the enclosed characters (herex
,y
, orz
).[^xyz]
– Negated set of characters. Matches any other character than the enclosed ones (i.e., anything butx
,y
, orz
in this case).[x-z]
– Range of characters. Matches any of the characters in the specified range (e.g.,[0-9A-F]
to match any character in0123456789ABCDEF
).[^x-z]
– Negated range of characters. Matches any other character than the ones specified in the range.(xyz)
– Defines and matches a pattern group. Also defines a capturing group.(?:xyz)
– Defines and matches a pattern group without capturing the match.(xy|z)
– Matches eitherxy
orz
.^
– Matches the beginning of the string (e.g.,^xyz
).$
– Matches the end of the string (e.g.,xyz$
).
To literally match one of the characters that have a special meaning in regular expressions (.
, *
, ?
, [
, ]
, (
, )
, {
, }
, ^
, $
, and \
), you may need to escape the character with a backslash, which typically requires escaping itself. The backslash of shorthand character classes like \d
, \s
, and \b
counts as literal backslash. However, the backslash of JSON escape sequences like \t
(tabulation), \r
(carriage return), and \n
(line feed) does not.
Literal Backlashes Require Different Amounts of Escaping Depending on the Context
\
in bind variables (Table view mode) in the web UI (automatically escaped to\\
unless the value is wrapped in double quotes and already escaped properly).\\
in bind variables (JSON view mode) and queries in the web UI.\\
in bind variables inarangosh
.\\\\
in queries inarangosh
.- Double the amount compared to
arangosh
in shells that use backslashes for escaping (\\\\
in bind variables and\\\\\\\\
in queries).
Characters and sequences may optionally be repeated using the following quantifiers:
x?
– Matches one or zero occurrences ofx
.x*
– Matches zero or more occurrences ofx
(greedy).x+
– Matches one or more occurrences ofx
(greedy).x*?
– Matches zero or more occurrences ofx
(non-greedy).x+?
– Matches one or more occurrences ofx
(non-greedy).x{y}
– Matches exactly y occurrences ofx
.x{y,z}
– Matches between y and z occurrences ofx
.x{y,}
– Matches at least y occurrences ofx
.
Note that xyz+
matches xyzzz
, but if you want to match xyzxyz
instead, you need to define a pattern group by wrapping the sub-expression in parentheses and place the quantifier right behind it, like (xyz)+
.
You can use 3rd-party services, like regex101, to fine-tune and troubleshoot your regular expressions.