User Guide Functional Overview Requirements Architecture System Installation NetEye Additional Components Installation Setup The neteye Command Director NetEye Self Monitoring Tornado Business Service Monitoring IT Operation Analytics - Telemetry Geo Maps NagVis Audit Log Shutdown Manager Reporting ntopng Visual Monitoring with Alyvix Elastic Stack IT Operations (Command Orchestrator) Asset Management Service Level Management Cyber Threat Intelligence - SATAYO NetEye.Cloud Solution Monitoring Business Service Monitoring Asset Management ELK - Log Analytics SOC System Administrator SOC Attacker Centric Cyber Threat Intelligence - SATAYO NetEye Update & Upgrade Backup and Restore How To NetEye Extension Packs Troubleshooting Security Policy Glossary
module icon Visual Monitoring with Alyvix
Overview User Roles Install Alyvix Core Install Alyvix Service Nodes RDP Client Tutorial Overview Example: Windows Start Button Example: Open Windows Settings Example: Web Browser Test Case Example: Authentication Test Case Alyvix Tutorial Video Index Building Tools Editor: Interface Overview Editor: Script Building Editor: Managing Scripts Designer: Interface Overview Designer: Interface Options Designer: Component Tree Selector: Interface Overview Test Case Execution Test Case Format Test Case Management Dashboard Use Cases
ntopng Visual Monitoring with Alyvix Elastic Stack IT Operations (Command Orchestrator) Asset Management Service Level Management Cyber Threat Intelligence - SATAYO Introduction to NetEye Monitoring Business Service Monitoring IT Operation Analytics Visualization Network Visibility Log Management & Security Orchestrated Datacenter Shutdown Application Performance Monitoring User Experience Service Management Service Level Management & Reporting Requirements for a Node Cluster Requirements and Best Practices Kubernetes Networking NetEye Satellite Requirements TCP and UDP Ports Requirements Additional Software Installation Introduction Single Node Cluster Kubernetes NetEye Master Master-Satellite Architecture Underlying Operating System Acquiring NetEye ISO Image Installing ISO Image Single Nodes and Satellites Cluster Nodes Configuration of Tenants Satellite Nodes Only Nodes behind a Proxy Additional NetEye Components Satellites Nodes only Verify if a module is running correctly Accessing the New Module Cluster Satellite Security Backup and Restore Identity and Access Management External Identity Providers Configure federated LDAP/AD Emergency Reset of Keycloak Configuration Keycloak Hostname Configuration Advanced Configuration Roles Single Page Application in NetEye Module Permissions and Single Sign On Within NetEye Importing User Federation Groups inside another Group Importing OIDC IdP Groups inside another Group Resource Tuning Advanced Topics Basic Concepts & Usage Advanced Topics Monitoring Environment Templates Monitored Objects Import Monitored Objects Data Fields Deployment Icinga 2 Agents Configuration Baskets Dashboard Monitoring Status Integration with Elasticsearch VMD Permissions Notifications Jobs API Configuring Icinga Monitoring Retention Policy NetEye Self Monitoring Concepts Collecting Events Add a Filter Node WHERE Conditions Iterating over Event fields Retrieving Payload of an Event Extract Variables Create a Rule Tornado Actions Test your Configuration Export and Import Configuration Example Under the hood Development Retry Strategy Configuration Thread Pool Configuration API Reference Configure a new Business Process Create your first Business Process Node Importing Processes Operators The ITOA Module Configuring User Permissions Telegraf Metrics in NetEye Telegraf Configuration Telegraf on Monitored Hosts Visualizing Dashboards Customizing Grafana The NetEye Geo Map Visualizer Map Viewer Configuring Geo Maps NagVis Audit Log Overview Shutdown Manager user Shutdown Manager GUI Shutdown Commands Advanced Topics Overview User Role Management Cube Use Cases ntopng and NetEye Integration Permissions Retention Advanced Topics Overview User Roles Install Alyvix Core Install Alyvix Service Nodes RDP Client Tutorial Overview Example: Windows Start Button Example: Open Windows Settings Example: Web Browser Test Case Example: Authentication Test Case Alyvix Tutorial Video Index Building Tools Editor: Interface Overview Editor: Script Building Editor: Managing Scripts Designer: Interface Overview Designer: Interface Options Designer: Component Tree Selector: Interface Overview Test Case Execution Test Case Format Test Case Management Dashboard Use Cases Overview Architecture Authorization Kibana Elasticsearch Cluster Elasticsearch Configuration Replicas on a Single Node Elasticsearch Performance tuning Overview Enabling El Proxy Sending custom logs to El Proxy Configuration files Commands Elasticsearch Templates and Retentions El Proxy DLQ Blockchain Verification Handling Blockchain Corruptions El Proxy Metrics El Proxy Security El Proxy REST Endpoints Agents Logstash Rsyslog Elastic APM Elastic RUM Multitenant OpenTelemetry Collector Elastic XDR Overview Authorization in the Command Orchestrator Module Configuring CLI Commands Executing Commands Overview Permissions Installation Plugins Single Tenancy Multitenancy Communication through a Satellite Asset collection methods Display asset information in monitoring host page Overview Customers Availability Event Adjustment Outages Resource Advanced Topics Introduction The Intelligence We Produce Mitre Attack Coverage Getting Started Settings SATAYO Items Intelligence Requirements Managed Service Request Form FAQ Changelog SATAYO Community NetEye.Cloud as a SaaS solution NetEye.Cloud Subscription Base Concepts Authentication Options Authentication via IdP Group Claims for Authorization Management Authentication via Microsoft Entra ID Roles and Permissions Authorization Navigating the UI Monitoring with NetEye.Cloud Monitored Objects Finding and Filtering Hosts Exporting Monitoring Data Viewing Host and Service Details Organizing with Groups Tactical Overview Problems View Dashboard Typical Daily Interactions Scheduled Downtime Notifications and Alerts AutoDiscovery VMD Business Service Monitoring Business Process Logic Business Process View Asset Management in NetEye.Cloud Automatic Inventory Collection Software & License Management Contract & Supplier Management Change & Lifecycle Management Getting Started with ELK Analytics SOC System Administrator (AdS) Access to NetEye and Elastic Elastic Dashboards Elastic Discover Elastic Alerts Elastic Rules Introduction to SOC Attacker Centric Service Description NetEye SIEM About SATAYO Getting Started Threat Intelligence and Security Operations How SATAYO works MITRE ATT&CK Coverage Dashboard SATAYO Findings SATAYO REST API SaaS & Managed Mode SATAYO MCP Server Before you start Update Procedure Single Node Upgrade from 4.50 to 4.51 Cluster Upgrade from 4.50 to 4.51 Satellite Upgrade from 4.50 to 4.51 DPO machine Upgrade from 4.50 to 4.51 Create a mirror of the RPM repository Sprint Releases Feature Troubleshooting Backup and Restore Tornado Networking Service Management - Incident Response IT Operation Analytics - Telemetry Identity Provider (IdP) Configuration NetEye Cluster on Microsoft Azure NetEye Cluster on AWS Introduction to NEP Getting Started with NEPs Online Resources Obtaining NEP Insights Available Packages Advanced Topics NEP Updates & Upgrades Setup Configure swappiness Restarting Stopped Services Enable stack traces in web UI How to access standard logs Director does not deploy when services assigned to a host have the same name How to enable/disable debug logging Activate Debug Logging for Tornado Modules/Services do not start Sync Rule fails when trying to recreate Icinga object How to disable InfluxDB query logging Managing an Elasticsearch Cluster with a Full Disk Some logs are not indexed in Elasticsearch Elasticsearch is not functioning properly Reporting: Error when opening a report Debugging Logstash file input filter Bugfix Policy Reporting Vulnerabilities Cyber Resilience Act Compliance Glossary

Example: Authentication Test Case

Often when monitoring applications and services via SaaS, whether in-house or in the cloud, you’ll need to log in to prove you’re allowed to use that particular service. And of course, logging in means that you’ll need private credentials like a user name and password.

When building a test case in Alyvix, where do you store those credentials, and how are you going to retrieve them when you need them, while keeping them secure?

Alyvix stores its test cases in an open file format, with the full specification published in this guide. So if someone manages to obtain your test case files, they could then look at anything in them, including those credentials. Alyvix provides a method to encrypt credentials so that they can be stored and decrypted securely, when needed.

Let’s start by creating a simple test case that logs in to www.dropbox.com with our credentials and then logs out again, using the best practices described in this previous tutorial.

Prepare using Alyvix Cipher

Before starting the test case build, let’s encrypt our credentials so they’re ready to use. We’ll make up a private key (remember to keep it securely locked away, and not on the same computer that the test case runs on), and use it as one of the arguments to the alyvix_cipher command command. We’ll just have to do this once for each credential, regardless of how many test cases it’s used in.

C:\Alyvix\testcases> alyvix_cipher -e <text_string_to_encrypt> -k <private_key>

Suppose we create the private key i_like_alyvix to encrypt the two credentials my_user_name and my_password. Then we would run the cipher command twice as follows, producing two ciphers that we’ll copy later into the credential fields:

C:\Alyvix\testcases> alyvix_cipher -e my_user_name -k i_like_alyvix
+HGl7XV2mdTFvWLpr9CtVQ==
C:\Alyvix\testcases> alyvix_cipher -e my_password -k i_like_alyvix
bS1boKctW64yZ1dG1iz2ZA==

The cipher command is deterministic, so if you give it the same credential and same private key, it will produce the same cipher. When it’s time to build the relevant test case step, just use the cipher returned by the command above as if that value were the real credential, and Alyvix will decrypt it automatically when the test case runs, inserting the original value.

Note that the == at the end of the cipher is what tells Alyvix that it is a cipher.

Initial Build Steps

Now that our ciphers are ready, let’s start building our test case:

1. From a blank desktop

Repeat steps #1-4 in the previous tutorial to launch the web browser, but using www.dropbox.com instead of www.visittrentino.it as the web app address. Once the page loads you should see this at the top:

The top of the initial web page for www.dropbox.com

2. The login button

Now let’s add a new step that clicks on the login button once the web page has loaded. Highlight an anchor (an image near the top left of the page like the Dropbox logo that you know will always be in the same location) and the Login button, then add a Click action to the Login button:

Highlighting the anchor and Login button in the web page

The click action added to the Login button

3. The login page

When that step runs, it will take us to the login page where we can enter our user name:

The account field highlighted in a test case step

Then we show Alyvix how to click on the account field, type the user name cipher we created above into the String field, and click on the Continue button.

The click actions and user name insertion added in Alyvix Designer

4. Entering the password

When that runs, a second page appears where we can enter the password, and we do the same thing with the password cipher in its String field:

The password field highlighted in a test case step

The click actions and password insertion added in Alyvix Designer

5. Measure and log out

You can now run whatever task you like within the web app (here, Dropbox) and measure the results as we did in the previous example test case. For instance, you can measure how much time it takes for the landing page to appear, effectively measuring how long the login process took.

When the task you’re monitoring is done, you’ll need to log out so that the next time you run the test case, it will show the login page rather than launch the main app at the landing page without ever asking for a login.

The typical logout procedure at this point is to click to open the Account menu, and then a second click to actually log out. That’s two whole steps. But we can actually do this in one step if we note that all that the logout button does is call the URL https://www.dropbox.com/logout:

The shortcut for logging out in multi-level windowing

So instead, let’s just add a step to insert that URL directly into your browser’s URL bar. This step should locate the bar, click on it, and then have Alyvix type in the string https://www.dropbox.com/logout{enter} into the bar. The {enter} part tells Alyvix to press the Enter key after it has typed in that string, which will cause the browser to load that URL (curly braces indicate a special key to Alyvix).

That logs you out, so finally you can kill the browser as described in Step #6 in the previous tutorial and everything will be left in the same state that we started with, allowing you to repeatedly run the test case for monitoring scenarios.

You can now follow the procedure above to create and insert ciphers no matter how many encrypted strings you need, and you won’t have to worry that someone will steal your stored credentials.