- The Devo data analytics platform
- Getting started
- Domain administration
-
Sending data to Devo
-
The Devo In-House Relay
- Installing the Devo Relay
- Configuring the In-House Relay
- Relay migration
- Sending SSL/TLS encrypted events to the Devo relay
- Relay troubleshooting tips (v1.4.2)
- Event sources
- Other data collection methods
- Uploading log files
- Devo software
-
The Devo In-House Relay
-
Searching data
- Accessing data tables
-
Building a query
- Data types in Devo
- Build a query in the search window
- Build a query using LINQ
- Working with JSON objects in data tables
- Subqueries
-
Operations reference
-
Aggregation operations
- Average (avg)
- Count (count)
- First (first)
- First not null (nnfirst)
- HyperLogLog++ (hllpp)
- HyperLogLog++ Count Estimation (hllppcount)
- Last (last)
- Last not null (nnlast)
- Maximum (max)
- Median / 2nd quartile / Percentile 50 (median)
- Minimum (min)
- Non-null average (nnavg)
- Non-null standard deviation (biased) (nnstddev)
- Non-null standard deviation (unbiased) (nnustddev)
- Non-null variance (biased) (nnvar)
- Non-null variance (unbiased) (nnuvar)
- Percentile 10 (percentile10)
- Percentile 25 / 1st quartile (percentile25)
- Percentile 5 (percentile5)
- Percentile 75 / 3rd quartile (percentile75)
- Percentile 90 (percentile90)
- Percentile 95 (percentile95)
- Standard deviation (biased) (stddev)
- Standard deviation (unbiased) (ustddev)
- Sum (sum)
- Sum Square (sum2)
- Variance (biased) (var)
- Variance (unbiased) (uvar)
-
Arithmetic group
- Absolute value (abs)
- Addition, sum, plus / Concatenation (add, +)
- Ceiling (ceil)
- Cube root (cbrt)
- Division (div, \)
- Division remainder (rem, %)
- Floor (floor)
- Modulo (mod, %%)
- Multiplication, product (mul, *)
- Power (pow)
- Real division (rdiv, /)
- Rounding (round)
- Sign (signum)
- Square root (sqrt)
- Subtraction, minus / Additive inverse (sub, -)
-
Conversion group
- Duration (duration)
- Format date (formatdate)
- From base16, b16, hex (from16)
- From base64, b64 (from64)
- From UTF8 (fromutf8)
- From Z85, base85 (fromz85)
- Human size (humanSize)
- Make byte array (mkboxar)
- Parse date (parsedate)
- Regular expression, regexp (re)
- Template (template)
- Timestamp (timestamp)
- To base16, b16, hex (to16)
- To base64, b64, hex (to64)
- To BigInt (bigint)
- To boolean (bool)
- To Float (float)
- To image (image)
- To Int (int)
- To IPv4 (ip4)
- To IPv4 net (net4)
- To IPv6 (ip6)
- To IPv6 compatible (compatible)
- To IPv6 mapped (mapped)
- To IPv6 net (net6)
- To IPv6 translated (translated)
- To MAC address (mac)
- To string (str)
- To string (stringify)
- To UTF8 (toutf8)
- To Z85, base85 (toz85)
- Cryptography group
- Date group
- Flow group
- General group
-
Geolocation group
- Coordinates distance (distance)
- Geocoord (geocoord)
- Geographic coordinate system (coordsystem)
- Geohash (geohash)
- Geohash string (geohashstr)
- Geolocated Accuracy Radius with MaxMind GeoIP2 (mm2accuracyradius)
- Geolocated ASN (mmasn)
- Geolocated ASN with MaxMind GeoIP2 (mm2asn)
- Geolocated AS Organization Name with MaxMind GeoIP2 (mm2asorg)
- Geolocated AS owner (mmasowner)
- Geolocated City (mmcity)
- Geolocated City with MaxMind GeoIP2 (mm2city)
- Geolocated Connection Speed (mmspeed)
- Geolocated connection type with MaxMind GeoIP2 (mm2con)
- Geolocated Coordinates (mmcoordinates)
- Geolocated coordinates with MaxMind GeoIP2 (mm2coordinates)
- Geolocated Country (mmcountry)
- Geolocated Country with MaxMind GeoIP2 (mm2country)
- Geolocated ISP (mmisp)
- Geolocated ISP name with MaxMind GeoIP2 (mm2isp)
- Geolocated Latitude (mmlatitude)
- Geolocated Latitude with MaxMind GeoIP2 (mm2latitude)
- Geolocated Level 1 Subdivision with MaxMind GeoIP2 (mm2subdivision1)
- Geolocated Level 2 Subdivision with MaxMind GeoIP2 (mm2subdivision2)
- Geolocated Longitude (mmlongitude)
- Geolocated Longitude with MaxMind GeoIP2 (mm2longitude)
- Geolocated Organization (mmorg)
- Geolocated organization name with MaxMind GeoIP2 (mm2org)
- Geolocated Postal Code (mmpostalcode)
- Geolocated Postal Code with MaxMind GeoIP2 (mm2postalcode)
- Geolocated Region (mmregion)
- Geolocated Region Name (mmregionname)
- ISO-3166-1 Continent Alpha-2 Code (continentalpha2)
- ISO-3166-1 Continent Name (continentname)
- ISO-3166-1 Country Alpha-2 Code (countryalpha2)
- ISO-3166-1 Country Alpha-2 Continent (countrycontinent)
- ISO-3166-1 Country Alpha-3 Code (countryalpha3)
- ISO-3166-1 Country Latitude (countrylatitude)
- ISO-3166-1 Country Longitude (countrylongitude)
- ISO-3166-1 Country Name (countryname)
- Latitude (latitude)
- Latitude and longitude coordinates (latlon)
- Longitude (longitude)
- Parse geocoord format (parsegeo)
- Represent geocoord format (reprgeo)
- Round coordinates (gridlatlon)
- JSON group
- Logic group
-
Mathematical group
- Arc cosine (acos)
- Arc sine (asin)
- Arc tangent (atan)
- Bitwise AND (band, &)
- Bitwise left shift (lshift, <<)
- Bitwise NOT (bnot, ~)
- Bitwise OR (bor, |)
- Bitwise right shift (rshift, >>)
- Bitwise unsigned right shift (urshift, >>>)
- Bitwise XOR (bxor, ^)
- Cosine (cos)
- e (mathematical constant) (e)
- Exponential: base e (exp)
- Hyperbolic cosine (cosh)
- Hyperbolic sine (sinh)
- Hyperbolic tangent (tanh)
- Logarithm: base 2 (log2)
- Logarithm: base 10 (log10)
- Logarithm: natural / arbitrary base (log)
- Pi (mathematical constant) (pi)
- Sine (sin)
- Tangent (tan)
- Meta Analysis group
- Name group
-
Network group
- HTTP Status Description (httpstatusdescription)
- HTTP Status Type (httpstatustype)
- IP Protocol (ipprotocol)
- IP Reputation Score (reputationscore)
- IP Reputation Tags (reputation)
- IPv4 legal use (purpose)
- IPv6 host number (host)
- IPv6 routing number (routing)
- Is IPv4 (ipip4)
- Is Private IPv4 (isprivate)
- Is Public IPv4 (ispublic)
- Squid Black Lists Flags (sbl)
- Order group
-
Packet group
- Ethernet destination MAC address (etherdst)
- Ethernet payload (etherpayload)
- Ethernet source MAC address (ethersrc)
- Ethernet status (etherstatus)
- Ethernet tag (ethertag)
- EtherType (ethertype)
- Has Ethernet frame (hasether)
- Has IPv4 datagram (hasip4)
- Has TCP segment (hastcp)
- Has UDP datagram (hasudp)
- IPv4 destination address (ip4dst)
- IPv4 differentiated services (ip4ds)
- IPv4 explicit congestion notification (ip4ecn)
- IPv4 flags (ip4flags)
- IPv4 fragment offset (ip4fragment)
- IPv4 header checksum (ip4cs)
- IPv4 header length (ip4hl)
- IPv4 identification (ip4ident)
- IPv4 payload (ip4payload)
- IPv4 protocol (ip4proto)
- IPv4 source address (ip4src)
- IPv4 status (ip4status)
- IPv4 time to live (ip4ttl)
- IPv4 total length (ip4len)
- IPv4 type of service (ip4tos)
- TCP ACK (tcpack)
- TCP checksum (tcpcs)
- TCP destination port (tcpdst)
- TCP flags (tcpflags)
- TCP header length (tcphl)
- TCP payload (tcppayload)
- TCP sequence number (tcpseq)
- TCP source port (tcpsrc)
- TCP status (tcpstatus)
- TCP urgent pointer (tcpurg)
- TCP window size (tcpwin)
- UDP checksum (udpcs)
- UDP destination port (udpdst)
- UDP length (udplen)
- UDP payload (udppayload)
- UDP source port (udpsrc)
- UDP status (udpstatus)
- Statistical group
-
String group
- Contains (has, ->)
- Contains - case insensitive (weakhas)
- Contains tokens (toktains)
- Contains tokens - case insensitive (weaktoktains)
- Edit distance: Damerau (damerau)
- Edit distance: Hamming (hamming)
- Edit distance: Levenshtein (levenshtein)
- Edit distance: OSA (osa)
- Ends with (endswith)
- Format number (formatnumber)
- Hostname public suffix (publicsuffix)
- Hostname root domain (rootdomain)
- Hostname root prefix (rootprefix)
- Hostname root suffix (rootsuffix)
- Hostname subdomains (subdomain)
- Hostname top level domain (topleveldomain)
- Is empty (isempty)
- Is in (`in`, <-)
- Is in - case insensitive (weakin)
- Length (length)
- Locate (locate)
- Lower case (lower)
- Matches (matches, ~)
- Peek (peek)
- Replace all (replaceall)
- Replace first (replace)
- Shannon entropy (shannonentropy)
- Split (split)
- Split regexp (splitre)
- Starts with (startswith)
- Substitute (subs)
- Substitute all (subsall)
- Substring (substring)
- Trim both sides (trim)
- Trim the left side (ltrim)
- Trim the right side (rtrim)
- Upper case (upper)
-
Web group
- Absolute URI (absoluteuri)
- Opaque URI (opaqueuri)
- URI authority (uriauthority)
- URI fragment (urifragment)
- URI host (urihost)
- URI path (uripath)
- URI port (uriport)
- URI query (uriquery)
- URI scheme (urischeme)
- URI ssp (urissp)
- URI user (uriuser)
- URL decode (urldecode)
- User Agent Company (uacompany)
- User Agent Company URL (uacompanyurl)
- User Agent Device Icon (uadeviceicon)
- User Agent Device Information URL (uadeviceinfourl)
- User Agent Device Type (uadevicetype)
- User Agent Family (uafamily)
- User Agent Icon (uaicon)
- User Agent Information URL (uainfourl)
- User Agent is Robot (uaisrobot)
- User Agent Name (uaname)
- User Agent OS Company (uaoscompany)
- User Agent OS Company URL (uaoscompanyurl)
- User Agent OS Family (uaosfamily)
- User Agent OS Icon (uaosicon)
- User Agent OS Name (uaosname)
- User Agent OS URL (uaosurl)
- User Agent Type (uatype)
- User Agent URL (uaurl)
- User Agent Version (uaversion)
-
Aggregation operations
-
Working in the search window
-
Generate charts
- Affinity chord diagram
- Availability timeline
- Bipartite chord diagram
- Bubble chart
- Chart aggregation
- Custom date chart aggregation
- Flame graph
- Flat world map by coordinates
- Flat world map by country
- Google animated heat map
- Google area map
- Google heat map
- Graph diagram
- Histogram
- Pew Pew map
- Pie chart
- Pie layered chart
- Punch card
- Robust Random Cut Forest chart
- Sankey diagram
- Scatter plot
- Time heatmap
- Triple exponential chart
- Voronoi treemap
- Data enrichment
- Setting up a data table
- Advanced data operations
- Use case: eCommerce behavior analysis
-
Generate charts
- Managing your queries
- Best practices for data search
- Monitoring tables
-
Parsers and collectors
- About Devo tags
- Special Devo tags and data tables
-
List of Devo parsers
- Business & Consumer
- Cloud technologies
- Databases
- Host and Operating Systems
-
Network and application security
- auth.secureauth
- auth.securenvoy
- av.mcafee
- av.sophos
- box.iptables
- edr.cylance
- edr.fireeye.alerts
- edr.minervalabs.events
- endpoint.symantec
- firewall.checkpoint
- firewall.cisco firepower and vpn.cisco
- firewall.fortinet
- firewall.huawei
- firewall.juniper
- firewall.paloalto
- firewall.pfsense
- firewall.sonicwall
- firewall.sophos
- firewall.sophos.xgfirewall
- firewall.stonegate
- firewall.windows
- mail.proofpoint
- nac.aruba
- network.meraki
- network.versa
- proxy.bluecoat
- proxy.forcepoint
- proxy.squid
- uba.varonis
- vuln.beyondtrust
- vpn.pulsesecure.sa
- Network connectivity
- Web servers
- Technologies supported in CEF syslog format
- Collectors
- Activeboards
-
Dashboards
- Create a new dashboard
-
Working with dashboard widgets
- Availability timeline widget
- Chord diagram widget
- Circle world map widget
- Color key value widget
- Color world map widget
- Column chart widget
- Comparative chart widget
- Funnel widget
- Gauge meter widget
- Google heatmap widget
- Heat calendar widget
- Line chart widget
- Monitoring widget
- Pie chart widget
- Punch card widget
- Sectored pie chart widget
- Table widget
- Time heatmap widget
- Tree diagram widget
- Voronoi tree widget
- Configuring and sharing dashboards
- Alerts and notifications
- Panels
- Applications
- Tools
- Social Intelligence
- API reference
- Release notes
Service overview
Introduction
Purpose
The topology map provides a graph-like representation of the entities that exist in a given model (i.e., graph nodes), as well as their general status based upon their governing metrics.
Relationships in the model (i.e., graph edges) describe an impact / status dependency relationship between the entities.
Use cases highlights
This module provides the following set of use cases:
Single pane of glass for multi-type, multi-level entities defining a complex service
Automatic entities discovery and mapping
Flexible, adaptable set of models
Real-time status assessment the discovered entities
Service topology
The Service Topology module provides a visual, multi-layered view of all entities defined in a data model together with their status. That way, it is possible to summarize the status complex business services or applications, and pinpoint any problems or issues that might be affecting it.
Visually, the module is divided into the following sections:
Visual map: graph-like visualization that shows entities, their relationships based upon different criteria (impact, dependency, etc.) and their current status using a color code (green, orange, red).
Entities list and status: provides a detailed list of all entities shown in the map at a given time, with a summary of their status and a status trend indicator.
Incidents: While the status code provides an answer to "what is happening" based on the definition of the entities and their values, the incidents list tries to provide a guidance to the "why" question. In the service topology section it is possible to access the list of detected incidents and browse it via the button on the right hand side of the screen.
Entity details: detailed information of a selected entity in the map or from the full list of entities.
Visual map
Each entity is represented as a node in a multi-level, hierarchical graph, where its root summarizes the overall status of the monitored service, whereas the lower elements (leaf nodes) commonly represent the most fundamental building blocks the service is composed of.
Once a model has been selected and the topology module loaded, Service Operations will display the current hierarchical / impact model with all identified entities and metrics and their overall status using the green = normal, orange = warning, and red = critical status color code.
The following actions are available to be performed on the topology map visualization:
Mouse over: a small overlay box is displayed / hidden when hovering over an entity on the map. The information shown includes:
Overall status of the entity as color code.
Entity name.
Component value.
Description.
Current metric value.
Mouse click: clicking on an entity will focus on it and unroll the additional information panel on the right hand side of the screen. To hide the panel, click on a blank zone of the map or on the 'X' button in the upper right corner of the panel.
Overall status of the entity as color code.
Entity name.
Component value.
Graphical representation of the metric value.
General entity information: description, metadata values, associated metrics.
List of affecting entities: child nodes in the impact hierarchy that do have an impact on the status of the selected node. Click on any items in the list to navigate to the details of that particular entity.
List of impacted entities: parent nodes in the impact hierarchy that are affected by the status of the selected node. Click on any items in the list to navigate to the details of that particular entity.
Right mouse click: A contextual menu will be displayed, providing additional actions to be performed on the entity:
Zoom-in: Creates a visual representation of the subtree that starts with the selected entity as root. Click on the 'X' at the ‘Zoom-in’ bar (bottom part of the screen) to go back to the full tree representation. NOTE: it is possible to chain ‘zoom-in’ actions, which will result in more trimmed subtrees.
Send to monitor: The selected entity will be displayed in the Monitors section of Service Operations for a more detailed analysis and comparison with other entities. Please check the information related to the Monitors module for more details.
Send all to monitor: All currently displayed entities will be sent at once to a new monitor. If the total number of entities to send is too large, the operation will not be performed and a warning message will be displayed.
View query: The LinQ query that governs the behavior of the entity will be shown in a modal.
Run query: The LinQ query that governs the behavior of the entity will be executed in Devo’s search window. NOTE: It is possible to return to Service Operations by clicking on the 'X' button in the search window.
Create alert: A modal for the creation of an alert associated to the values of the entity will be displayed. The user can introduce the necessary fields for the alert to be created and, once done, it will be registered and treated as any other Devo alert in the platform.
Chart options
The graphical representation of the topology (graph chart) offers different visualization options, all of them available through the menus and controls available on the left menu.
The list of available options is as follows:
Zoom and positioning tool: Allows setting the zoom level applied to the overall map.
Click on the "+" and "-" buttons to increase or decrease respectively the zoom level applied to the visualization.
The same function can be accomplished through the mouse wheel.Click on the home button to reset to the default view.
Click on any blank area and drag the mouse while keeping pressed the left mouse button. That allows adjusting the displayed area on the screen with the current zoom level.
Auto-zoom mode: This tool enables an entity-by-entity zooming based on the level of criticalness specified using the three colored buttons in the tool bar. Click on the play button to start this mode and pause to stop it. Also, you can navigate to the previous or advance to the next entity by clicking on the arrow buttons.
Maximum topology depth selector: Select the number of represented levels in all trees using the level selector. The selector adjusts automatically from levels 1 (i.e., show only root nodes) to the max depth level detected in all represented trees (i.e., full representation of all trees).
Layout options: Displays / hides a menu with additional visualization options for the map.
Enable geolocation: When enabled, the entire layout of the map will change to a geographical mode. Entities will be drawn using their geolocation data. NOTE: This option will only be available when there are entities defined with geolocation information -i.e., their defined queries contain both "longitude" and "latitude" grouping keys in the last grouping section.
View mode: Allows the changing of the map visualization layout. Available options are Standard, Hierarchy, Lens, Organic, Sequential, Radial and Structural. NOTE: Depending on the map size (number of nodes), certain layouts can take longer to be rendered due to the calculations needed to position the nodes in the map.
Orientation: Certain layout options allow for an orientation configuration (e.g., Hierarchy). Use the selector to modify the representation from "Left to right", "Right to left", "Top to bottom" and "Bottom to top".
Filtering options: Allows filtering the set of nodes in the topology model by different criteria:
Filter by text: allows the application user to enter any free text description of the nodes. Those nodes matching the text as it is entered will be highlighted, while graying out the rest. Click on the enter button of your keyboard to apply the filter by the entered text.
Filter by tree, status, type, subtype, metadata field and value: allows for the entering of additional filtering criteria by these fields. Note the resulting map is a combination of the nodes that match all criteria.
Service status
The entities panel summarizes the status of all entities in the current model by listing them in the form of data boxes.
Overall status: Summarizes the status of the entire model, considering all defined entities and metrics, and consolidates it into a single indicator with a color code. The overall status indicator should be interpreted as the current status for the represented business service.
Individual status counters: Each of these text elements indicates the number of entities in the model presenting that status currently. Note that these counters are clickable elements and that they will act as filters in both the entities status panel as well as in the entities map, representing only the entities matching that criteria (i.e., status level).
Entities order: this dropdown allows you to select the way entities will be displayed in the panel, based on their level of criticality, within their respective levels. Higher criticality first shows those entities with a ‘critical’ status first, then the ones with a ‘warning’ status and finally the ‘normal’ ones.
Level show / hide: Click on the arrow in the level separator section to display or hide the entire level. This will make the entire list of entities within that level be displayed or hidden accordingly.
Entity details box: When not filtered out, every entity identified in the model will have its representation as an entity box in the panel. These provide information of the current status of the entity based on its value or scoring mechanism (query + thresholds) using the already mentioned color code.
Numeric value: current (i.e., the last one in the specified time range) value retrieved from the entity-defining query.
Unit: unit in which the numeric value is measured.
Variation percentage: numeric variation between the first and the last (i.e., current) value of the entity.
Calculation period: time period used between metric calculations (i.e., sample rate).
Trend graph: Graphical evolution of the entity value within the specified time range.
All metric boxes are actionable, providing more information of the entity they represent. The available actions are:
Left click on the mouse: Toggles the visualization of the entity details in the right panel.
Right click on the mouse: "View query", "Run query" and "Create alert", as described in the previous section for the visual map, are also available here.
Entity details panel
This information panel shows up any time an entity is selected (clicked on) in either the visual map or the entities list panel. Its goal is to provide a deeper level of detail on the selected entity, and allow for certain analysis options.
All information related to the entity is categorized as follows:
Description: Textual description of the monitored entity
Type / subtype: Metadata fields describing the category and subcategory of the entity (e.g., KPI / performance). The two fields are actionable, so clicking on each value will configure a filtering option using that value as filtering criteria. For example, if the type of the entity is KPI and that value is clicked on, Service Operations will recalculate the displayed map, offering only those defined as KPIs.
Chart type and options: Select different types of representation of the data related to the entity (time series, histogram, pie chart). Clicking on the options icon allows users to set additional configurations to the displayed chart, e.g., setting historic comparisons, enabling / disabling the display of value thresholds, etc.
Key performance indicators: List of children entities related to the node that are defined with type = KPI.
Affected by: List of children entities whose type is not KPI and that, based on the topology model defined, can potentially impact the status of the selected entity.
Impacts: List of father nodes in the tree whose the selected entity might impact their status.
Incidents list
Whenever one or more incidents are detected by Service Operations, the application will show an indicator on the upper right corner of the topology map illustrating the overall impact those incidents are having on the service. Similar to how the service status panel works, hovering on that indicator will expand that element and will provide an estimate of the total service impact.
The information provided in this list is identical to the one given in the corresponding section of the incidents viewer module. In this case, however, the list includes a summary status of the impact all incidents have on the service in terms of the number of entities defined in the impact assessment section of the entity creation process. For example, if a model specifies the number of end-users connected to a platform as the driving parameter, any detected incident will be qualified against that metric, generating an overall impact score based on the percentage of affected users vs. the total number of them. Should impact criteria not be defined, Service Operations will still continue detecting and reporting incidents but the level of severity will be stated as "unknown". This is the case of the example screenshot below, where elements, impacted elements and impact ratio have a "n/a" value because of the absence of an impact query.
When it comes to individual incidents, the information provided is as follows:
Description: Top level entity affected.
Incident detection timestamp: Date and time the first event included in the incident has been registered.
Entity status: Entity status level for the top level affected entity.
Top level entity affected definition: Identification of the top level entity affected (same value as in description).
Incident impact: Impact level of the incident in terms of overall level.