diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000000..e69de29bb2 diff --git a/00IntroductionAndOverview04.pdf b/00IntroductionAndOverview04.pdf new file mode 100644 index 0000000000..7d53094ad6 Binary files /dev/null and b/00IntroductionAndOverview04.pdf differ diff --git a/01CloudInsightsMonitoring04.pdf b/01CloudInsightsMonitoring04.pdf new file mode 100644 index 0000000000..73885869cc Binary files /dev/null and b/01CloudInsightsMonitoring04.pdf differ diff --git a/02CloudInsightsOptimization04.pdf b/02CloudInsightsOptimization04.pdf new file mode 100644 index 0000000000..90d629fc1a Binary files /dev/null and b/02CloudInsightsOptimization04.pdf differ diff --git a/03CloudInsightsTroubleshooting04.pdf b/03CloudInsightsTroubleshooting04.pdf new file mode 100644 index 0000000000..041f715b14 Binary files /dev/null and b/03CloudInsightsTroubleshooting04.pdf differ diff --git a/404.html b/404.html new file mode 100644 index 0000000000..b4251d37f1 --- /dev/null +++ b/404.html @@ -0,0 +1,65 @@ + + + + + + + +
+

+ Page Not Found +

+

404

+

+ + docs.netapp.com + + +

+

+ +

+
+ + \ No newline at end of file diff --git a/API_Overview.html b/API_Overview.html new file mode 100644 index 0000000000..d292c3b051 --- /dev/null +++ b/API_Overview.html @@ -0,0 +1,4705 @@ + + + + Cloud Insights API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Cloud Insights API

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Cloud Insights API enables NetApp customers and independent software vendors (ISVs) to integrate Cloud Insights with other applications, such as CMDB's or other ticketing systems.

+
+
+

Note that Cloud Insights APIs are available based on your current Edition:

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
API TypeBasicStandardPremium

Acquisition Unit

SmallCheckMark

SmallCheckMark

SmallCheckMark

Data Collection

SmallCheckMark

SmallCheckMark

SmallCheckMark

Alerts

SmallCheckMark

SmallCheckMark

Assets

SmallCheckMark

SmallCheckMark

Data Ingestion

SmallCheckMark

SmallCheckMark

Log Ingestion

SmallCheckMark

SmallCheckMark

+
+

Additionally, your Cloud Insights feature set role will determine which APIs you can access. User and Guest roles have fewer privileges than Administrator role. For example, if you have Administrator role in Monitor and Optimize, but User role in Reporting, you can manage all API types except Data Warehouse.

+
+
+
+
+

Requirements for API Access

+
+
+
    +
  • +

    An API Access Token model is used to grant access.

    +
  • +
  • +

    API Token management is performed by Cloud Insights users with the Administrator role.

    +
  • +
+
+
+
+
+

API Documentation (Swagger)

+
+
+

The latest API information is found by logging in to Cloud Insights and navigating to Admin > API Acccess. Click the API Documentation link.

+
+
+

API types

+
+
+

The API Documentation is Swagger-based, which provides a brief description and usage information for the API, and allows you to try it out in your environment. Depending on your user role and/or Cloud Insights edition, the API types available to you may vary.

+
+
+

API Swagger Example

+
+
+
+
+

API Access Tokens

+
+
+

Before using the Cloud Insights API, you must create one or more API Access Tokens. Access tokens are used for specified API types, and can grant read and/or write permissions. You can also set the expiration for each access token. All APIs under the specified types are valid for the access token. Each token is void of a username or password.

+
+
+

To create an Access Token:

+
+
+
    +
  • +

    Click Admin > API Access

    +
  • +
  • +

    Click +API Access Token

    +
    +
      +
    • +

      Enter Token Name

      +
    • +
    • +

      Select API Types

      +
    • +
    • +

      Specify the permissions granted for this API access

      +
    • +
    • +

      Specify Token Expiration

      +
    • +
    +
    +
  • +
+
+
+ + + + + +
+Note + +Your token will only be available for copying to the clipboard and saving during the creation process. Tokens can not be retrieved after they are created, so it is highly recommended to copy the token and save it in a secure location. You will be prompted to click the Copy API Access Token button before you can close the token creation screen. +
+
+
+

You can disable, enable, and revoke tokens. Tokens that are disabled can be enabled.

+
+
+

Tokens grant general purpose access to APIs from a customer perspective; managing access to APIs in the scope of their own tenant. Customer administrators may grant and revoke these tokens without direct involvement from Cloud Insights back end personnel.

+
+
+

The application receives an Access Token after a user successfully authenticates and authorizes access, then passes the Access Token as a credential when it calls the target API. The passed token informs the API that the bearer of the token has been authorized to access the API and perform specific actions specified by the scope that was granted during authorization.

+
+
+

The HTTP header where the Access Token is passed is X-CloudInsights-ApiKey:.

+
+
+

For example, use the following to retrieve storages assets:

+
+
+
+
curl https://<tenant_host_name>/rest/v1/assets/storages -H 'X-CloudInsights-ApiKey:<API_Access_Token>'
+
+
+
+

Where <API_Access_Token> is the token you saved during API access creation.

+
+
+

See the swagger pages for examples specific to the API you wish to use.

+
+
+
+
+

API Type

+
+
+

The Cloud Insights API is category-based, and currently contains the following types:

+
+
+
    +
  • +

    ASSETS type contains asset, query, and search APIs.

    +
    +
      +
    • +

      Assets: Enumerate top-level objects and retrieve a specific object or an object hierarchy.

      +
    • +
    • +

      Query: Retrieve and manage Cloud Insights queries.

      +
    • +
    • +

      Import: Import annotations or applications and assign them to objects

      +
    • +
    • +

      Search: Locate a specific object without knowing the object’s unique ID or full name.

      +
    • +
    +
    +
  • +
  • +

    DATA COLLECTION type is used to retrieve and manage data collectors.

    +
  • +
  • +

    DATA INGESTION type is used to retrieve and manage ingestion data and custom metrics, such as from Telegraf agents

    +
  • +
  • +

    LOG INGESTION is used to retrieve and manage log data

    +
  • +
+
+
+

Additional types and/or APIs may become available over time. You can find the latest API information in the API Swagger documentation.

+
+
+

Note that the API types to which a user has access depend also on the User Role they have in each Cloud Insights feature set (Monitoring, Workload Security, Reporting).

+
+
+
+
+

Inventory Traversal

+
+
+

This section describes how to traverse a hierarchy of Cloud Insights objects.

+
+
+

Top Level Objects

+
+

Individual objects are identified in requests by unique URL (called “self” in JSON) and require knowledge of object type and internal id. For some of the top level objects (Hosts, Storages, and so on), REST API provides access to the complete collection.

+
+
+

The general format of an API URL is:

+
+
+
+
https://<tenant>/rest/v1/<type>/<object>
+
+
+
+

For example, to retrieve all storages from a tenant named mysite.c01.cloudinsights.netapp.com, the request URL is:

+
+
+
+
https://mysite.c01.cloudinsights.netapp.com/rest/v1/assets/storages
+
+
+
+
+ +
+

Top level objects, such as Storage, can be used to traverse to other children and related objects. For example, to retrieve all disks for a specific storage, concatenate the storage “self” URL with “/disks”, for example:

+
+
+
+
https://<tenant>/rest/v1/assets/storages/4537/disks
+
+
+
+
+
+
+

Expands

+
+
+

Many API commands support the expand parameter, which provides additional details about the object or URLs for related objects.

+
+
+

The one common expand parameter is expands. The response contains a list of all available specific expands for the object.

+
+
+

For example, when you request the following:

+
+
+
+
https://<tenant>/rest/v1/assets/storages/2782?expand=_expands
+
+
+
+

The API returns all available expands for the object as follows:

+
+
+

expands example

+
+
+

Each expand contains data, a URL, or both. The expand parameter supports multiple and nested attributes, for example:

+
+
+
+
https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage
+
+
+
+

Expand allows you to bring in a lot of related data in one response. NetApp advises that you do not request too much information at one time; this can cause performance degradation.

+
+
+

To discourage this, requests for top-level collections cannot be expanded. For example, you cannot request expand data for all storage objects at once. Clients are required to retrieve the list of objects and then choose specific objects to expand.

+
+
+
+
+

Performance Data

+
+
+

Performance data is gathered across many devices as separate samples. Every hour (the default), Cloud Insights aggregates and summarizes performance samples.

+
+
+

The API allows access to both the samples and the summarized data. For an object with performance data, a performance summary is available as expand=performance. Performance history time series are available through nested expand=performance.history.

+
+
+

Examples of Performance Data objects include:

+
+
+
    +
  • +

    StoragePerformance

    +
  • +
  • +

    StoragePoolPerformance

    +
  • +
  • +

    PortPerformance

    +
  • +
  • +

    DiskPerformance

    +
  • +
+
+
+

A Performance Metric has a description and type and contains a collection of performance summaries. For example, Latency, Traffic, and Rate.

+
+
+

A Performance Summary has a description, unit, sample start time, sample end time, and a collection of summarized values (current, min, max, avg, etc.) calculated from a single performance counter over a time range (1 hour, 24 hours, 3 days, and so on).

+
+
+

API Performance Example

+
+
+

The resulting Performance Data dictionary has the following keys:

+
+
+
    +
  • +

    "self" is the object's unique URL

    +
  • +
  • +

    “history” is the list of pairs of timestamp and map of counters values

    +
  • +
  • +

    Every other dictionary key (“diskThroughput” and so on) is the name of a performance metric.

    +
  • +
+
+
+

Each performance data object type has a unique set of performance metrics. For example, the Virtual Machine performance object supports “diskThroughput” as a performance metric. Each supported performance metric is of a certain “performanceCategory” presented in the metric dictionary. Cloud Insights supports several performance metric type listed later in this document. Each performance metric dictionary will also have the “description” field that is a human-readable description of this performance metric and a set of performance summary counter entries.

+
+
+

The Performance Summary counter is the summarization of performance counters. It presents typical aggregated values like min, max, and avg for a counter and also the latest observed value, time range for summarized data, unit type for counter and thresholds for data. Only thresholds are optional; the rest of attributes are mandatory.

+
+
+

Performance summaries are available for these types of counters:

+
+
+
    +
  • +

    Read – Summary for read operations

    +
  • +
  • +

    Write – Summary for write operations

    +
  • +
  • +

    Total – Summary for all operations. It may be higher than the simple sum of read and write; it may include other operations.

    +
  • +
  • +

    Total Max – Summary for all operations. This is the maximum total value in the specified time range.

    +
  • +
+
+
+
+
+

Object Performance Metrics

+
+
+

The API can return detailed metrics for objects in your environment, for example:

+
+
+
    +
  • +

    Storage Performance Metrics such as IOPS (Number of input/output requests per second), Latency, or Throughput.

    +
  • +
+
+
+
    +
  • +

    Switch Performance Metrics, such as Traffic Utilization, BB Credit Zero data, or Port Errors.

    +
  • +
+
+
+

See the API Swagger documentation for information on metrics for each object type.

+
+
+
+
+

Performance History Data

+
+
+

History data is presented in performance data as a list of timestamp and counter maps pairs.

+
+
+

History counters are named based on the performance metric object name. For example, the virtual machine performance object supports “diskThroughput” so the history map will contain keys named “diskThroughput.read”, “diskThroughput.write” and “diskThroughput.total”.

+
+
+ + + + + +
+Note + +Timestamp is in UNIX time format. +
+
+
+

The following is an example of a performance data JSON for a disk:

+
+
+

Disk Performance JSON

+
+
+
+
+

Objects with Capacity Attributes

+
+
+

Objects with capacity attributes use basic data types and the CapacityItem for representation.

+
+
+

CapacityItem

+
+

CapacityItem is a single logical unit of capacity. It has “value” and “highThreshold” in units defined by its parent object. It also supports an optional breakdown map that explains how the capacity value is constructed. For example, the total capacity of a 100 TB storagePool would be a CapacityItem with a value of 100. The breakdown may show 60 TB allocated for “data” and 40 TB for “snapshots”.

+
+
+
+
Note
+
+

“highThreshold” represents system defined thresholds for the corresponding metrics, which a client can use to generate alerts or visual cues on values that are out of acceptable configured ranges.

+
+
+
+
+

The following shows the capacity for StoragePools with multiple capacity counters:

+
+
+

Storage Pool Capacity Example

+
+
+
+
+
+

Using Search to Look Up Objects

+
+
+

The search API is a simple entry point to the system. The only input parameter to the API is a free-form string and the resulting JSON contains a categorized list of results. Types are different asset types from the Inventory, such as storages, hosts, dataStores, and so on. Each type would contain a list of objects of the type that match the search criteria.

+
+
+

Cloud Insights is an extensible (wide open) solution that allows integrations with third party orchestration, business management, change control and ticketing systems as well as custom CMDB integrations.

+
+
+

Cloud Insight’s RESTful API is a primary point of integration that allows simple and effective movement of data as well as allows users to gain seamless access to their data.

+
+
+
+
+

Disabling or Revoking an API Token

+
+
+

To temporarily disable an API token, on the API token list page, click the "three dots" menu for the API, and select Disable. You can Re-enable the token at any time using the same menu and selecting Enable.

+
+
+

To permanently remove an API token, from the menu, select "Revoke". You cannot re-enable a revoked token; you must create a new token.

+
+
+

Disable or Revoke and API token

+
+
+
+
+

Rotating Expired API Access Tokens

+
+
+

API access tokens have an expiration date. When an API access token expires, users need to generate a new token (of type Data Ingestion with Read/Write permissions) and reconfigure Telegraf to use the newly-generated token instead of the expired token. The steps below detail how to do this.

+
+
+

Kubernetes

+
+

Note that these commands are using the default namespace "netapp-monitoring". If you have set your own namespace, substitute that namespace in these and all subsequent commands and files.

+
+
+

Note: If you have the latest NetApp Kubernetes Monitoring Operator installed and using an API access token that is renewable, expiring tokens will automatically be replaced by new/refreshed API access tokens. There is no need to perform the manual steps listed below.

+
+
+
    +
  • +

    Edit the the NetApp Kubernetes Monitoring Operator.

    +
    +
    +
    kubectl -n netapp-monitoring edit agent agent-monitoring-netapp
    +
    +
    +
  • +
  • +

    Modify the spec.output-sink.api-key value, replacing the old API token with the new API token.

    +
    +
    +
    spec:
    +…
    +  output-sink:
    +  - api-key:<NEW_API_TOKEN>
    +
    +
    +
  • +
+
+
+
+

RHEL/CentOS and Debian/Ubuntu

+
+
    +
  • +

    Edit the Telegraf configuration files, and replace all instances of the old API token with the new API token.

    +
    +
    +
    sudo sed -i.bkup ‘s/<OLD_API_TOKEN>/<NEW_API_TOKEN>/g’ /etc/telegraf/telegraf.d/*.conf
    +
    +
    +
  • +
  • +

    Restart Telegraf.

    +
    +
    +
    sudo systemctl restart telegraf
    +
    +
    +
  • +
+
+
+
+

Windows

+
+
    +
  • +

    For each Telegraf configuration file in C:\Program Files\telegraf\telegraf.d, replace all instances of the old API token with the new API token.

    +
    +
    +
    cp <plugin>.conf <plugin>.conf.bkup
    +(Get-Content <plugin>.conf).Replace(‘<OLD_API_TOKEN>’, ‘<NEW_API_TOKEN>’) | Set-Content <plugin>.conf
    +
    +
    +
  • +
  • +

    Restart Telegraf.

    +
    +
    +
    Stop-Service telegraf
    +Start-Service telegraf
    +
    +
    +
  • +
+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/CloudInsightsDataCollectorSupportMatrix.pdf b/CloudInsightsDataCollectorSupportMatrix.pdf new file mode 100644 index 0000000000..f60346a7c4 Binary files /dev/null and b/CloudInsightsDataCollectorSupportMatrix.pdf differ diff --git a/CloudInsights_CloudSecure_Splunk_integration_guide.pdf b/CloudInsights_CloudSecure_Splunk_integration_guide.pdf new file mode 100644 index 0000000000..e652e9f43e Binary files /dev/null and b/CloudInsights_CloudSecure_Splunk_integration_guide.pdf differ diff --git a/CloudSecureAgentWithProxy_Instructions.png b/CloudSecureAgentWithProxy_Instructions.png new file mode 100644 index 0000000000..5a2b0bf2ee Binary files /dev/null and b/CloudSecureAgentWithProxy_Instructions.png differ diff --git a/KubernetesOperatorTile.png b/KubernetesOperatorTile.png new file mode 100644 index 0000000000..cffd7c6ecb Binary files /dev/null and b/KubernetesOperatorTile.png differ diff --git a/ProxyEndpoints_NewTable.png b/ProxyEndpoints_NewTable.png new file mode 100644 index 0000000000..cccfa8dcd3 Binary files /dev/null and b/ProxyEndpoints_NewTable.png differ diff --git a/ProxySettingsButton.png b/ProxySettingsButton.png new file mode 100644 index 0000000000..1f45dcaeaf Binary files /dev/null and b/ProxySettingsButton.png differ diff --git a/Proxy_Onboarding.png b/Proxy_Onboarding.png new file mode 100644 index 0000000000..1f45dcaeaf Binary files /dev/null and b/Proxy_Onboarding.png differ diff --git a/bluexp_overview.html b/bluexp_overview.html new file mode 100644 index 0000000000..ad0b138db1 --- /dev/null +++ b/bluexp_overview.html @@ -0,0 +1,4165 @@ + + + + Cloud Insights is a part of BlueXP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Cloud Insights is a part of BlueXP

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

BlueXP allows you to manage all of your NetApp storage and data assets from a single interface. In BlueXP, you’ll find many new storage services, as well as data services previously only available as a stand-alone service with a separate UI. Cloud Insights is one of these services.

+
+
+ + + + + +
+Note + +The BlueXP navigation menu integration is considered a Preview feature and is therefore subject to change. +
+
+
+

Intuitive new menu
+In BlueXP’s navigation menu, data services are organized by categories and are named according to their functionality. For example, the “Cloud Insights” feature set is found in the "Observability" menu. While you are exploring Cloud Insights, the "Observability" section appears at the top of the navigation menu. This is true for each BlueXP service as you explore.

+
+
+

the BlueXP nav menu

+
+
+ + + + + +
+Note + +Throughout this documentation, the terms "Cloud Insights" and "Observability" may be used interchangeably. +
+
+
+

Hover tooltips provide more information.

+
+
+

You can learn more about BlueXP on the BlueXP website.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/ci_reporting_database_schema.pdf b/ci_reporting_database_schema.pdf new file mode 100644 index 0000000000..4042ea195c Binary files /dev/null and b/ci_reporting_database_schema.pdf differ diff --git a/ci_reporting_datrabase_schema.pdf b/ci_reporting_datrabase_schema.pdf new file mode 100644 index 0000000000..4fa90a858f Binary files /dev/null and b/ci_reporting_datrabase_schema.pdf differ diff --git a/concept_about_applications.html b/concept_about_applications.html new file mode 100644 index 0000000000..dafa90034d --- /dev/null +++ b/concept_about_applications.html @@ -0,0 +1,4198 @@ + + + + Tracking asset usage by application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Tracking asset usage by application

+
+ +
+ +
+ + + + + + + Contributors + dgracenetapp + + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Before you can track data associated with the applications running in your environment, you must first define those applications and associate them with the appropriate assets. You can associate applications with the following assets: hosts, virtual machines, volumes, internal volumes, qtrees, shares, and hypervisors.

+
+
+

This topic provides an example of tracking the usage of virtual machines that the Marketing Team uses for its Exchange email.

+
+
+

You might want to create a table similar to the following to identify applications used in your environment and note the group or business unit using each applications.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + +

Tenant

Line of Business

Business Unit

Project

Applications

NetApp

Data Storage

Legal

Patents

Oracle Identity Manager, Oracle On Demand, PatentWiz

NetApp

Data Storage

Marketing

Sales Events

Exchange, Oracle Shared DataBase, BlastOff Event Planner

+
+

The table shows that that Marketing Team uses the Exchange application. We want to track their virtual machine utilization for Exchange, so that we can predict when we will need to add more storage. We can associate the Exchange application with all of Marketing's virtual machines:

+
+
+
    +
  1. +

    Create an application named Exchange

    +
  2. +
  3. +

    Go to Queries > +New Query to create a new query for virtual machines (or select an existing VM query, if applicable).

    +
    +

    Assuming the Marketing team's VMs all have a name containing the string “mkt”, create your query to filter VM name for “mkt”.

    +
    +
  4. +
  5. +

    Select the VMs.

    +
  6. +
  7. +

    Associate the VMs with the Exchange application using Bulk Actions > Add Applications.

    +
  8. +
  9. +

    Select the desired application and click Save.

    +
  10. +
  11. +

    When finished, Save the query.

    +
  12. +
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_acquisition_unit_requirements.html b/concept_acquisition_unit_requirements.html new file mode 100644 index 0000000000..a0664d10de --- /dev/null +++ b/concept_acquisition_unit_requirements.html @@ -0,0 +1,4277 @@ + + + + Acquisition Unit Requirements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Acquisition Unit Requirements

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + netapp-chunge + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

You must install an Acquisition Unit (AU) in order to acquire information from your infrastructure data collectors (storage, VM, port, EC2, etc.). Before you install the Acquisition Unit, you should ensure that your environment meets operating system, CPU, memory, and disk space requirements.

+
+
+
+
+

Requirements

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Component

Linux Requirement

Windows Requirement

Operating system

A computer running a licensed version of one of the following:
+
+* Centos (64-bit): 7.2 through 7.9, Stream 8, Stream 9
+* Debian (64-bit): 9 and 10
+* Oracle Enterprise Linux (64-bit): 7.5 through 7.9, 8.1 through 8.4
+* Red Hat Enterprise Linux (64-bit): 7.2 through 7.9, 8.1 through 8.7, 9.1
+* Rocky 9.0, 9.1
+* Ubuntu Server: 18.04 and 20.04 LTS
+
+This computer should be running no other application-level software. A dedicated server is recommended.
+
+If you are running with SELinux, it is recommended to execute the following commands on the acquisition unit system:
+
+ sudo semanage fcontext -a -t usr_t "/opt/netapp/cloudinsights(/.*)?"
+ sudo restorecon -R /opt/netapp/cloudinsights

A computer running a licensed version of one of the following:
+
+* Microsoft Windows 10 64-bit
+* Microsoft Windows Server 2012
+* Microsoft Windows Server 2012 R2
+* Microsoft Windows Server 2016
+* Microsoft Windows Server 2019
+* Microsoft Windows Server 2022
+* Microsoft Windows 11
+
+
+This computer should be running no other application-level software. A dedicated server is recommended.

CPU

2 CPU cores

Same

Memory

8 GB RAM

Same

Available disk space

50 GB (100 GB recommended)
+For Linux, disk space should be allocated in this manner:
+/opt/netapp 10 GB (20 GB for large environments)
+/var/log/netapp 40 GB (80 GB for large environments)
+/tmp at least 1 GB available during installation

50 GB

Network

100 Mbps/1 Gbps Ethernet connection, static IP address, and port 80 or 443 connectivity from Acquisition Unit to *.cloudinsights.netapp.com or your Cloud Insights environment (i.e. https://<environment_id>.c01.cloudinsights.netapp.com) is required. For requirements between Acquisition Unit and each Data Collector, please refer to instructions for the Data Collector.
+
+If your organization requires proxy usage for internet access, you may need to understand your organization’s proxy behavior and seek certain exceptions for Cloud Insights to work. For example, does your organization block access by default, and only allow access to specific web sites/domains by exception? If so, you will need to get the following domain added to the exception list:
+
+*.cloudinsights.netapp.com
+
+For more information, read about Proxies here (Linux) or here (Windows).

Same

Permissions

Sudo permissions on the Acquisition Unit server.
+/tmp must be mounted with exec capabilities.

Administrator permissions on the Acquisition Unit server

Virus Scan

During installation, you must completely disable all virus scanners. Following installation, the paths used by the Acquisition Unit software must be excluded from virus scanning.

+
+
+
+

Additional recommendations

+
+
+
    +
  • +

    For accurate audit and data reporting, it is strongly recommended to synchronize the time on the Acquisition Unit machine using Network Time Protocol (NTP) or Simple Network Time Protocol (SNTP).

    +
  • +
+
+
+
+
+

Regarding Sizing

+
+
+

You can get started with a Cloud Insights Acquisition Unit with just 8GB memory and 50GB of disk space, however, for larger environments you should ask yourself the following questions:

+
+
+

Do you expect to:

+
+
+
    +
  • +

    Discover more than 2500 virtual machines or 10 large (> 2 node) ONTAP clusters, Symmetrix, or HDS/HPE VSP/XP arrays on this Acquisition Unit?

    +
  • +
  • +

    Deploy 75 or more total data collectors on this Acquisition Unit?

    +
  • +
+
+
+

For each "Yes" answer above, it is recommend to add 8 GB of memory and 50 GB of disk space to the AU. So for example if you answered "Yes" to both, you should deploy a 24GB memory system with 150GB or more of disk space. On Linux, the disk space to be added to the log location.

+
+
+

For additional sizing questions, contact NetApp Support.

+
+
+
+
+

Additional Federal Edition requirement

+
+
+
    +
  • +

    For Acquisition Unit installations in Cloud Insights Federal Edition clusters, the underlying operating system must have a good source of entropy. On Linux systems this is typically done by installing rng-tools or by using hardware random number generation (RNG). It is the customer's responsibility to ensure this requirement is met on the Acquisition Unit machine.

    +
  • +
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_activeiq.html b/concept_activeiq.html new file mode 100644 index 0000000000..b4497a1c41 --- /dev/null +++ b/concept_activeiq.html @@ -0,0 +1,4203 @@ + + + + Active IQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Active IQ

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

NetApp Active IQ provides a series of visualizations, analytics, and other support-related services to NetApp customers for their hardware / software systems. The data reported by Active IQ can enhance troubleshooting of system problems and also provide insight into optimization and predictive analysis related to your devices.

+
+
+ + + + + +
+Note + +ActiveIQ is not available in Cloud Insights Federal Edition. +
+
+
+

Cloud Insights collects the Risks for any NetApp Clustered Data ONTAP storage system that is monitored and reported by Active IQ. Risks reported for the storage systems are collected automatically by Cloud Insights as part of its data collection from those devices. You must add the appropriate data collector to Cloud Insights to collect Active IQ risk information.

+
+
+

Cloud Insights will not show risk data for ONTAP systems that are not monitored and reported by Active IQ.

+
+
+

The risks reported are shown in Cloud Insights on the storage and storage node asset landing pages, in the "Risks" table. The table shows Risk Detail, Category of risk, and Potential Impact of the risk, and also provides a link to the Active IQ page summarizing all risks for the storage node (NetApp Support account sign-in required).

+
+
+

Active IQ Risks Table

+
+
+

A count of reported risks is also shown in the landing page's Summary widget, with a link to the appropriate Active IQ page. On a storage landing page, the count is a sum of risks from all underlying storage nodes.

+
+
+

Storage Page Summary

+
+
+
+
+

Opening the Active IQ page

+
+
+

When clicking on the link to an Active IQ page, if you are not currently signed in to your Active IQ account, you must perform the following steps to view the Active IQ page for the storage node.

+
+
+
    +
  1. +

    In the Cloud Insights Summary widget or Risks table, click the "Active IQ' link.

    +
  2. +
  3. +

    Sign in to your NetApp Support account. You are taken directly to the storage node page in Active IQ.

    +
  4. +
+
+
+
+
+

Querying for Risks

+
+
+

In Cloud Insights, you can add the monitoring.count column to a storage or storage node query. If the returned result includes Active IQ-Monitored storage systems, the monitoring.count column will display the number of risks for the storage system or node.

+
+
+
+
+

Dashboards

+
+
+

You can build widgets (e.g. pie chart, table widget, bar, column, scatter plot, and single value widgets) in order to visualize object risks for storage and storage nodes for NetApp Clustered Data ONTAP systems monitored by Active IQ. "Object Risks" can be selected as a column or metric in these widgets where Storage or Storage Node is the object of focus.

+
+
+

Object Risks in Widgets

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_asset_alerts_section.html b/concept_asset_alerts_section.html new file mode 100644 index 0000000000..d70e1c8847 --- /dev/null +++ b/concept_asset_alerts_section.html @@ -0,0 +1,4163 @@ + + + + Asset Page Related Alerts section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Asset Page Related Alerts section

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

You can use the Related Alerts section of an asset page to see any alerts that occur in your environment as a result of a monitor assigned to an asset. Monitors generate alerts based on conditions you set, and enable you to identify the implication and analyze the impact and root cause of the problem in a manner that enables rapid and effective correction.

+
+
+

The following example shows a typical Related Alerts section that displays on an asset page:

+
+
+

Related Alerts Table

+
+
+

The Related Alerts section enables you to view and manage the alerts that occur in your network as the result of monitor conditions assigned to an asset.

+
+
+
Steps
+
    +
  • +

    Locate an asset page by doing any of the following:

    +
    +
      +
    • +

      Type the name of the asset in the Search area, and then select the asset from the list.

      +
    • +
    • +

      In a dashboard widget, click on the name of an asset.

      +
    • +
    • +

      Query for a set of assets and select on from the results list.

      +
    • +
    +
    +
  • +
+
+
+

The asset page displays. The Related Alerts section displays the time the alert was triggered as well as current status of the alert and the monitor that triggered it. You can click the Alert ID to open the landing page for the alert for further investigation.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_asset_expert_view_section.html b/concept_asset_expert_view_section.html new file mode 100644 index 0000000000..f4ae6ad852 --- /dev/null +++ b/concept_asset_expert_view_section.html @@ -0,0 +1,4431 @@ + + + + Expert View + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Expert View

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Expert View section of an asset page enables you to view a performance sample for the base asset based on any number of applicable metrics in context with a chosen time period in the performance chart and any assets related to it. The data in the charts refreshes automatically as data collectors poll and updated data is acquired.

+
+
+
+
+

Using the Expert View section

+
+
+

The following is an example of the Expert View section in a storage asset page:

+
+
+

Expert View Example

+
+
+

You can select the metrics you want to view in the performance chart for the time period selected. Click on the Display Metrics drop-down and choose from the metrics listed.

+
+
+

The Resources section shows the name of the base asset and the color representing the base asset in the performance chart. If the Top Correlated section does not contain an asset you want to view in the performance chart, you can use the Search Assets box in the Additional Resources section to locate the asset and add it to the performance chart. As you add resources, they appear in the Additional resources section.

+
+
+

Also shown in the Resources section, when applicable, are any assets related to the base asset in the following categories:

+
+
+
    +
  • +

    Top correlated

    +
    +

    Shows the assets that have a high correlation (percentage) with one or more performance metrics to the base asset.

    +
    +
  • +
  • +

    Top contributors

    +
    +

    Shows the assets that contribute (percentage) to the base asset.

    +
    +
  • +
  • +

    Workload Contentions

    +
    +

    Shows the assets that impact or are impacted by other shared resources, such as hosts, networks, and storage. These are sometimes called greedy and degraded resources.

    +
    +
  • +
+
+
+
+
+

Alerts in Expert View

+
+
+

Alerts are also displayed in the Expert View section of an asset landing page, showing the time and duration of the alert as well as the monitor condition that triggered it.

+
+
+

Alerts in Expert View

+
+
+
+
+

Expert View metric definitions

+
+
+

The Expert View section of an asset page displays several metrics based on the time period selected for the asset. Each metric is displayed in its own performance chart. You can add or remove metrics and related assets from the charts depending on what data you want to see. The metrics you can choose will vary depending on asset type.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Metric

Description

BB credit zero Rx, Tx

Number of times the receive/transmit buffer-to-buffer credit count transitioned to zero during the sampling period. This metric represents the number of times the attached port had to stop transmitting because this port was out of credits to provide.

BB credit zero duration Tx

Time in milliseconds during which the transmit BB credit was zero during the sampling interval.

Cache hit ratio (Total, Read, Write) %

Percentage of requests that result in cache hits. The higher the number of hits versus accesses to the volume, the better is the performance. This column is empty for storage arrays that do not collect cache hit information.

Cache utilization (Total) %

Total percentage of cache requests that result in cache hits

Class 3 discards

Count of Fibre Channel Class 3 data transport discards.

CPU utilization (Total) %

Amount of actively used CPU resources, as a percentage of total available (over all virtual CPUs).

CRC error

Number of frames with invalid cyclic redundancy checks (CRCs) detected by the port during the sampling period

Frame rate

Transmit frame rate in frames per second (FPS)

Frame size average (Rx, Tx)

Ratio of traffic to frame size. This metric enables you to identify whether there are any overhead frames in the fabric.

Frame size too long

Count of Fibre Channel data transmission frames that are too long.

Frame size too short

Count of Fibre Channel data transmission frames that are too short.

I/O density (Total, Read, Write)

Number of IOPS divided by used capacity (as acquired from the most recent inventory poll of the data source) for the Volume, Internal Volume or Storage element. Measured in number of I/O operations per second per TB.

IOPS (Total, Read, Write)

Number of read/write I/O service requests passing through the I/O channel or a portion of that channel per unit of time (measured in I/O per sec)

IP throughput (Total, Read, Write)

Total: Aggregated rate at which IP data was transmitted and received in megabytes per second.

Read: IP Throughput (Receive):

Average rate at which IP data was received in megabytes per second.

Write: IP Throughput (Transmit):

Average rate at which IP data was transmitted in megabytes per second.

Latency (Total, Read, Write)

Latency (R&W): Rate at which data is read or written to the virtual machines in a fixed amount of time. The value is measured in megabytes per second.

Latency:

Average response time from the virtual machines in a data store.

Top Latency:

The highest response time from the virtual machines in a data store.

Link failure

Number of link failures detected by the port during the sampling period.

Link reset Rx, Tx

Number of receive or transmit link resets during the sampling period. This metric represents the number of link resets that were issued by the attached port to this port.

Memory utilization (Total) %

Threshold for the memory used by the host.

Partial R/W (Total) %

Total number of times that a read/write operation crosses a stripe boundary on any disk module in a RAID 5, RAID 1/0, or RAID 0 LUN Generally, stripe crossings are not beneficial, because each one requires an additional I/O. A low percentage indicates an efficient stripe element size and is an indication of improper alignment of a volume (or a NetApp LUN). For CLARiiON, this value is the number of stripe crossings divided by the total number of IOPS.

Port errors

Report of port errors over the sampling period/given time span.

Signal loss count

Number of signal loss errors. If a signal loss error occurs, there is no electrical connection, and a physical problem exists.

Swap rate (Total Rate, In rate, Out rate)

Rate at which memory is swapped in, out, or both from disk to active memory during the sampling period. This counter applies to virtual machines.

Sync loss count

Number of synchronization loss errors. If a synchronization loss error occurs, the hardware cannot make sense of the traffic or lock onto it. All the equipment might not be using the same data rate, or the optics or physical connections might be of poor quality. The port must resynchronize after each such error, which impacts system performance. Measured in KB/sec.

Throughput (Total, Read, Write)

Rate at which data is being transmitted, received, or both in a fixed amount of time in response to I/O service requests (measured in MB per sec).

Timeout discard frames - Tx

Count of discarded transmit frames caused by timeout.

Traffic rate (Total, Read, Write)

Traffic transmitted, received, or both received during the sampling period, in mebibytes per second.

Traffic utilization (Total, Read, Write)

Ratio of traffic received/transmitted/total to receive/transmit/total capacity, during the sampling period.

Utilization (Total, Read, Write) %

Percentage of available bandwidth used for transmission (Tx) and reception (Rx).

Write pending (Total)

Number of write I/O service requests that are pending.

+
+
+
+

Using the Expert View section

+
+
+

The Expert view section enables you to view performance charts for an asset based on any number of applicable metrics during a chosen time period, and to add related assets to compare and contrast asset and related asset performance over different time periods.

+
+
+
Steps
+
    +
  1. +

    Locate an asset page by doing either of the following:

    +
    +
      +
    • +

      Search for and select a specific asset.

      +
    • +
    • +

      Select an asset from a dashboard widget.

      +
    • +
    • +

      Query for a set of assets and select one from the results list.

      +
      +

      The asset page displays. By default, the performance chart shows two metrics for time period selected for the asset page. For example, for a storage, the performance chart shows latency and total IOPS by default. The Resources section displays the resource name and an Additional resources section, which enables you to search for assets. Depending on the asset, you might also see assets in the Top correlated, Top contributor, Greedy, and Degraded sections. If there are no assets relevant to these sections, they are not displayed.

      +
      +
    • +
    +
    +
  2. +
  3. +

    You can add a performance chart for a metric by clicking Display Metrics and selecting the metrics you want displayed.

    +
    +

    A separate chart is displayed for each metric selected. The chart displays the data for the selected time period. You can change the time period by clicking on another time period in the top right corner of the asset page, or by zooming in on any chart.

    +
    +
    +

    Click on Display Metrics to de-select any chart. The performance chart for the metric is removed from Expert View.

    +
    +
  4. +
  5. +

    You can position your cursor over the chart and change the metric data that displays for that chart by clicking any of the following, depending on the asset:

    +
    +
      +
    • +

      Read, Write, or Total

      +
    • +
    • +

      Tx, Rx, or Total

      +
      +

      Total is the default.

      +
      +
      +

      You can drag your cursor over the data points in the chart to see how the value of the metric changes over the time period selected.

      +
      +
    • +
    +
    +
  6. +
  7. +

    In the Resources section, you can add any related assets to the performance charts:

    +
    +
      +
    • +

      You can select a related asset in the Top Correlated, Top Contributors, Greedy, and Degraded sections to add data from that asset to the performance chart for each selected metric.

      +
      +

      After you select the asset, a color block appears next to the asset to denote the color of its data points in the chart.

      +
      +
    • +
    +
    +
  8. +
  9. +

    Click on Hide Resources to hide the additional resources pane. Click on Resources to show the pane.

    +
    +
      +
    • +

      For any asset shown, you can click the asset name to display its asset page, or you can click the percentage that the asset correlates or contributes to the base asset to view more information about the asset's relation to the base asset.

      +
      +

      For example, clicking the linked percentage next to a top correlated asset displays an informational message comparing the type of correlation that asset has with the base asset.

      +
      +
    • +
    • +

      If the Top correlated section does not contain an asset you want to display in a performance chart for comparison purposes, you can use the Search assets box in the Additional resources section to locate other assets.

      +
    • +
    +
    +
  10. +
+
+
+

After you select an asset, it displays in the additional resources section. When you no longer want to view information about the asset, click Delete.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_asset_page_overview.html b/concept_asset_page_overview.html new file mode 100644 index 0000000000..5b994f01d1 --- /dev/null +++ b/concept_asset_page_overview.html @@ -0,0 +1,4262 @@ + + + + Asset Page Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Asset Page Overview

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Asset pages summarize the current status of an asset and contain links to additional information about the asset and its related assets.

+
+
+
+
+

Types of Asset Pages

+
+
+

Cloud Insights provides asset pages for the following assets:

+
+
+
    +
  • +

    Virtual machine

    +
  • +
  • +

    Storage Virtual Machine (SVM)

    +
  • +
  • +

    Volume

    +
  • +
  • +

    Internal volume

    +
  • +
  • +

    Host (including Hypervisor)

    +
  • +
  • +

    Storage pool

    +
  • +
  • +

    Storage

    +
  • +
  • +

    Datastore

    +
  • +
  • +

    Application

    +
  • +
  • +

    Storage node

    +
  • +
  • +

    Qtree

    +
  • +
  • +

    Disk

    +
  • +
  • +

    VMDK

    +
  • +
  • +

    Port

    +
  • +
  • +

    Switch

    +
  • +
  • +

    Fabric

    +
  • +
+
+
+
+
+

Changing the Time Range of Displayed Data

+
+
+

By default, an asset page displays the last 24 hours of data; however, you can change the segment of data displayed by selecting another fixed time range or a custom range of time to view less or more data.

+
+
+

You can change the time segment of displayed data by using an option that is located on every asset page, regardless of asset type. To change the time range, click the displayed time range in the top bar and choose from among the following time segments:

+
+
+
    +
  • +

    Last 15 Minutes

    +
  • +
  • +

    Last 30 Minutes

    +
  • +
  • +

    Last 60 Minutes

    +
  • +
  • +

    Last 2 Hours

    +
  • +
  • +

    Last 3 Hours (this is the default)

    +
  • +
  • +

    Last 6 Hours

    +
  • +
  • +

    Last 12 Hours

    +
  • +
  • +

    Last 24 Hours

    +
  • +
  • +

    Last 2 Days

    +
  • +
  • +

    Last 3 Days

    +
  • +
  • +

    Last 7 Days

    +
  • +
  • +

    Last 30 Days

    +
  • +
  • +

    Custom time range

    +
  • +
+
+
+

The Custom time range allows you to select up to 31 consecutive days. You can also set the Start Time and End Time of day for this range. The default Start Time is 12:00 AM on the first day selected and the default End Time is 11:59 PM on the last day selected. Clicking Apply will apply the custom time range to the asset page.

+
+
+

The information in an asset page summary section, as well as in any tables or custom widgets on the page, refreshes automatically based on the selected time range. The current refresh rate is displayed in the upper-right corner of the Summary section as well as on any relevant tables or widgets on the page.

+
+
+
+
+

Add Custom Widgets

+
+
+

You can add your own widgets to any asset page. Widgets you add will appear on asset pages for all objects of that type. For example, adding a custom widget to a storage asset page will display that widget on asset pages for all storage assets.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_asset_summary_section.html b/concept_asset_summary_section.html new file mode 100644 index 0000000000..ea0706711f --- /dev/null +++ b/concept_asset_summary_section.html @@ -0,0 +1,4212 @@ + + + + Asset Page Summary section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Asset Page Summary section

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Summary section of an asset page displays general information about an asset, including whether any metrics or performance policies are cause for concern. Potential problem areas are indicated by a red circle.

+
+
+

The information in the summary section, as well as in any tables or custom widgets on the asset page, refreshes automatically based on the selected time range. You can see the current refresh rate in the upper-right corner of the Summary section, the tables, and any custom widgets.

+
+
+

Summary Section Example

+
+
+

Note: The information displayed in the Summary section varies, depending on the type of asset you are viewing.

+
+
+

You can click any of the asset links to view their asset pages. For example, if you are viewing a storage node, you can click a link to view the asset page of the storage it is associated with.

+
+
+

You can view the metrics associated with the asset. A red circle next to a metric indicates that you might need to diagnose and resolve potential problems.

+
+
+ + + + + +
+Note + +You may notice that volume capacity might show greater than 100% on some storage assets. This is due to metadata related to the capacity of the volume being part of the consumed capacity data reported by the asset. +
+
+
+

If applicable, you can click an alert link to view the alert and monitor associated with the asset.

+
+
+
+
+

Topology

+
+
+

On certain asset pages, the summary section contains a link to view the topology of the asset and its connections.

+
+
+

Topology is available for the following asset types:

+
+
+
    +
  • +

    Application

    +
  • +
  • +

    Disk

    +
  • +
  • +

    Fabric

    +
  • +
  • +

    Host

    +
  • +
  • +

    Internal Volume

    +
  • +
  • +

    Port

    +
  • +
  • +

    Switch

    +
  • +
  • +

    Virtual Machine

    +
  • +
  • +

    VMDK

    +
  • +
  • +

    Volume

    +
  • +
+
+
+

TopologyExample

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_asset_user_data_section.html b/concept_asset_user_data_section.html new file mode 100644 index 0000000000..8d7f81d50a --- /dev/null +++ b/concept_asset_user_data_section.html @@ -0,0 +1,4216 @@ + + + + User Data Section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

User Data Section

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The User Data section of an asset page displays and enables you to change any user-defined data such as applications and annotations.

+
+
+
+
+

Using the User Data section to assign or modify applications

+
+
+

You can assign applications running in your environment to certain assets (host, virtual machines, volumes, internal volumes, qtrees, and hypervisors). The User Data section enables you to add, change, or remove the applications assigned to an asset. For all of these asset types except for volumes, you can assign more than one application.

+
+
+
Steps
+
    +
  1. +

    Locate an asset page by doing any of the following:

    +
    +
      +
    1. +

      Query for a list of assets and then select one from the list.

      +
    2. +
    3. +

      On a Dashboard, locate an asset name and click it.

      +
    4. +
    5. +

      Perform a search and choose an asset from the results.

      +
      +

      The asset page displays. The User Data section of the page shows currently-assigned applications or annotations.

      +
      +
    6. +
    +
    +
  2. +
+
+
+

To change the application assigned, or to assign an application or additional applications, drop down the Application list and select the application(s) you want to assign to the asset. You can type to search for an application, or select one from the list.

+
+
+

To remove an application, drop down the application list and un-check the application.

+
+
+
+
+

Using the User Data section to assign or modify annotations

+
+
+

When customizing Cloud Insights to track data for your corporate requirements, you can define specialized notes called annotations, and assign them to your assets. The User Data section of an asset page displays annotations assigned to an asset and also enables you to change the annotations assigned to that asset.

+
+
+
Steps
+
    +
  1. +

    To add an annotation to the asset, in the User Data section of the asset page, click +Annotation.

    +
  2. +
  3. +

    Select an annotation from the list.

    +
  4. +
  5. +

    Click Value and do either of the following, depending on type of annotation you selected:

    +
    +
      +
    1. +

      If the annotation type is list, date, or Boolean, select a value from the list.

      +
    2. +
    3. +

      If the annotation type is text, type a value.

      +
    4. +
    +
    +
  6. +
  7. +

    Click Save.

    +
  8. +
+
+
+

The annotation is assigned to the asset. You can later filter assets by annotation using a query.

+
+
+

If you want to change the value of the annotation after you assign it, drop down the annotation list and enter a different value.

+
+
+

If the annotation is of list type for which the Add new values on the fly option is selected, you can type to add a new value in addition to selecting an existing value.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_audit.html b/concept_audit.html new file mode 100644 index 0000000000..285a316ce0 --- /dev/null +++ b/concept_audit.html @@ -0,0 +1,4388 @@ + + + + Auditing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Auditing

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

To identify changes both expected (for tracking) or unexpected (for troubleshooting), you can view an audit trail of the Cloud Insights system events and user activities.

+
+
+
+
+

Viewing Audited Events

+
+
+

To View the Audit page, click Admin > Audit in the menu. The Audit page is displayed, providing the following details for each audit entry:

+
+
+
    +
  • +

    Time - Date and time of the event or activity

    +
  • +
  • +

    User - The User who initiated the activity

    +
  • +
  • +

    Role - The user's role in Cloud Insights (guest, user, administrator)

    +
  • +
  • +

    IP - The IP address associated with the event

    +
  • +
  • +

    Action - Type of activity, for example Login, Create, Update

    +
  • +
  • +

    Category - The category of activity

    +
  • +
  • +

    Details - Details of the activity

    +
  • +
+
+
+
+
+

Displaying audit entries

+
+
+

There are a number of different ways to view audit entries:

+
+
+
    +
  • +

    You can display audit entries by choosing a particular time period (1 hour, 24 hours, 3 days, etc.).

    +
  • +
  • +

    You can change the sort order of entries to either ascending (up arrow) or descending (down arrow) by clicking the arrow in the column header.

    +
    +

    By default, the table displays the entries in descending time order.

    +
    +
  • +
  • +

    You can use the filter fields to show only the entries you want in the table. Click the [+] button to add additional filters.

    +
    +

    Audit Filters

    +
    +
  • +
+
+
+

More on Filtering

+
+

You can use any of the following to refine your filter:

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Filter

What it does

Example

Result

* (Asterisk)

enables you to search for everything

vol*rhel

returns all resources that start with "vol" and end with "rhel"

? (question mark)

enables you to search for a specific number of characters

BOS-PRD??-S12

returns BOS-PRD12-S12, BOS-PRD23-S12, and so on

OR

enables you to specify multiple entities

FAS2240 OR CX600 OR FAS3270

returns any of FAS2440, CX600, or FAS3270

NOT

allows you to exclude text from the search results

NOT EMC*

returns everything that does not start with "EMC"

None

searches for blank/NULL/None in any field where selected

None

returns results where the target field is not empty

Not *

as with None above, but you can also use this form to search for NULL values in text-only fields

Not *

returns results where the target field is not empty.

""

searches for an exact match

"NetApp*"

returns results containing the exact literal string NetApp*

+
+

If you enclose a filter string in double quotes, Insight treats everything between the first and last quote as an exact match. Any special characters or operators inside the quotes will be treated as literals. For example, filtering for "*" will return results that are a literal asterisk; the asterisk will not be treated as a wildcard in this case. The operators OR and NOT will also be treated as literal strings when enclosed in double quotes.

+
+
+
+
+
+

Audited Events and Actions

+
+
+

The events and actions audited by Cloud insights can be categorized in the following broad areas:

+
+
+
    +
  • +

    User account: Log in, log out, role change, etc.

    +
    +

    Example: User Tony Lavoie logged in from 10.1.120.15, user agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36, login method(s) Cloud Central Portal Login

    +
    +
  • +
  • +

    Acquisition Unit: create, delete, etc.

    +
    +

    Example: Acquisition unit AU-Boston-1 removed.

    +
    +
  • +
  • +

    Data Collector: add, remove, modify, postpone/resume, change acquisition unit, start/stop, etc.

    +
    +

    Example: Datasource FlexPod Lab removed, vendor NetApp, model ONTAP Data Management Software, ip 192.168.106.5.

    +
    +
  • +
  • +

    Application: add, assign to object, remove, etc.

    +
    +

    Example: Internal Volume ocisedev:t1appSVM01:t1appFlexVol01 added to application Test App.

    +
    +
  • +
  • +

    Annotation: add, assign, remove, annotation rule actions, annotation value changes, etc.

    +
    +

    Example: Annotation value Boston added to annotation type SalesOffice.

    +
    +
  • +
  • +

    Query: add, remove, etc.

    +
    +

    Example: Query TL Sales Query is added.

    +
    +
  • +
  • +

    Monitor: add, remove, etc.

    +
    +

    Example: Monitor Aggr Size - CI Alerts Notifications Dev updated

    +
    +
  • +
  • +

    Notification: change email, etc.

    +
    +

    Example: Recipient ci-alerts-notifications-dl created

    +
    +
  • +
+
+
+
+
+

Exporting Audit Events

+
+
+

You can export the results of your Audit display to a .CSV file, which will allow you to analyze the data or import it into another application.

+
+
+
Steps
+
    +
  1. +

    On the Audit page, set the desired time range and any filters you want. Cloud Insights will export only the Audit entries that match the filtering and time range you have set.

    +
  2. +
  3. +

    Click the Export button Export Button in the upper right of the table.

    +
  4. +
+
+
+

The displayed Audit events will be exported to a .CSV file, up to a maximum of 10,000 rows.

+
+
+
+
+

Retention of Audit Data

+
+
+

The amount of time Cloud Insights retains Audit data is based on your Edition:

+
+
+
    +
  • +

    Basic Edition: Audit data is retained for 30 days

    +
  • +
  • +

    Standard and Premium Editions: Audit data is retained for 1 year plus 1 day

    +
  • +
+
+
+

Audit entries older than the retention time are automatically purged. No user interaction is needed.

+
+
+
+
+

Troubleshooting

+
+
+

Here you will find suggestions for troubleshooting problems with Audit.

+
+ ++++ + + + + + + + + + + +

Problem:

Try this:

I see Audit messages telling me that a monitor has been exported.

Export of a custom monitor configuration is typically used by NetApp engineers during development and testing of new features. If you did not expect to see this message, please consider exploring the actions of the user named in the audited action or contact support.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_cs_agent_requirements.html b/concept_cs_agent_requirements.html new file mode 100644 index 0000000000..a13e0880ce --- /dev/null +++ b/concept_cs_agent_requirements.html @@ -0,0 +1,4426 @@ + + + + Workload Security Agent Requirements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Workload Security Agent Requirements

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

You must install an Agent in order to acquire information from your data collectors. Before you install the Agent, you should ensure that your environment meets operating system, CPU, memory, and disk space requirements.

+
+
+ + + + + +
+Note + +Storage Workload Security is not available in Cloud Insights Federal Edition. +
+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ComponentLinux Requirement

Operating system

A computer running a licensed version of one of the following:
+
+Red Hat Enterprise Linux 7.x, 8.x 64-bit, SELinux
+CentOS 7.x 64-bit, SELinux
+CentOS 8 Stream, SELinux
+Ubuntu 20 through 22 64-bit
+Rocky 8.x 64-bit, Rocky 9.x 64-bit, SELinux
+SUSE Linux Enterprise Server 15 SP3, SUSE Linux Enterprise Server 15 SP4, SELinux on SUSE 15 SP3
+
+This computer should be running no other application-level software. A dedicated server is recommended.

Commands

'unzip' is required for installation. Additionally, the 'sudo su –' command is required for installation, running scripts, and uninstall.

CPU

4 CPU cores

Memory

16 GB RAM

Available disk space

Disk space should be allocated in this manner:
+/opt/netapp 35 GB (minimum)
+
+Note: It is recommended to allocate a little extra disk space to allow for the creation of the filesystem. Ensure that there is at least 35 GB free space in the filesystem.
+
+
+If /opt is a mounted folder from a NAS storage, make sure that local users have access to this folder. Agent or Data collector may fail to install if local users do not have permission to this folder. see the troubleshooting section for more details.

Network

100 Mbps to 1 Gbps Ethernet connection, static IP address, IP connectivity to all devices, and a required port to the Workload Security instance (80 or 443).

+
+

Please note: The Workload Security agent can be installed in the same machine as a Cloud Insights acquisition unit and/or agent. However, it is a best practice to install these in separate machines. In the event that these are installed on the same machine, please allocate disk space as shown below:

+
+ ++++ + + + + + + +

Available disk space

50-55 GB
+For Linux, disk space should be allocated in this manner:
+/opt/netapp 25-30 GB
+/var/log/netapp 25 GB

+
+
+
+

Additional recommendations

+
+
+
    +
  • +

    It is strongly recommended to synchronize the time on both the ONTAP system and the Agent machine using Network Time Protocol (NTP) or Simple Network Time Protocol (SNTP).

    +
  • +
+
+
+
+
+

Cloud Network Access Rules

+
+
+

For US-based Workload Security environments:

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
ProtocolPortSourceDestinationDescription

TCP

443

Workload Security Agent

<site_name>.cs01.cloudinsights.netapp.com
+<site_name>.c01.cloudinsights.netapp.com
+<site_name>.c02.cloudinsights.netapp.com

Access to Cloud Insights

TCP

443

Workload Security Agent

gateway.c01.cloudinsights.netapp.com
+agentlogin.cs01.cloudinsights.netapp.com

Access to authentication services

+
+

For Europe-based Workload Security environments:

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
ProtocolPortSourceDestinationDescription

TCP

443

Workload Security Agent

<site_name>.cs01-eu-1.cloudinsights.netapp.com
+<site_name>.c01-eu-1.cloudinsights.netapp.com
+<site_name>.c02-eu-1.cloudinsights.netapp.com

Access to Cloud Insights

TCP

443

Workload Security Agent

gateway.c01.cloudinsights.netapp.com
+agentlogin.cs01-eu-1.cloudinsights.netapp.com

Access to authentication services

+
+

For APAC-based Workload Security environments:

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
ProtocolPortSourceDestinationDescription

TCP

443

Workload Security Agent

<site_name>.cs01-ap-1.cloudinsights.netapp.com
+<site_name>.c01-ap-1.cloudinsights.netapp.com
+<site_name>.c02-ap-1.cloudinsights.netapp.com

Access to Cloud Insights

TCP

443

Workload Security Agent

gateway.c01.cloudinsights.netapp.com
+agentlogin.cs01-ap-1.cloudinsights.netapp.com

Access to authentication services

+
+
+
+

In-network rules

+
+
+

Note that when adding csuser, that user requires SSH access to the ONTAP management LIF.

+
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProtocolPortSourceDestinationDescription

TCP

389(LDAP)
+636 (LDAPs / start-tls)

Workload Security Agent

LDAP Server URL

Connect to LDAP

TCP

443

Workload Security Agent

Cluster or SVM Management IP Address (depending on SVM collector configuration)

API communication with ONTAP

TCP

35000 - 55000

SVM data LIF IP Addresses

Workload Security Agent

Communication from ONTAP to the Workload Security Agent for Fpolicy events. These ports must be opened towards the Workload Security Agent in order for ONTAP to send events to it, including any firewall on the Workload Security Agent itself (if present).

TCP

7

Workload Security Agent

SVM data LIF IP Addresses

Echo from Agent to SVM Data LIFs

SSH

22

Workload Security Agent

Cluster management

Needed for CIFS/SMB user blocking.

+
+
+
+

System Sizing

+
+
+

See the Event Rate Checker documentation for information about sizing.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_cs_api.html b/concept_cs_api.html new file mode 100644 index 0000000000..87415cf684 --- /dev/null +++ b/concept_cs_api.html @@ -0,0 +1,4233 @@ + + + + Workload Security API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Workload Security API

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Workload Security API enables NetApp customers and independent software vendors (ISVs) to integrate Workload Security with other applications, such as CMDB’s or other ticketing systems.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+

Requirements for API Access:

+
+
+
    +
  • +

    An API Access Token model is used to grant access.

    +
  • +
  • +

    API Token management is performed by Workload Security users with the Administrator role.

    +
  • +
+
+
+
+
+

API Documentation (Swagger)

+
+
+

The latest API information is found by logging in to Workload Security and navigating to Admin > API Access. Click the API Documentation link.
+The API Documentation is Swagger-based, which provides a brief description and usage information for the API and allows you to try it out in your environment.

+
+
+
+
+

API Access Tokens

+
+
+

Before using the Workload Security API, you must create one or more API Access Tokens. Access tokens grant read permissions. You can also set the expiration for each access token.

+
+
+

To create an Access Token:

+
+
+
    +
  • +

    Click Admin > API Access

    +
  • +
  • +

    Click +API Access Token

    +
  • +
  • +

    Enter Token Name

    +
  • +
  • +

    Specify Token Expiration

    +
  • +
+
+
+ + + + + +
+Note + +Your token will only be available for copying to the clipboard and saving during the creation process. Tokens can not be retrieved after they are created, so it is highly recommended to copy the token and save it in a secure location. You will be prompted to click the Copy API Access Token button before you can close the token creation screen. +
+
+
+

You can disable, enable, and revoke tokens. Tokens that are disabled can be enabled.

+
+
+

Tokens grant general purpose access to APIs from a customer perspective, managing access to APIs in the scope of their own environment.

+
+
+

The application receives an Access Token after a user successfully authenticates and authorizes access, then passes the Access Token as a credential when it calls the target API. The passed token informs the API that the bearer of the token has been authorized to access the API and perform specific actions based on the scope that was granted during authorization.

+
+
+

The HTTP header where the Access Token is passed is X-CloudInsights-ApiKey:

+
+
+

For example, use the following to retrieve storages assets:

+
+
+
+
curl https://<tenant_host_name>/rest/v1/cloudsecure/activities -H 'X-CloudInsights-ApiKey: <API_Access_Token>'
+
+
+
+

Where <API_Access_Token> is the token you saved during API access key creation.

+
+
+

Detailed information can be found in the API Documentation link under Admin > API Access.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_cs_attack_simulator.html b/concept_cs_attack_simulator.html new file mode 100644 index 0000000000..d82d9d1a3e --- /dev/null +++ b/concept_cs_attack_simulator.html @@ -0,0 +1,4402 @@ + + + + Workload Security: Simulating an Attack + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Workload Security: Simulating an Attack

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

You can use the instructions on this page to simulate an attack for testing or demonstrating Workload Security using the included Ransomware Simulation script.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+
+
+

Things to note before you begin

+
+
+
    +
  • +

    The ransomware simulation script works on Linux only.

    +
  • +
  • +

    The script is provided with the Workload Security agent installation files. It is available on any machine that has a Workload Security agent installed.

    +
  • +
  • +

    You can run the script on the Workload Security agent machine itself; there is no need to prepare another Linux machine. However, if you prefer to run the script on another system, simply copy the script and run it there.

    +
  • +
+
+
+
+
+

Have at least 1,000 sample files

+
+
+

This script should run on an SVM with a folder that has files to encrypt. We recommend having at least 1,000 files within that folder and any sub-folders. The files must not be empty.
+Do not create the files and encrypt them using the same user. Workload Security considers this a low-risk activity and will therefore not generate an alert (i.e. the same user modifies files he/she/they just created).

+
+
+

See below for instructions to programmatically create non-empty files.

+
+
+
+
+

Guidelines before you run the simulator:

+
+
+
    +
  1. +

    Make sure encrypted files are not empty.

    +
  2. +
  3. +

    Make sure you encrypt > 50 files. A small number of files will be ignored.

    +
  4. +
  5. +

    Do not run an attack with the same user multiple times. After a few times, Workload Security will learn this user behavior and assume it is the user's normal behavior.

    +
  6. +
  7. +

    Do not encrypt files the same user has just created. Changing a file that was just created by a user is not considered a risky activity. Instead, use files created by another user OR wait for a few hours between creating the files and encrypting them.

    +
  8. +
+
+
+
+
+

Prepare the system

+
+
+

First, mount the target volume to machine. You can mount either an NFS mount or CIFs export.

+
+
+

To mount NFS export in Linux:

+
+
+
+
mount -t nfs -o vers=4.0 10.193.177.158:/svmvol1 /mntpt
+mount -t nfs -o vers=4.0 Vserver data IP>:/nfsvol /destinationlinuxfolder
+
+
+
+

Do not mount NFS version 4.1; it is not supported by Fpolicy.

+
+
+

To mount CIFs in Linux:

+
+
+
+
mount -t cifs //10.193.77.91/sharedfolderincluster /root/destinationfolder/ -o username=raisa
+
+
+
+

Next, set up a Data Collector:

+
+
+
    +
  1. +

    Configure the Workload Security agent if not already done.

    +
  2. +
  3. +

    Configure SVM data collector if not already done.

    +
  4. +
+
+
+
+
+

Run the Ransomware Simulator script

+
+
+
    +
  1. +

    Log in (ssh) to the Workload Security agent machine.

    +
  2. +
  3. +

    Navigate to: /opt/netapp/cloudsecure/agent/install

    +
  4. +
  5. +

    Call the simulator script without parameters to see usage:

    +
    +
    +
    # pwd
    +/opt/netapp/cloudsecure/agent/install
    +# ./ransomware_simulator.sh
    +Error: Invalid directory  provided.
    +Usage: ./ransomware_simulator.sh [-e] [-d] [-i <input_directory>]
    +       -e to encrypt files (default)
    +       -d to restore files
    +       -i <input_directory> - Files under the directory to be encrypted
    +
    +
    +
    +
    +
    Encrypt command example: ./ransomware_simulator.sh -e -i /mnt/audit/reports/
    +Decrypt command example: ./ransomware_simulator.sh -d -i /mnt/audit/reports/
    +
    +
    +
  6. +
+
+
+
+
+

Encrypt your test files

+
+
+

To encrypt the files, run the following command:

+
+
+
+
# ./ransomware_simulator.sh -e -i /root/for/
+Encryption key is saved in /opt/netapp/cloudsecure/cloudsecure-agent-1.251.0/install/encryption-key,
+which can be used for restoring the files.
+Encrypted /root/for/File000.txt
+Encrypted /root/for/File001.txt
+Encrypted /root/for/File002.txt
+...
+
+
+
+
+
+

Restore files

+
+
+

To decrypt, run the following command:

+
+
+
+
[root@scspa2527575001 install]# ./ransomware_simulator.sh -d -i /root/for/
+File /root/for/File000.txt is restored.
+File /root/for/File001.txt is restored.
+File /root/for/File002.txt is restored.
+...
+
+
+
+
+
+

Run the script multiple times

+
+
+

After generating a ransomware attack for a user, switch to another user in order to generate an additional attack.
+Workload Security learns user behavior and will not alert on repeated ransomware attacks within a short duration for the same user.

+
+
+
+
+

Create files programmatically

+
+
+

Before creating the files, you must first stop or pause the data collector processing.
+Perform the steps below before you add the data collector to the Agent. If you have already added the data collector, just edit the data collector, enter an invalid password, and save it. This will temporarily put the data collector in error state. NOTE: Be sure you note the original password!

+
+
+ + + + + +
+Note + +The recommended option is to pause the collector before creating your files.] +
+
+
+

Before running the simulation, you must first add files to be encrypted. You can either manually copy the files to be encrypted into the target folder, or use a script (see the example below) to programmatically create the files. Whichever method you use, copy at least 1,000 files.

+
+
+

If you choose to programmatically create the files, do the following:

+
+
+
    +
  1. +

    Log into the Agent box.

    +
  2. +
  3. +

    Mount an NFS export from the SVM of the filer to the Agent machine. Cd to that folder.

    +
  4. +
  5. +

    In that folder create a file named createfiles.sh

    +
  6. +
  7. +

    Copy the following lines to that file.

    +
    +
    +
    for i in {000..1000}
    +do
    +   echo hello > "File${i}.txt"
    +done
    +echo 3 > /proc/sys/vm/drop_caches ; sync
    +
    +
    +
  8. +
  9. +

    Save the file.

    +
  10. +
  11. +

    Ensure execute permission on the file:

    +
    +
    +
    chmod 777 ./createfiles.sh
    +
    +
    +
  12. +
  13. +

    Execute the script:

    +
    +
    +
    ./createfiles.sh
    +
    +
    +
    +

    1000 files will be created in the current folder.

    +
    +
  14. +
  15. +

    Re-enable the data collector

    +
    +

    If you disabled the data collector in step 1, edit the data collector, enter the correct password, and save. Make sure that the data collector is back in running state.

    +
    +
  16. +
  17. +

    If you paused the collector before following these steps, be sure to resume the collector.

    +
  18. +
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_cs_event_rate_checker.html b/concept_cs_event_rate_checker.html new file mode 100644 index 0000000000..d2858ef569 --- /dev/null +++ b/concept_cs_event_rate_checker.html @@ -0,0 +1,4402 @@ + + + + SVM Event Rate Checker (Agent Sizing Guide) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

SVM Event Rate Checker (Agent Sizing Guide)

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Event Rate Checker is used to check the NFS/SMB combined event rate in the SVM before installing an ONTAP SVM data collector, to see how many SVMs one Agent machine will be able to monitor. Use the Event Rate Checker as a sizing guide to help plan your security environment.

+
+
+

An Agent can support up to a maximum of 50 data collectors.

+
+
+
+
+

Requirements:

+
+
+
    +
  • +

    Cluster IP

    +
  • +
  • +

    Cluster admin username and password

    +
  • +
+
+
+ + + + + +
+Note + +When running this script no ONTAP SVM Data Collector should be running for the SVM for which event rate is being determined. +
+
+
+

Steps:

+
+
+
    +
  1. +

    Install the Agent by following the instructions in CloudSecure.

    +
  2. +
  3. +

    Once the agent is installed, run the server_data_rate_checker.sh script as a sudo user:

    +
    +
    +
    /opt/netapp/cloudsecure/agent/install/svm_event_rate_checker.sh
    +
    +
    +
  4. +
  5. +

    This script requires sshpass to be installed in the linux machine. There are two ways to install it:

    +
    +
      +
    1. +

      Run the following command:

      +
      +
      +
      linux_prompt> yum install sshpass
      +
      +
      +
    2. +
    3. +

      If that does not work, then download sshpass to the linux machine from the web and run the following command:

      +
      +
      +
      linux_prompt> rpm -i sshpass
      +
      +
      +
    4. +
    +
    +
  6. +
  7. +

    Provide the correct values when prompted. See below for an example.

    +
  8. +
  9. +

    The script will take approximately 5 minutes to run.

    +
  10. +
  11. +

    After the run is complete, the script will print the event rate from the SVM. You can check Event rate per SVM in the console output:

    +
    +
    +
    “Svm svm_rate is generating 100 events/sec”.
    +
    +
    +
  12. +
+
+
+

Each Ontap SVM Data Collector can be associated with a single SVM, which means each data collector will be able to receive the number of events which a single SVM generates.

+
+
+

Keep the following in mind:

+
+
+

A) Use this table as a general sizing guide. You can increase the number of cores and/or memory to increase the number of data collectors supported, up to a maximum of 50 data collectors:

+
+ +++++ + + + + + + + + + + + + + + + + + +

Agent Machine Configuration

Number of SVM Data Collectors

Max event Rate which the Agent Machine can handle

4 core, 16GB

10 data collectors

20K events/sec

4 core, 32GB

20 data collectors

20K events/sec

+
+

B) To calculate your total events, add the Events generated for all SVMs for that agent.

+
+
+

C) If the script is not run during peak hours or if peak traffic is difficult to predict, then keep an event rate buffer of 30%.

+
+
+

B + C Should be less than A, otherwise the Agent machine will fail to monitor.

+
+
+

In other words, the number of data collectors which can be added to a single agent machine should comply to the formula below:

+
+
+
+
Sum of all Event rate of all Data Source Collectors + Buffer Event rate of 30% < 20000 events/second
+
+
+
+

See the Agent Requirements page for additional pre-requisites and requirements.

+
+
+
+
+

Example

+
+
+

Let us say we have three SVMS generating event rates of 100, 200, and 300 events per second, respectively.

+
+
+

We apply the formula:

+
+
+
+
 (100+200+300) + [(100+200+300)*30%] = 600+180 = 780events/sec
+780 events/second is < 20000 events/second, so the 3 SVMs can be monitored via one agent box.
+
+
+
+

Console output is available in the Agent machine in the file name fpolicy_stat_<SVM Name>.log in the present working directory.

+
+
+

The script may give erroneous results in the following cases:

+
+
+
    +
  • +

    Incorrect credentials, IP, or SVM name are provided.

    +
  • +
  • +

    An already-existing fpolicy with same name, sequence number, etc. will give error.

    +
  • +
  • +

    The script is stopped abruptly while running.

    +
  • +
+
+
+

An example script run is shown below:

+
+
+
+
[root@ci-cs-data agent]# /opt/netapp/cloudsecure/agent/install/svm_event_rate_checker.sh
+
+
+
+
+
Enter the cluster ip: 10.192.139.166
+Enter the username to SSH: admin
+Enter the password:
+Getting event rate for NFS and SMB events.
+Available SVMs in the Cluster
+-----------------------------
+QA_SVM
+Stage_SVM
+Qa-fas8020
+Qa-fas8020-01
+Qa-fas8020-02
+audit_svm
+svm_rate
+vs_new
+vs_new2
+
+
+
+
+
-----------------------------
+Enter [1/5] SVM name to check (press enter to skip): svm_rate
+Enter [2/5] SVM name to check (press enter to skip): audit_svm
+Enter [3/5] SVM name to check (press enter to skip):
+Enter [4/5] SVM name to check (press enter to skip):
+Enter [5/5] SVM name to check (press enter to skip):
+Running check for svm svm_rate...
+Running check for svm audit_svm...
+Waiting 5 minutes for stat collection
+Stopping sample svm_rate_sample
+Stopping sample audit_svm_sample
+fpolicy stats of svm svm_rate is saved in fpolicy_stat_svm_rate.log
+Svm svm_rate is generating 100 SMB events/sec and 100 NFS events/sec
+Overall svm svm_rate is generating 200 events/sec
+fpolicy stats of svm audit_svm is saved in fpolicy_stat_audit_svm.log
+Svm audit_svm is generating 200 SMB events/sec and 100 NFS events/sec
+Overall svm audit_svm is generating 300 events/sec
+
+
+
+
+
[root@ci-cs-data agent]#
+
+
+
+
+
+

Troubleshooting

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Question

Answer

If I run this script on an SVM that is already configured for Workload Security, does it just use the existing fpolicy config on the SVM or does it setup a temporary one and run the process?

The Event Rate Checker can run fine even for an SVM already configured for Workload Security. There should be no impact.

Can I increase the number of SVMs on which the script can be run?

Yes. Simply edit the script and change the max number of SVMs from 5 to any desirable number.

If I increase the number of SVMs, will it increase the time of running of the script?

No. The script will run for a max of 5 minutes, even if the number of SVMs is increased.

Can I increase the number of SVMs on which the script can be run?

Yes. You need to edit the script and change the max number of SVMs from 5 to any desirable number.

If I increase the number of SVMs, will it increase the time of running of the script?

No. The script will run for a max of 5mins, even if the number of SVMs are increased.

What happens if I run the Event Rate Checker with an existing agent?

Running the Event Rate Checker against an already-existing agent may cause an increase in latency on the SVM. This increase will be temporary in nature while the Event rate Checker is running.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_cs_integration_with_ontap_arp.html b/concept_cs_integration_with_ontap_arp.html new file mode 100644 index 0000000000..f7e48f7936 --- /dev/null +++ b/concept_cs_integration_with_ontap_arp.html @@ -0,0 +1,4263 @@ + + + + Integration with ONTAP Autonomous Ransomware Protection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Integration with ONTAP Autonomous Ransomware Protection

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The ONTAP Autonomous Ransomware Protection (ARP) feature uses workload analysis in NAS (NFS and SMB) environments to proactively detect and warn about abnormal in-file activity that might indicate a ransomware attack.

+
+
+

Additional details and license requirements about ARP can be found here.

+
+
+

Workload Security integrates with ONTAP to receive ARP events and provide an additional analytics and automatic responses layer.

+
+
+

Workload Security receives the ARP events from ONTAP and takes the following actions:

+
+
+
    +
  1. +

    Correlates volume encryption events with user activity to identify who is causing the damage.

    +
  2. +
  3. +

    Implements automatic response policies (if defined)

    +
  4. +
  5. +

    Provides forensics capabilities:

    +
    +
      +
    • +

      Allow customers to conduct data breach investigations.

      +
    • +
    • +

      Identify what files were affected, helping to recover faster and conduct data breach investigations.

      +
    • +
    +
    +
  6. +
+
+
+
+
+

Prerequisites

+
+
+
    +
  1. +

    Minimum ONTAP version: 9.11.1

    +
  2. +
  3. +

    ARP enabled volumes. Details on enabling ARP can be found here. ARP must be enabled via OnCommand System Manager. Workload Security cannot enable ARP.

    +
  4. +
  5. +

    Workload Security collector should be added via cluster IP.

    +
  6. +
  7. +

    Cluster level credentials are needed for this feature to work. In other words, cluster level credentials must be used when adding the SVM.

    +
  8. +
+
+
+
+
+

User permissions required

+
+
+

If you are using cluster administration credentials, no new permissions are needed.

+
+
+

If you are using a custom user (for example, csuser) with permissions given to the user, then follow the steps below to give permissions to Workload Security to collect ARP related information from ONTAP.

+
+
+

For csuser with cluster credentials, do the following from the ONTAP command line:

+
+
+
+
security login rest-role create -role arwrole -api /api/storage/volumes -access readonly -vserver <cluster_name>
+security login rest-role create -api /api/security/anti-ransomware -access readonly  -role arwrole -vserver <cluster_name>
+security login create -user-or-group-name csuser -application http -authmethod password -role arwrole
+
+
+
+

Read more about configuring other ONTAP permissions.

+
+
+
+
+

Sample Alert

+
+
+

A sample alert generated due to ARP event is shown below:

+
+
+

Ransomware Alert top section
+Ransomware Alert top section
+Ransomware Alert top section

+
+
+

A high confidence banner indicates the attack has shown ransomware behavior along with file encryption activities.
+The encrypted files graph indicates the timestamp at which the volume encryption activity was detected by the ARP solution.

+
+
+
+
+

Limitations

+
+
+

In the case where an SVM is not monitored by Workload Security, but there are ARP events generated by ONTAP, the events will still be received and displayed by Workload Security. However, Forensic information related to the alert, as well as user mapping, will not be captured or shown.

+
+
+
+
+

Troubleshooting

+
+
+

Known problems and their resolutions are described in the following table.

+
+ ++++ + + + + + + + + + + + + +
Problem:Resolution:

Email alerts are received 24 hrs after an attack is detected. In the UI, the alerts are shown 24 hrs before that when the emails are received by Cloud Insights Workload Security.

When ONTAP sends the Ransomware Detected Event to Cloud Insights Workload Security (i.e. Workload Security), the email is sent. The Event contains a list of attacks and its timestamps. The Workload Security UI displays the alert timestamp of the first file attacked. ONTAP sends the Ransomware Detected Event to Cloud Insights when a certain number of files are encoded.
+Therefore, there may be a difference between the time the alert is displayed in the UI and the time the email is sent.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_dashboard_best_practices.html b/concept_dashboard_best_practices.html new file mode 100644 index 0000000000..9932838cfc --- /dev/null +++ b/concept_dashboard_best_practices.html @@ -0,0 +1,4335 @@ + + + + Best Practices for Dashboards and Widgets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Best Practices for Dashboards and Widgets

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Tips and tricks to help you get the most out of the powerful features of dashboards and widgets.

+
+
+
+
+

Finding the Right Metric

+
+
+

Cloud Insights acquires counters and metrics using names that sometimes differ from data collector to data collector.

+
+
+

When searching for the right metric or counter for your dashboard widget, keep in mind that the metric you want could be under a different name from the one you are thinking of. While drop-down lists in Cloud Insights are usually alphabetical, sometimes a term may not show up in the list where you think it should. For example, terms like "raw capacity" and "used capacity" do not appear together in most lists.

+
+
+

Best practice: Use the search feature in fields such as Filter by or places like the column selector to find what you are looking for. For example, searching for "cap" will show all metrics with "capacity" in their names, no matter where they occur in the list. You can then easily select the metrics you want from that shorter list.

+
+
+

Here are a few alternative phrases you can try when searching for metrics:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

When you want to find:

Try also searching for:

CPU

Processor

Capacity

Used capacity
+Raw capacity
+Provisioned capacity
+Storage pools capacity
+<other asset type> capacity
+Written capacity

Disk Speed

Lowest disk speed
+Least performing disk type

Host

Hypervisor
+Hosts

Hypervisor

Host
+Is hypervisor

Microcode

Firmware

Name

Alias
+Hypervisor name
+Storage name
+<other asset type> name
+Simple name
+Resource name
+Fabric Alias

Read / Write

Partial R/W
+Pending writes
+IOPS - Write
+Written capacity
+Latency - Read
+Cache utilization - read

Virtual Machine

VM
+Is virtual

+
+

This is not a comprehensive list. These are examples of possible search terms only.

+
+
+
+
+

Finding the Right Assets

+
+
+

The assets you can reference in widget filters and searches vary from asset type to asset type.

+
+
+

In dashboards and asset pages, the asset type around which you are building your widget determines the other asset type counters for which you can filter or add a column. Keep the following in mind when building your widget:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +

This asset type / counter:

Can be filtered for under these assets:

Virtual Machine

VMDK

Datastore(s)

Internal Volume
+VMDK
+Virtual Machine
+Volume

Hypervisor

Virtual Machine
+Is hypervisor
+Host

Host(s)

Internal Volume
+Volume
+Cluster Host
+Virtual Machine

Fabric

Port

+
+

This is not a comprehensive list.

+
+
+

Best practice: If you are filtering for a particular asset type that does not appear in the list, try building your query around an alternate asset type.

+
+
+
+
+

Scatter Plot Example: Knowing your Axis

+
+
+

Changing the order of counters in a scatter plot widget changes the axes on which the data is displayed.

+
+
+
About this task
+

This example will create a scatter plot that will allow you to see under-performing VMs that have high latency compared to low IOPS.

+
+
+
Steps
+
    +
  1. +

    Create or open a dashboard in edit mode and add a Scatter Plot Chart widget.

    +
  2. +
  3. +

    Select an asset type, for example, Virtual Machine.

    +
  4. +
  5. +

    Select the first counter you wish to plot. For this example, select Latency - Total.

    +
    +

    Latency - Total is charted along the X-axis of the chart.

    +
    +
  6. +
  7. +

    Select the second counter you wish to plot. For this example, select IOPS - Total.

    +
    +

    IOPS - Total is charted along the Y-axis in the chart. VMs with higher latency display on the right side of the chart. Only the top 100 highest-latency VMs are displayed, because the Top by X-axis setting is current.

    +
    +
    +

    ScatterPlot example 1

    +
    +
  8. +
  9. +

    Now reverse the order of the counters by setting the first counter to IOPS - Total and the second to Latency - Total.

    +
    +

    Latency- Total is now charted along the Y-axis in the chart, and IOPS - Total along the X-axis. VMs with higher IOPS now display on the right side of the chart.

    +
    +
    +

    Note that because we haven't changed the Top by X-Axis setting, the widget now displays the top 100 highest-IOPS VMs, since this is what is currently plotted along the X-axis.

    +
    +
    +

    ScatterPlot example 2

    +
    +
  10. +
+
+
+

You can choose for the chart to display the Top N by X-axis, Top N by Y-axis, Bottom N by X-axis, or Bottom N by Y-axis. In our final example, the chart is displaying the Top 100 VMs that have the highest total IOPS. If we change it to Top by Y-axis, the chart will once again display the top 100 VMs that have the highest total latency.

+
+
+

Note that in a scatter plot chart, you can click on a point to drill down to the asset page for that resource.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_dashboard_features.html b/concept_dashboard_features.html new file mode 100644 index 0000000000..cfa92c9f3a --- /dev/null +++ b/concept_dashboard_features.html @@ -0,0 +1,5599 @@ + + + + Dashboard Features + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Dashboard Features

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+ +
+

Widget Naming

+
+
+

Widgets are automatically named based on the object, metric, or attribute selected for the first widget query. If you also choose a grouping for the widget, the "Group by" attributes are included in the automatic naming (aggregation method and metric).

+
+
+

Widget Naming Example

+
+
+

Selecting a new object or grouping attribute updates the automatic name.

+
+
+

If you do not want to use the automatic widget name, you can simply type a new name.

+
+
+
+
+

Widget Placement and Size

+
+
+

All dashboard widgets can be positioned and sized according to your needs for each particular dashboard.

+
+
+
+
+

Duplicating a Widget

+
+
+

In dashboard Edit mode, click the menu on the widget and select Duplicate. The widget editor is launched, pre-filled with the original widget's configuration and with a “copy” suffix in the widget name. You can easily make any necessary changes and Save the new widget. The widget will be placed at the bottom of your dashboard, and you can position it as needed. Remember to Save your dashboard when all changes are complete.

+
+
+

Duplicate a widget

+
+
+
+
+

Displaying Widget Legends

+
+
+

Most widgets on dashboards can be displayed with or without legends. Legends in widgets can be turned on or off on a dashboard by either of the following methods:

+
+
+
    +
  • +

    When displaying the dashboard, click the Options button on the widget and select Show Legends in the menu.

    +
  • +
+
+
+

As the data displayed in the widget changes, the legend for that widget is updated dynamically.

+
+
+

When legends are displayed, if the landing page of the asset indicated by the legend can be navigated to, the legend will display as a link to that asset page. If the legend displays "all", clicking the link will display a query page corresponding to the first query in the widget.

+
+
+
+
+

Transforming Metrics

+
+
+

Cloud Insights provides different transform options for certain metrics in widgets (specifically, those metrics called "Custom" or Integration Metrics, such as from Kubernetes, ONTAP Advanced Data, Telegraf plugins, etc.), allowing you to display the data in a number of ways. When adding transformable metrics to a widget, you are presented with a drop-down giving the following transform choices:

+
+
+
+
None
+
+

Data is displayed as is, with no manipulation.

+
+
Rate
+
+

Current value divided by the time range since the previous observation.

+
+
Cumulative
+
+

The accumulation of the sum of previous values and the current value.

+
+
Delta
+
+

The difference between the previous observation value and the current value.

+
+
Delta rate
+
+

Delta value divided by the time range since the previous observation.

+
+
Cumulative Rate
+
+

Cumulative value divided by the time range since the previous observation.

+
+
+
+
+

Note that transforming metrics does not change the underlying data itself, but only the way that data is displayed.

+
+
+
+
+

Dashboard widget queries and filters

+
+
+

Queries

+
+

The Query in a dashboard widget is a powerful tool for managing the display of your data. Here are some things to note about widget queries.

+
+
+

Some widgets can have up to five queries. Each query will plot its own set of lines or graphs in the widget. Setting rollup, grouping, top/bottom results, etc. on one query does not affect any other queries for the widget.

+
+
+

You can click on the eye icon to temporarily hide a query. The widget display updates automatically when you hide or show a query. This allows you to check your displayed data for individual queries as you build your widget.

+
+
+

The following widget types can have multiple queries:

+
+
+
    +
  • +

    Area chart

    +
  • +
  • +

    Stacked area chart

    +
  • +
  • +

    Line chart

    +
  • +
  • +

    Spline chart

    +
  • +
  • +

    Single value widget

    +
  • +
+
+
+

The remaining widget types can have only a single query:

+
+
+
    +
  • +

    Table

    +
  • +
  • +

    Bar chart

    +
  • +
  • +

    Box plot

    +
  • +
  • +

    Scatter plot

    +
  • +
+
+
+
+

Filtering in dashboard widget queries

+
+

Here are some things you can do to get the most out of your filters.

+
+
+

Exact Match Filtering

+
+

If you enclose a filter string in double quotes, Insight treats everything between the first and last quote as an exact match. Any special characters or operators inside the quotes will be treated as literals. For example, filtering for "*" will return results that are a literal asterisk; the asterisk will not be treated as a wildcard in this case. The operators AND, OR, and NOT will also be treated as literal strings when enclosed in double quotes.

+
+
+

You can use exact match filters to find specific resources, for example hostname. If you want to find only the hostname 'marketing' but exclude 'marketing01', 'marketing-boston', etc., simply enclose the name "marketing" in double quotes.

+
+
+
+

Wildcards and Expressions

+
+

When you are filtering for text or list values in queries or dashboard widgets, as you begin typing you are presented with the option to create a wildcard filter based on the current text. Selecting this option will return all results that match the wildcard expression. You can also create expressions using NOT or OR, or you can select the "None" option to filter for null values in the field.

+
+
+

Wildcard Filter

+
+
+

Filters based on wildcards or expressions (e.g. NOT, OR, "None", etc.) display in dark blue in the filter field. Items that you select directly from the list are displayed in light blue.

+
+
+

Wildcard Filter Results

+
+
+

Note that Wildcard and Expression filtering works with text or lists but not with numerics, dates or booleans.

+
+
+
+

Advanced Text Filtering with Contextual Type-Ahead Suggestions

+
+

Filtering in widget queries is contextual; when you select a filter value or values for a field, the other filters for that query will show values relevant to that filter.
+For example, when setting a filter for a specific object Name, the field to filter for Model will only show values relevant to that object Name.

+
+
+

Contextual filtering also applies to dashboard page variables (text-type attributes or annotations only). When you select a filer value for one variable, any other variables using related objects will only show possible filter values based on the context of those related variables.

+
+
+

Note that only Text filters will show contextual type-ahead suggestions. Date, Enum (list), etc. will not show type-ahead suggestions. That said, you can set a filter on an Enum (i.e. list) field and have other text fields be filtered in context. For example, selecting a value in an Enum field like Data Center, then other filters will show only the models/names in that data center), but not vice-versa.

+
+
+

The selected time range will also provide context for the data shown in filters.

+
+
+
+

Choosing the filter units

+
+

As you type a value in a filter field, you can select the units in which to display the values on the chart. For example, you can filter on raw capacity and choose to display in the deafult GiB, or select another format such as TiB. This is useful if you have a number of charts on your dashboard showing values in TiB and you want all your charts to show consistent values.

+
+
+

selecting units in a filter

+
+
+
+

Additional Filtering Refinements

+
+

The following can be used to further refine your filters.

+
+
+
    +
  • +

    An asterisk enables you to search for everything. For example,

    +
    +
    +
    vol*rhel
    +
    +
    +
    +

    displays all resources that start with "vol" and end with "rhel".

    +
    +
  • +
  • +

    The question mark enables you to search for a specific number of characters. For example,

    +
    +
    +
    BOS-PRD??-S12
    +
    +
    +
    +

    displays BOS-PRD12-S12, BOS-PRD13-S12, and so on.

    +
    +
  • +
  • +

    The OR operator enables you to specify multiple entities. For example,

    +
    +
    +
    FAS2240 OR CX600 OR FAS3270
    +
    +
    +
    +

    finds multiple storage models.

    +
    +
  • +
  • +

    The NOT operator allows you to exclude text from the search results. For example,

    +
    +
    +
    NOT EMC*
    +
    +
    +
    +

    finds everything that does not start with "EMC". You can use

    +
    +
    +
    +
    NOT *
    +
    +
    +
    +

    to display fields that contain no value.

    +
    +
  • +
+
+
+
+
+

Identifying objects returned by queries and filters

+
+

The objects returned by queries and filters look similar to those shown in the following illustration. Objects with 'tags' assigned to them are annotations while the objects without tags are performance counters or object attributes.

+
+
+

Objects returned by filters

+
+
+
+
+
+

Grouping and Aggregation

+
+
+

Grouping (Rolling Up)

+
+

Data displayed in a widget is grouped (sometimes called rolled-up) from the underlying data points collected during acquisition. For example, if you have a line chart widget showing Storage IOPS over time, you might want to see a separate line for each of your data centers, for a quick comparison. You can choose to group this data in one of several ways:

+
+
+
    +
  • +

    Average: displays each line as the average of the underlying data.

    +
  • +
  • +

    Maximum: displays each line as the maximum of the underlying data.

    +
  • +
  • +

    Minimum: displays each line as the minimum of the underlying data.

    +
  • +
  • +

    Sum: displays each line as the sum of the underlying data.

    +
  • +
  • +

    Count: displays a count of objects that have reported data within the specified time frame. You can choose the Entire Time Window as determined by the dashboard time range (or the widget time range, if set to override the dashboard time), or a Custom Time Window that you select.

    +
  • +
+
+
+
Steps
+

To set the grouping method, do the following.

+
+
+
    +
  1. +

    In your widget's query, choose an asset type and metric (for example, Storage) and metric (such as Performance IOPS Total).

    +
  2. +
  3. +

    For Group, choose a roll up method (such as Average) and select the attributes or metrics by which to roll up the data (for example, Data Center).

    +
    +

    The widget updates automatically and shows data for each of your data centers.

    +
    +
  4. +
+
+
+

You can also choose to group all of the underlying data into the chart or table. In this case, you will get a single line for each query in the widget, which will show the average, min, max, sum, or count of the chosen metric or metrics for all of the underlying assets.

+
+
+

Clicking the legend for any widget whose data is grouped by "All" opens a query page showing the results of the first query used in the widget.

+
+
+

If you have set a filter for the query, the data is grouped based on the filtered data.

+
+
+

Note that when you choose to group a widget by any field (for example, Model), you will still need to Filter by that field in order to properly display the data for that field on the chart or table.

+
+
+
+

Aggregating data

+
+

You can further align your time-series charts (line, area, etc.) by aggregating data points into minute, hour, or day buckets before that data is subsequently rolled up by attribute (if chosen). You can choose to aggregate data points according to their Average, Maximum, Minimum, Sum, or Count.

+
+
+

A small interval combined with a long time range may result in an "Aggregation interval resulted in too many data points." warning. You might see this if you have a small interval and increase the dashboard time frame to 7 days. In this case, Insight will temporarily increase the aggregation interval until you select a smaller time frame.

+
+
+

You can also aggregate data in the bar chart widget and single-value widget.

+
+
+

Most asset counters aggregate to Average by default. Some counters aggregate to Max, Min, or Sum by default. For example, port errors aggregate to Sum by default, where storage IOPS aggregate to Average.

+
+
+
+
+
+

Showing Top/Bottom Results

+
+
+

In a chart widget, you can show either the Top or Bottom results for rolled up data, and choose the number of results shown from the drop-down list provided. In a table widget, you can sort by any column.

+
+
+

Chart widget top/bottom

+
+

In a chart widget, when you choose to rollup data by a specific attribute, you have the option of viewing either the top N or bottom N results. Note that you cannot choose the top or bottom results when you choose to rollup by all attributes.

+
+
+

You can choose which results to display by choosing either Top or Bottom in the query's Show field, and selecting a value from the list provided.

+
+
+
+

Table widget show entries

+
+

In a table widget, you can select the number of results shown in the table results. You are not given the option to choose top or bottom results because the table allows you to sort ascending or descending by any column on demand.

+
+
+

You can choose the number of results to show in the table on the dashboard by selecting a value from the query's Show entries field.

+
+
+
+
+
+

Grouping in Table Widget

+
+
+

Data in a table widget can be grouped by any available attribute, allowing you to see an overview of your data, and to drill-down into it for more detail. Metrics in the table are rolled up for easy viewing in each collapsed row.

+
+
+

Table widgets allow you to group your data based on the attributes you set. For example, you might want your table to show total storage IOPS grouped by the data centers in which those storages live. Or you might want to display a table of virtual machines grouped according to the hypervisor that hosts them. From the list, you can expand each group to view the assets in that group.

+
+
+

Grouping is only available in the Table widget type.

+
+
+

Grouping example (with rollup explained)

+
+

Table widgets allow you to group data for easier display.

+
+
+

In this example, we will create a table widget showing all VMs grouped by Data Center.

+
+
+
Steps
+
    +
  1. +

    Create or open a dashboard, and add a Table widget.

    +
  2. +
  3. +

    Select Virtual Machine as the asset type for this widget.

    +
  4. +
  5. +

    Click on the Column Selector and choose Hypervisor name and IOPS - Total.

    +
    +

    Those columns are now displayed in the table.

    +
    +
  6. +
  7. +

    Let's disregard any VM's with no IOPS, and include only VMs that have total IOPS greater than 1. Click the Filter by [+] button and select IOPS - Total. Click on Any, and in the from field, type 1. Leave the to field empty. Hit Enter ot click off the filter field to apply the filter.

    +
    +

    The table now shows all VMs with Total IOPS greater than or equal to 1. Notice that there is no grouping in the table. All VMs are shown.

    +
    +
  8. +
  9. +

    Click the Group by [+] button.

    +
    +

    You can group by any attribute or annotation shown. Choose All to display all VMs in a single group.

    +
    +
    +

    Any column header for a performance metric displays a "three dot" menu containing a Roll up option. The default roll up method is Average. This means that the number shown for the group is the average of all the Total IOPS reported for each VM inside the group. You can choose to roll this column up by Average, Sum, Minimum or Maximum. Any column that you display that contains performance metrics can be rolled up individually.

    +
    +
    +

    Roll Up

    +
    +
  10. +
  11. +

    Click All and select Hypervisor name.

    +
    +

    The VM list is now grouped by Hypervisor. You can expand each hypervisor to view the VMs hosted by it.

    +
    +
  12. +
  13. +

    Click Save to save the table to the dashboard. You can resize or move the widget as desired.

    +
  14. +
  15. +

    Click Save to save the dashboard.

    +
  16. +
+
+
+
+

Performance data roll up

+
+

If you include a column for performance data (for example, IOPS - Total) in a table widget, when you choose to group the data you can then choose a roll up method for that column. The default roll up method is to display the average (avg) of the underlying data in the group row. You can also choose to display the sum, minimum, or maximum of the data.

+
+
+
+
+
+

Dashboard time range selector

+
+
+

You can select the time range for your dashboard data. Only data relevant to the selected time range will be displayed in widgets on the dashboard. You can select from the following time ranges:

+
+
+
    +
  • +

    Last 15 Minutes

    +
  • +
  • +

    Last 30 Minutes

    +
  • +
  • +

    Last 60 Minutes

    +
  • +
  • +

    Last 2 Hours

    +
  • +
  • +

    Last 3 Hours (this is the default)

    +
  • +
  • +

    Last 6 Hours

    +
  • +
  • +

    Last 12 Hours

    +
  • +
  • +

    Last 24 Hours

    +
  • +
  • +

    Last 2 Days

    +
  • +
  • +

    Last 3 Days

    +
  • +
  • +

    Last 7 Days

    +
  • +
  • +

    Last 30 Days

    +
  • +
  • +

    Custom time range

    +
    +

    The Custom time range allows you to select up to 31 consecutive days. You can also set the Start Time and End Time of day for this range. The default Start Time is 12:00 AM on the first day selected and the default End Time is 11:59 PM on the last day selected. Clicking Apply will apply the custom time range to the dashboard.

    +
    +
  • +
+
+
+
+
+

Overriding Dashboard Time in Individual widgets

+
+
+

You can override the main dashboard time range setting in individual widgets. These widgets will display data based on their set time frame, not the dashboard time frame.

+
+
+

To override the dashboard time and force a widget to use its own time frame, in the widget's edit mode set the Override dashboard time to On (check the box), and select a time range for the widget. Save the widget to the dashboard.

+
+
+

The widget will display its data according to the time frame set for it, regardless of the time frame you select on the dashboard itself.

+
+
+

The time frame you set for one widget will not affect any other widgets on the dashboard.

+
+
+
+
+

Primary and Secondary Axis

+
+
+

Different metrics use different units of measurements for the data they report in a chart. For example, when looking at IOPS, the unit of measurement is the number of I/O operations per second of time (IO/s), while Latency is purely a measure of time (milliseconds, microseconds, seconds, etc.). When charting both metrics on a single line chart using a single set a values for the Y-Axis, the latency numbers (typically a handful of milliseconds) are charted on the same scale with the IOPS (typically numbering in the thousands), and the latency line gets lost at that scale.

+
+
+

But it is possible to chart both sets of data on a single meaningful graph, by setting one unit of measurement on the primary (left-side) Y-axis, and the other unit of measurement on the secondary (right-side) Y-axis. Each metric is charted at its own scale.

+
+
+
Steps
+

This example illustrates the concept of Primary and Secondary axes in a chart widget.

+
+
+
    +
  1. +

    Create or open a dashboard. Add a line chart, spline chart, area chart or stacked area chart widget to the dashboard.

    +
  2. +
  3. +

    Select an asset type (for example Storage) and choose IOPS - Total for your first metric. Set any filters you like, and choose a roll-up method if desired.

    +
    +

    The IOPS line is displayed on the chart, with its scale shown on the left.

    +
    +
  4. +
  5. +

    Click [+Query] to add a second line to the chart. For this line, choose Latency - Total for the metric.

    +
    +

    Notice that the line is displayed flat at the bottom of the chart. This is because it is being drawn at the same scale as the IOPS line.

    +
    +
  6. +
  7. +

    In the Latency query, select Y-Axis: Secondary.

    +
    +

    The Latency line is now drawn at its own scale, which is displayed on the right side of the chart.

    +
    +
  8. +
+
+
+
+Secondary Axis example +
+
+
+
+
+

Expressions in widgets

+
+
+

In a dashboard, any time series widget (line, spline, area, stacked area) bar chart, column chart, pie chart, or table widget allows you to build expressions from metrics you choose, and show the result of those expressions in a single graph (or column in the case of the table widget). The following examples use expressions to solve specific problems. In the first example, we want to show Read IOPS as a percentage of Total IOPS for all storage assets in our environment. The second example gives visibility into the "system" or "overhead" IOPS that occur in your environment—​those IOPS that are not directly from reading or writing data.

+
+
+

You can use variables in expressions (for example, $Var1 * 100)

+
+
+

Expressions Example: Read IOPS percentage

+
+

In this example, we want to show Read IOPS as a percentage of Total IOPS. You can think of this as the following formula:

+
+
+
+
Read Percentage = (Read IOPS / Total IOPS) x 100
+
+
+
+

This data can be shown in a line graph on your dashboard. To do this, follow these steps:

+
+
+
Steps
+
    +
  1. +

    Create a new dashboard, or open an existing dashboard in edit mode.

    +
  2. +
  3. +

    Add a widget to the dashboard. Choose Area chart.

    +
    +

    The widget opens in edit mode. By default, a query is displayed showing IOPS - Total for Storage assets. If desired, select a different asset type.

    +
    +
  4. +
  5. +

    Click the Convert to Expression link on the right.

    +
    +

    The current query is converted to Expression mode. Notice that you cannot change the asset type while in Expression mode. While you are in Expression mode, the link changes to Revert to Query. Click this if you wish to switch back to Query mode at any time. Be aware that switching between modes will reset fields to their defaults.

    +
    +
    +

    For now, stay in Expression mode.

    +
    +
  6. +
  7. +

    The IOPS - Total metric is now in the alphabetic variable field "a". In the "b" variable field, click Select and choose IOPS - Read.

    +
    +

    You can add up to a total of five alphabetic variables for your expression by clicking the + button following the variable fields. For our Read Percentage example, we only need Total IOPS ("a") and Read IOPS ("b").

    +
    +
  8. +
  9. +

    In the Expression field, you use the letters corresponding to each variable to build your expression. We know that Read Percentage = (Read IOPS / Total IOPS) x 100, so we would write this expression as:

    +
    +
    +
    (b / a) * 100
    +
    +
    +
  10. +
  11. +

    The Label field identifies the expression. Change the label to "Read Percentage", or something equally meaningful for you.

    +
  12. +
  13. +

    Change the Units field to "%" or "Percent".

    +
    +

    The chart displays the IOPS Read percentage over time for the chosen storage devices. If desired, you can set a filter, or choose a different rollup method. Be aware that if you select Sum as the rollup method, all percentage values are added together, which potentially may go higher than 100%.

    +
    +
  14. +
  15. +

    Click Save to save the chart to your dashboard.

    +
  16. +
+
+
+
+

Expressions example: "System" I/O

+
+

Example 2: Among the metrics collected from data sources are read, write, and total IOPS. However, the total number of IOPS reported by a data source sometimes includes "system" IOPS, which are those IO operations that are not a direct part of data reading or writing. This system I/O can also be thought of as "overhead" I/O, necessary for proper system operation but not directly related to data operations.

+
+
+

To show these system I/Os, you can subtract read and write IOPS from the total IOPS reported from acquisition. The formula might look like this:

+
+
+
+
System IOPS = Total IOPS - (Read IOPS + Write IOPS)
+
+
+
+

This data can then be shown in a line graph on your dashboard. To do this, follow these steps:

+
+
+
Steps
+
    +
  1. +

    Create a new dashboard, or open an existing dashboard in edit mode.

    +
  2. +
  3. +

    Add a widget to the dashboard. Choose Line chart.

    +
    +

    The widget opens in edit mode. By default, a query is displayed showing IOPS - Total for Storage assets. If desired, select a different asset type.

    +
    +
  4. +
  5. +

    In the Roll Up field, choose Sum by All.

    +
    +

    The Chart displays a line showing the sum of total IOPS.

    +
    +
  6. +
  7. +

    Click the Duplicate this Query icon Duplicat Query to create a copy of the query.

    +
    +

    A duplicate of the query is added below the original.

    +
    +
  8. +
  9. +

    In the second query, click the Convert to Expression button.

    +
    +

    The current query is converted to Expression mode. Click Revert to Query if you wish to switch back to Query mode at any time. Be aware that switching between modes will reset fields to their defaults.

    +
    +
    +

    For now, stay in Expression mode.

    +
    +
  10. +
  11. +

    The IOPS - Total metric is now in the alphabetic variable field "a". Click on IOPS - Total and change it to IOPS - Read.

    +
  12. +
  13. +

    In the "b" variable field, click Select and choose IOPS - Write.

    +
  14. +
  15. +

    In the Expression field, you use the letters corresponding to each variable to build your expression. We would write our expression simply as:

    +
    +
    +
    a + b
    +
    +
    +
    +

    In the Display section, choose Area chart for this expression.

    +
    +
  16. +
  17. +

    The Label field identifies the expression. Change the label to "System IOPS", or something equally meaningful for you.

    +
    +

    The chart displays the total IOPS as a line chart, with an area chart showing the combination of read and write IOPS below that. The gap between the two shows the IOPS that are not directly related to data read or write operations. These are your "system" IOPS.

    +
    +
  18. +
  19. +

    Click Save to save the chart to your dashboard.

    +
  20. +
+
+
+

To use a variable in an expression, simply type the variable name, for example, $var1 * 100. Only numeric variables can be used in expressions.

+
+
+
+

Expressions in a Table Widget

+
+

Table widgets handle expressions a little differently. You can have up to five expressions in a single table widget, each of which is added as a new column to the table. Each expression can include up to five values on which to perform its calculation. You can easily name the column something meaningful.

+
+
+

Expression in a Table Widget

+
+
+
+
+
+

Variables

+
+
+

Variables allow you to change the data displayed in some or all widgets on a dashboard at once. By setting one or more widgets to use a common variable, changes made in one place cause the data displayed in each widget to update automatically.

+
+
+

Dashboard variables come in several types, can be used across different fields, and must follow rules for naming. These concepts are explained here.

+
+
+

Variable types

+
+

A variable can be one the following types:

+
+
+
    +
  • +

    Attribute: Use an object's attributes or metrics to filter

    +
  • +
  • +

    Annotation: Use a pre-defined Annotation to filter widget data.

    +
  • +
  • +

    Text: An alphanumeric string.

    +
  • +
  • +

    Numerical: A number value. Use by itself, or as a "from" or "to" value, depending on your widget field.

    +
  • +
  • +

    Boolean: Use for fields with values of True/False, Yes/No, etc. For the boolean variable, the choices are Yes, No, None, Any.

    +
  • +
  • +

    Date: A date value. Use as a "from" or "to" value, depending on your widget's configuration.

    +
  • +
+
+
+

Variable Types

+
+
+

Attribute variables

+
+

Selecting an Attribute type variable allows you to filter for widget data containing the specified attribute value or values. The example below shows a line widget displaying free memory trends for Agent nodes. We have created a variable for Agent Node IPs, currently set to show all IPs:

+
+
+

Agent Nodes Before Variable Filter

+
+
+

But if you temporarily want to see only nodes on individual subnets in your environment, you can set or change the variable to a specific Agent Node IP or IPs. Here we are viewing only the nodes on the "123" subnet:

+
+
+

Agent Nodes After Variable Filter

+
+
+

You can also set a variable to filter on all objects with a particular attribute regardless of object type, for example objects with an attribute of "vendor", by specifying *.vendor in the variable field. You do not need to type the "*."; Cloud Insights will supply this if you select the wildcard option.

+
+
+

Attribute Variable for Vendor

+
+
+

When you drop-down the list of choices for the variable value, the results are filtered so show only the available vendors based on the objects on your dashboard.

+
+
+

Attribute Variable showing only available vendors

+
+
+

If you edit a widget on your dashboard where the attribute filter is relevant (meaning, the widget's objects contain any *.vendor attribute), it shows you that the attribute filter is automatically applied.

+
+
+

Attribute variable automatically applied

+
+
+

Applying variables is as easy as changing the attribute data of your choice.

+
+
+
+

Annotation variables

+
+

Choosing an Annotation variable allows you to filter for objects associated with that annotation, for example, those belonging to the same Data Center.

+
+
+

Annotation Filtering with Variable

+
+
+
+

Text, Number, Date, or Boolean variable

+
+

You can create generic variables that are not associated with a particular attribute by selecting a variable type of Text, Number, Boolean, or Date. Once the variable has been created, you can select it in a widget filter field. When setting a filter in a widget, in addition to specific values that you can select for the filter, any variables that have been created for the dashboard are displayed in the list—​these are grouped under the "Variables" section in the drop-down and have names starting with "$". Choosing a variable in this filter will allow you to search for values that you enter in the variable field on the dashboard itself. Any widgets using that variable in a filter will be updated dynamically.

+
+
+

Selecting a variable in a widget

+
+
+
+

Variable Filter Scope

+
+

When you add an Annotation or Attribute variable to your dashboard, the variable can be applied to all widgets on the dashboard, meaning that all widgets on your dashboard will display results filtered according to the value you set in the variable.

+
+
+

Automatic Filter

+
+
+

Note that only Attribute and Annotation variables can be filtered automatically like this. Non-Annotation or -Attribute variables cannot be automatically filtered. Individual widgets must each be configured to use variables of these types.

+
+
+

To disable automatic filtering so that the variable only applies to the widgets where you have specifically set it, click the "Filter automatically" slider to disable it.

+
+
+

To set a variable in an individual widget, open the widget in edit mode and select the specific annotation or attribute in the Filter By field. With an Annotation variable, you can select one or more specific values, or select the Variable name (indicated by the leading "$") to allow typing in the variable at the dashboard level. The same applies to Attribute variables. Only those widgets for which you set the variable will show the filtered results.

+
+
+

Filtering in variables is contextual; when you select a filter value or values for a variable, the other variables on your page will show only values relevant to that filter.
+For example, when setting a variable filter to a specific storage Model, any variables set to filter for storage Name will only show values relevant to that Model.

+
+
+

To use a variable in an expression, simply type the variable name as part of the expression, for example, $var1 * 100. Only Numeric variables can be used in expressions. You cannot use numeric Annotation or Attribute variables in expressions.

+
+
+

Filtering in variables is contextual; when you select a filter value or values for a variable, the other variables on your page will show only values relevant to that filter.
+For example, when setting a variable filter to a specific storage Model, any variables set to filter for storage Name will only show values relevant to that Model.

+
+
+
+

Variable naming

+
+

Variables names:

+
+
+
    +
  • +

    Must include only the letters a-z, the digits 0-9, period (.), underscore (_), and space ( ).

    +
  • +
  • +

    Cannot be longer than 20 characters.

    +
  • +
  • +

    Are case-sensitive: $CityName and $cityname are different variables.

    +
  • +
  • +

    Cannot be the same as an existing variable name.

    +
  • +
  • +

    Cannot be empty.

    +
  • +
+
+
+
+
+
+
+

Formatting Gauge Widgets

+
+
+

The Solid and Bullet Gauge widgets allow you to set thresholds for Warning and/or Critical levels, providing clear representation of the data you specify.

+
+
+

Format settings for Gauge Widget

+
+
+

To set formatting for these widgets, follow these steps:

+
+
+
    +
  1. +

    Choose whether you want to highlight values greater than (>) or less than (<) your thresholds. In this example, we will highlight values greater than (>) the threshold levels.

    +
  2. +
  3. +

    Choose a value for the "Warning" threshold. When the widget displays values greater than this level, it displays the gauge in orange.

    +
  4. +
  5. +

    Choose a value for the "Critical" threshold. Values greater than this level will cause the gauge to display in red.

    +
  6. +
+
+
+

You can optionally choose a minimum and maximum value for the gauge. Values below minimum will not display the gauge. Values above maximum will display a full gauge. If you do not choose minimum or maximum values, the widget selects optimal min and max based on the widget's value.

+
+
+

Solid/Traditional Gauge
+Bullet Gauge

+
+
+
+
+

Formatting Single-Value Widget

+
+
+

in the Single-Value widget, in addition to setting Warning (orange) and Critical (red) thresholds, you can choose to have "In Range" values (those below Warning level) shown with either green or white background.

+
+
+

Single-Value Widget with and without Formatting

+
+
+

Clicking the link in either a single-value widget or a gauge widget will display a query page corresponding to the first query in the widget.

+
+
+
+
+

Formatting Table Widgets

+
+
+

Like single-value and gauge widgets, you can set conditional formatting in table widgets, allowing you to highlight data with colors and/or special icons.

+
+
+ + + + + +
+Note + +Conditional Formatting is not currently available in Cloud Insights Federal Edition. +
+
+
+

Conditional Formatting allows you to set and highlight Warning-level and Critical-level thresholds in table widgets, bringing instant visibility to outliers and exceptional data points.

+
+
+

Conditional Formatting Example

+
+
+

Conditional formatting is set separately for each column in a table. For example, you can choose one set of thresholds for a capacity column, and another set for a throughput column.

+
+
+

If you change the Unit Display for a column, the conditional formatting remains and reflects the change in values. The images below show the same conditional formatting even though the display unit is different.

+
+
+

Conditional Formatting - GiB Conditional Formatting - TiB

+
+
+

You can choose whether to display condition formatting as color, icons, or both.

+
+
+
+
+

Choosing the Unit for Displaying Data

+
+
+

Most widgets on a dashboard allow you to specify the Units in which to display values, for example Megabytes, Thousands, Percentage, Milliseconds (ms), etc. In many cases, Cloud Insights knows the best format for the data being acquired. In cases where the best format is not known, you can set the format you want.

+
+
+

In the line chart example below, the data selected for the widget is known to be in bytes (the base IEC Data unit: see the table below), so the Base Unit is automatically selected as 'byte (B)'. However, the data values are large enough to be presented as gibibytes (GiB), so Cloud Insights by default auto-formats the values as GiB. The Y-axis on the graph shows 'GiB' as the display unit, and all values are displayed in terms of that unit.

+
+
+

Base Unit Byte shown in Gigabytes

+
+
+

If you want to display the graph in a different unit, you can choose another format in which to display the values. Since the base unit in this example is byte, you can choose from among the supported "byte-based" formats: bit (b), byte (B), kibibyte (KiB), mebibyte (MiB), gibibyte (GiB). The Y-Axis label and values change according to the format you choose.

+
+
+

Choosing a display unit

+
+
+

In cases where the base unit is not known, you can assign a unit from among the available units, or type in your own. Once you assign a base unit, you can then select to display the data in one of the appropriate supported formats.

+
+
+

Choose your own base unit

+
+
+

To clear out your settings and start again, click on Reset Defaults.

+
+
+

A word about Auto-Format

+
+

Most metrics are reported by data collectors in the smallest unit, for example as a whole number such as 1,234,567,890 bytes. By default, Cloud Insights will automatically format the value for the most readable display. For example a data value of 1,234,567,890 bytes would be auto formatted to 1.23 Gibibytes. You can choose to display it in another format, such as Mebibytes. The value will display accordingly.

+
+
+ + + + + +
+Note + +Cloud Insights uses American English number naming standards. American "billion" is equivalent to "thousand million". +
+
+
+
+

Widgets with multiple queries

+
+

If you have a time-series widget (i.e. line, spline, area, stacked area) that has two queries where both are plotted the primary Y-Axis, the base unit is not shown at the top of the Y-Axis. However, if your widget has a query on the primary Y-Axis and a query on the secondary Y-Axis, the base units for each are shown.

+
+
+

Units on both Y-Axes

+
+
+

If your widget has three or more queries, base units are not shown on the Y-Axis.

+
+
+
+

Available Units

+
+

The following table shows all the available units by category.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Category

Units

Currency

cent
+dollar

Data(IEC)

bit
+byte
+kibibyte
+mebibyte
+gibibyte
+tebibyte
+pebibyte
+exbibyte

DataRate(IEC)

bit/sec
+byte/sec
+kibibyte/sec
+mebibyte/sec
+gibibyte/sec
+tebibyte/sec
+pebibyte/sec

Data(Metric)

kilobyte
+megabyte
+gigabyte
+terabyte
+petabyte
+exabyte

DataRate(Metric)

kilobyte/sec
+megabyte/sec
+gigabyte/sec
+terabyte/sec
+petabyte/sec
+exabyte/sec

IEC

kibi
+mebi
+gibi
+tebi
+pebi
+exbi

Decimal

whole number
+thousand
+million
+bilion
+trillion

Percentage

percentage

Time

nanosecond
+microsecond
+millisecond
+second
+minute
+hour

Temperature

celsius
+fahrenheit

Frequency

hertz
+kilohertz
+megahertz
+gigahertz

CPU

nanocores
+microcores
+millicores
+cores
+kilocores
+megacores
+gigacores
+teracores
+petacores
+exacores

Throughput

I/O ops/sec
+ops/sec
+requests/sec
+reads/sec
+writes/sec
+ops/min
+reads/min
+writes/min

+
+
+
+
+

TV Mode and Auto-Refresh

+
+
+

Data in widgets on Dashboards and Asset Landing Pages auto-refresh according a refresh interval determined by the Dashboard Time Range selected (or widget time range, if set to override the dashboard time). The refresh interval is based on whether the widget is time-series (line, spline, area, stacked area chart) or non-time-series (all other charts).

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Dashboard Time Range

Time-Series Refresh Interval

Non-Time-Series Refresh Interval

Last 15 Minutes

10 Seconds

1 Minute

Last 30 Minutes

15 Seconds

1 Minute

Last 60 Minutes

15 Seconds

1 Minute

Last 2 Hours

30 Seconds

5 Minutes

Last 3 Hours

30 Seconds

5 Minutes

Last 6 Hours

1 Minute

5 Minutes

Last 12 Hours

5 Minutes

10 Minutes

Last 24 Hours

5 Minutes

10 Minutes

Last 2 Days

10 Minutes

10 Minutes

Last 3 Days

15 Minutes

15 Minutes

Last 7 Days

1 Hour

1 Hour

Last 30 Days

2 Hours

2 Hours

+
+

Each widget displays its auto-refresh interval in the upper-right corner of the widget.

+
+
+

Auto-refresh is not available for Custom dashboard time range.

+
+
+

When combined with TV Mode, auto-refresh allows for near-real-time display of data on a dashboard or asset page. TV Mode provides an uncluttered display; the navigation menu is hidden, providing more screen real estate for your data display, as is the Edit button. TV Mode ignores typical Cloud Insights timeouts, leaving the display live until logged out manually or automatically by authorization security protocols.

+
+
+ + + + + +
+Note + +Because NetApp Cloud Central has its own user login timeout of 7 days, Cloud Insights must log out with that event as well. You can simply log in again and your dashboard will continue to display. +
+
+
+
    +
  • +

    To activate TV Mode, click the TV Mode button.

    +
  • +
  • +

    To disable TV Mode, click the Exit button in the upper left of the screen. Exit Button

    +
  • +
+
+
+

You can temporarily suspend auto-refresh by clicking the Pause button in the upper right corner. While paused, the dashboard time range field will display the paused data's active time range. Your data is still being acquired and updated while auto-refresh is paused. Click the Resume button to continue auto-refreshing of data.

+
+
+

Auto-Refresh paused

+
+
+
+
+

Dashboard Groups

+
+
+

Grouping allows you to view and manage related dashboards. For example, you can have a dashboard group dedicated to the storage in your environment. Dashboard groups are managed on the Dashboards > Show All Dashboards page.

+
+
+

Dashboard Grouping

+
+
+

Two groups are shown by default:

+
+
+
    +
  • +

    All Dashboards lists all the dashboards that have been created, regardless of owner.

    +
  • +
  • +

    My Dashboards lists only those dashboards created by the current user.

    +
  • +
+
+
+

The number of dashboards contained in each group is shown next to the group name.

+
+
+

To create a new group, click the "+" Create New Dashboard Group button. Enter a name for the group and click Create Group. An empty group is created with that name.

+
+
+

To add dashboards to the group, click the All Dashboards group to show all dashboards in your environment, of click My Dashboards if you only want to see the dashboards you own, and do one of the following:

+
+
+
    +
  • +

    To add a single dashboard, click the menu to the right of the dashboard and select Add to Group.

    +
  • +
  • +

    To add multiple dashboards to a group, select them by clicking the checkbox next to each dashboard, then click the Bulk Actions button and select Add to Group.

    +
  • +
+
+
+

Remove dashboards from the current group in the same manner by selecting Remove From Group. You can not remove dashboards from the All Dashboards or My Dashboards group.

+
+
+ + + + + +
+Note + +Removing a dashboard from a group does not delete the dashboard from Cloud Insights. To completely remove a dashboard, select the dashboard and click Delete. This removes it from any groups to which it belonged and it is no longer available to any user. +
+
+
+
+
+

Pin your Favorite Dashboards

+
+
+

You can further manage your dashboards by pinning favorite ones to the top of your dashboard list. To pin a dashboard, simply click the thumbtack button displayed when you hover over a dashboard in any list.

+
+
+

Dashboard pin/unpin is an individual user preference and independent of the group (or groups) to which the dashboard belongs.

+
+
+

Pinned Dashboards

+
+
+
+
+

Dark Theme

+
+
+

You can choose to display Cloud Insights using either a light theme (the default), which displays most screens using a light background with dark text, or a dark theme which displays most screens using a dark background with light text.

+
+
+

To switch between light and dark themes, click the username button in the upper right corner of the screen and choose the desired theme.

+
+
+

Switch between light and dark themes

+
+
+

Dark Theme Dashboard view:
+Dark Theme Dashboard Example

+
+
+

Light Theme Dashboard view:
+Light Theme Dashboard Example

+
+
+ + + + + +
+Note + +Some screen areas, such as certain widget charts, still show light backgrounds even while viewed in dark theme. +
+
+
+
+
+

Line Chart interpolation

+
+
+

Different data collectors often poll their data at different intervals. For example, data collector A may poll every 15 minutes while data collector B polls every five minutes. When a line chart widget (also spline, area, and stacked area charts) is aggregating this data from multiple data collectors into a single line (for example, when the widget is grouping by "all"), and refreshing the line every five minutes, data from collector B may be shown accurately while data from collector A may have gaps, thus affecting the aggregate until collector A polls again.

+
+
+

To alleviate this, Cloud Insights interpolates data when aggregating, using the surrounding data points to take a "best guess" at data until data collectors poll again. You can always view each data collector's object data individually by adjusting the widget's grouping.

+
+
+

Interpolation Methods

+
+

When creating or modifying a line chart (or spline, area, or stacked area chart), you can set the interpolation method to one of three types. In the "Group by" section, choose the desired Interpolation.

+
+
+

Grouping section of the widget editor showing the three interpolation methods

+
+
+
    +
  • +

    None: Do nothing, i.e. do not generate points in between.

    +
  • +
+
+
+

Simple straight angled line showing no interpolation between data points

+
+
+
    +
  • +

    Stair: A point is generated from the value of previous point. In a straight line, this would display as a typical "stair" layout.

    +
  • +
+
+
+

Simple straight line showing stair interpolation

+
+
+
    +
  • +

    Linear: a point is generated as the value in between connecting the two points. Generates a line that looks like the line connecting the two points, but with additional (interpolated) data points.

    +
  • +
+
+
+

Simple straight line showing linear interpolation with additional data points between each original point

+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_dashboards_overview.html b/concept_dashboards_overview.html new file mode 100644 index 0000000000..8a4274af1f --- /dev/null +++ b/concept_dashboards_overview.html @@ -0,0 +1,4297 @@ + + + + Dashboards Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Dashboards Overview

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Cloud Insights provides users the flexibility to create operational views of infrastructure data, by allowing you to create custom dashboards with a variety of widgets, each of which provides extensive flexibility in displaying and charting your data.

+
+
+ + + + + +
+Important + +The examples in these sections are for explanation purposes only and do not cover every possible scenario. The concepts and steps herein can be used to create your own dashboards to highlight the data specific to your particular needs. +
+
+ +
+
+
+

Creating a Dashboard

+
+
+

You create a new dashboard in one of two places:

+
+
+
    +
  • +

    Dashboards > [+New dashboard]

    +
  • +
  • +

    Dashboards > Show all dashboards > click the [+Dashboard] button

    +
  • +
+
+
+
+
+

Dashboard Controls

+
+
+

The Dashboard screen has several controls:

+
+
+
    +
  • +

    Time selector: allows you to view dashboard data for a range of time from the last 15 minutes to the last 30 days, or a custom time range of up to 31 days. You can choose to override this global time range in individual widgets.

    +
  • +
  • +

    Edit button: Selecting this will enable Edit mode, which allows you to make changes to the dashboard. New dashboards open in Edit mode by default.

    +
  • +
  • +

    Save button: Allows you to save or delete the dashboard.

    +
    +

    You can rename the current dashboard by typing a new name before clicking Save.

    +
    +
  • +
+
+
+
    +
  • +

    Add Widget button, which allows you to add any number of tables, charts, or other widgets to the dashboard.

    +
    +

    Widgets can be resized and relocated to different positions within the dashboard, to give you the best view of your data according to your current needs.

    +
    +
  • +
+
+
+
+
+

Widget types

+
+
+

You can choose from the following widget types:

+
+
+
    +
  • +

    Table widget: A table displaying data according to filters and columns you choose. Table data can be combined in groups that can be collapsed and expanded.

    +
    +

    Table Widget

    +
    +
  • +
  • +

    Line, Spline, Area, Stacked Area Charts: These are time-series chart widgets on which you can display performance and other data over time.

    +
    +

    Area

    +
    +
  • +
  • +

    Single Value widget: A widget allowing you to display a single value that can be derived either directly from a counter or calculated using a query or expression. You can define color formatting thresholds to show whether the value is in expected, warning, or critical range.

    +
    +

    Single-Value Widgets With and Without Formatting

    +
    +
  • +
  • +

    Gauge widget: Displays single-value data in a traditional (solid) gauge or bullet gauge, with colors based on "Warning" or "Critical" values you customize.

    +
    +

    Single-Value with formatting

    +
    +
  • +
  • +

    Bar, Column Charts: Displays top or bottom N values, for example, Top 10 storages by capacity or bottom 5 volumes by IOPS.

    +
    +

    Bar and Column Charts

    +
    +
  • +
  • +

    Box Plot Chart: A plot of the min, max, median, and the range between lower and upper quartile of data in a single chart.

    +
    +

    Box Plot

    +
    +
  • +
  • +

    Scatter Plot Chart: Plots related data as points, for example, IOPS and latency. In this example, you can quickly locate assets with high throughput and low IOPS.

    +
    +

    Scatter Plot

    +
    +
  • +
  • +

    Pie Chart: a traditional pie chart to display data as a piece of the total.

    +
    +

    Pie Chart

    +
    +
  • +
  • +

    Note widget: Up to 1000 characters of free text.

    +
    +

    Note Widget

    +
    +
  • +
  • +

    Alerts Table: Displays up to the last 1,000 alerts.

    +
  • +
+
+
+

For more detailed explanations of these and other Dashboard Features, click here.

+
+
+
+
+

Setting a Dashboard as your Home Page

+
+
+

You can choose which dashboard to set as your environment's home page using either of the following methods:

+
+
+
    +
  • +

    Go to Dashboards > Show All Dashboards to display the list of dashboards in your environment. Click on the options menu to the right of the desired dashboard and select Set as Home Page.

    +
  • +
  • +

    Click on a dashboard from the list to open the dashboard. Click the drop-down menu in the upper corner and select Set as Home Page.

    +
  • +
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_data_collector_reference.html b/concept_data_collector_reference.html new file mode 100644 index 0000000000..4cd63a1c91 --- /dev/null +++ b/concept_data_collector_reference.html @@ -0,0 +1,4133 @@ + + + + Vendor-Specific Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Vendor-Specific Reference

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

The topics in this section provide vendor-specific reference information. In most cases, configuring a data collector is straightforward. In some cases, you may need additional information or commands to properly configure the data collector.

+
+
+

Click on a vendor in the menu to the left to see information for their data collectors.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_determining_data_collector_acq_status.html b/concept_determining_data_collector_acq_status.html new file mode 100644 index 0000000000..5e9a76ea17 --- /dev/null +++ b/concept_determining_data_collector_acq_status.html @@ -0,0 +1,4138 @@ + + + + Determining data collector acquisition status + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Determining data collector acquisition status

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Because data collectors are the primary source of information for Cloud Insights, it is imperative that you ensure that they remain in a running state.

+
+
+

Data collector status is displayed in the upper right corner of any asset page as the message "Acquired N minutes ago", where N indicates the most recent acquisition time of the asset's data collector(s). The acquisition time/date is also displayed.

+
+
+

Clicking on the message displays a table with data collector name, status, and last successful acquisition time. If you are signed in as an Administrator, clicking on the data collector name link in the table takes you to detail page for that data collector.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_device_resolution_overview.html b/concept_device_resolution_overview.html new file mode 100644 index 0000000000..7601e4c7bb --- /dev/null +++ b/concept_device_resolution_overview.html @@ -0,0 +1,4289 @@ + + + + Automatic Device Resolution Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Automatic Device Resolution Overview

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

You need to identify all of the devices you want to monitor with Cloud Insights. Identification is necessary in order to accurately track performance and inventory in your environment. Typically the majority of devices discovered in your environment are identified through Automatic Device Resolution.

+
+
+

After you configure data collectors, devices in your environment including switches, storage arrays, and your virtual infrastructure of hypervisors and VMs are identified. However, this does not normally identify 100% of the devices in your environment.

+
+
+

After data collector type devices have been configured, best practice is to leverage device resolution rules to help identify the remaining unknown devices in your environment. Device resolution can help you resolve unknown devices as the following device types:

+
+
+
    +
  • +

    Physical hosts

    +
  • +
  • +

    Storage arrays

    +
  • +
  • +

    Tapes

    +
  • +
+
+
+

Devices remaining as unknown after device resolution are considered generic devices, which you can also show in queries and on dashboards.

+
+
+

The rules created in turn will automatically identify new devices with similar attributes as they are added to your environment. In some cases, device resolution also allows for manual identification bypassing the device resolution rules for undiscovered devices within Cloud Insights.

+
+
+

Incomplete identification of devices can result in issues including:

+
+
+
    +
  • +

    Incomplete paths

    +
  • +
  • +

    Unidentified multipath connections

    +
  • +
  • +

    The inability to group applications

    +
  • +
  • +

    Inaccurate topology views

    +
  • +
  • +

    Inaccurate data in the Data warehouse and reporting

    +
  • +
+
+
+

The device resolution feature (Manage > Device resolution) includes the following tabs, each of which plays a role in device resolution planning and viewing results:

+
+
+
    +
  • +

    Fibre Channel Identify contains a list WWNs and port information of Fibre Channel devices that were not resolved through automatic device resolution. The tab also identifies the percentage of devices that have been identified.

    +
  • +
  • +

    IP Address Identify contains a list of devices accessing CIFS shares and NFS shares that were not identified through automatic device resolution. The tab also identifies the percentage of devices that have been identified.

    +
  • +
  • +

    Auto resolution rules contains the list of rules that are run when performing Fibre channel device resolution. These are rules you create to resolve unidentified Fibre channel devices.

    +
  • +
  • +

    Preferences provides configuration options that you use to customize device resolution for your environment.

    +
  • +
+
+
+
+
+

Before You Begin

+
+
+

You need to know how your environment is configured before you define the rules for identifying devices. The more you know about your environment the easier it will be to identify devices.

+
+
+

You need to answer questions similar to the following to help you create accurate rules:

+
+
+
    +
  • +

    Does your environment have naming standards for zones or hosts and what percentage of these are accurate?

    +
  • +
  • +

    Does your environment use a switch alias or storage alias and do they match the host name?

    +
  • +
+
+
+
    +
  • +

    How often do naming schemes change in your environment?

    +
  • +
  • +

    Have there been any acquisitions or mergers that introduced different naming schemes?

    +
  • +
+
+
+

After analyzing your environment, you should be able to identify what naming standards exist that you can expect to reliability encounter. The information you gathered might be represented graphically in a figure similar to the following:

+
+
+

Device Overview Diagram

+
+
+

In this example the largest number of devices are reliably represented by storage aliases. Rules that identify hosts using storage aliases should be written first, rules using switch aliases should be written next , and the last rules created should use zone aliases. Due to the overlap of the use of zone aliases and switch aliases, some storage alias rules might identify additional devices, leaving less rules required for zone aliases and switch aliases.

+
+
+
+
+

Steps to Identifying devices

+
+
+

Typically, you would use a workflow similar to the following to identify devices in your environment. Identification is an iterative process and might require multiple steps of planning and refining rules.

+
+
+
    +
  • +

    Research environment

    +
  • +
  • +

    Plan rules

    +
  • +
  • +

    Create/Revise rules

    +
  • +
  • +

    Review results

    +
  • +
  • +

    Create additional rules or Manually Identify devices

    +
  • +
  • +

    Done

    +
  • +
+
+
+ + + + + +
+Note + +If you have unidentified devices (otherwise known as unknown or generic devices) in your environment and you subsequently configure a data source that identifies those devices upon polling, they will no longer be displayed or counted as generic devices. +
+
+ +
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_device_resolution_regex_examples.html b/concept_device_resolution_regex_examples.html new file mode 100644 index 0000000000..bea7493424 --- /dev/null +++ b/concept_device_resolution_regex_examples.html @@ -0,0 +1,4647 @@ + + + + Regular expression examples + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Regular expression examples

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

If you have selected the regular expression approach as your source naming strategy, you can use the regular expression examples as guides for your own expressions used in the Cloud Insights automatic resolution methods.

+
+
+
+
+

Formatting regular expressions

+
+
+

When creating regular expressions for Cloud Insights automatic resolution, you can configure output format by entering values in a field named FORMAT.

+
+
+

The default setting is \1, which means that a zone name that matches the regular expression is replaced by the contents of the first variable created by the regular expression. In a regular expression, variable values are created by parenthetical statements. If multiple parenthetical statements occur, the variables are referenced numerically, from left to right. The variables can be used in the output format in any order. Constant text can also be inserted in the output, by adding it to the FORMAT field.

+
+
+

For example, you might have the following zone names for this zone naming convention:

+
+
+
+
[Zone number]_[data center]_[hostname]_[device type]_[interface number]
+
+
+
+
    +
  • +

    S123_Miami_hostname1_filer_FC1

    +
  • +
  • +

    S14_Tampa_hostname2_switch_FC4

    +
  • +
  • +

    S3991_Boston_hostname3_windows2K_FC0

    +
  • +
  • +

    S44_Raleigh_hostname4_solaris_FC1

    +
  • +
+
+
+

And you might want the output to be in the following format:

+
+
+
+
[hostname]-[data center]-[device type]
+
+
+
+

To do this, you need to capture the host name, data center, and device type fields in variables, and use them in the output. The following regular expression would do this:

+
+
+
+
.*?_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_.*
+
+
+
+

Because there are three sets of parentheses, the variables \1, \2 and \3 would be populated.

+
+
+

You could then use the following format to receive output in your preferred format:

+
+
+
+
\2-\1-\3
+
+
+
+

Your output would be as follows:

+
+
+
+
hostname1-Miami-filer
+hostname2-Tampa-switch
+hostname3-Boston-windows2K
+hostname4-Raleigh-solaris
+
+
+
+

The hyphens between the variables provide an example of constant text that is inserted in the formatted output.

+
+
+
+
+

Examples

+
+
+

Example 1 showing zone names

+
+

In this example, you use the regular expression to extract a host name from the zone name. You could create a regular expression if you have something similar to the following zone names:

+
+
+
    +
  • +

    S0032_myComputer1Name-HBA0

    +
  • +
  • +

    S0434_myComputer1Name-HBA1

    +
  • +
  • +

    S0432_myComputer1Name-HBA3

    +
  • +
+
+
+

The regular expression that you could use to capture the host name would be:

+
+
+
+
S[0-9]+_([a-zA-Z0-9]*)[_-]HBA[0-9]
+
+
+
+

The outcome is a match of all zones beginning with S that are followed by any combination of digits , followed by an underscore, the alphanumeric hostname (myComputer1Name), an underscore or hyphen, the capital letters HBA, and a single digit (0-9). The hostname alone is stored in the \1 variable.

+
+
+

The regular expression can be broken into its components:

+
+
+
    +
  • +

    "S" represents the zone name and begins the expression. This matches only an "S" at the beginning of the zone name.

    +
  • +
  • +

    The characters [0-9] in brackets indicate that what follows "S" must be a digit between 0 and 9, inclusive.

    +
  • +
  • +

    The + sign indicates that the occurrence of the information in the preceding brackets has to exist 1 or more times.

    +
  • +
  • +

    The _ (underscore) means that the digits after S must be followed immediately by only an underscore character in the zone name. In this example, the zone naming convention uses the underscore to separate the zone name from the host name.

    +
  • +
  • +

    After the required underscore, the parentheses indicate that the pattern contained within will be stored in the \1 variable.

    +
  • +
  • +

    The bracketed characters [a-zA-Z0-9] indicate that the characters being matched are all letters (regardless of case) and numbers.

    +
  • +
  • +

    The * (asterisk) following the brackets indicates that the bracketed characters occur 0 or more times.

    +
  • +
  • +

    The bracketed characters [_-] (underscore and dash) indicate that the alphanumeric pattern must be followed by an underscore or a dash.

    +
  • +
  • +

    The letters HBA in the regular expression indicate that this exact sequence of characters must occur in the zone name.

    +
  • +
  • +

    The final set of bracketed characters [0-9] match a single digit from 0 through 9, inclusive.

    +
  • +
+
+
+
+

Example 2

+
+

In this example, skip up to the first underscore "", then match E and everything after that up to the second "", and then skip everything after that.

+
+
+

Zone: Z_E2FHDBS01_E1NETAPP

+
+
+

Hostname: E2FHDBS01

+
+
+

RegExp: .?(E.?).*?

+
+
+
+

Example 3

+
+

The parentheses "( )" around the last section in the Regular Expression (below) identifies which part is the hostname. If you wanted VSAN3 to be the host name, it would be: _([a-zA-Z0-9]).*

+
+
+

Zone: A_VSAN3_SR48KENT_A_CX2578_SPA0

+
+
+

Hostname: SR48KENT

+
+
+

RegExp: _[a-zA-Z0-9]+_([a-zA-Z0-9]).*

+
+
+
+

Example 4 showing a more complicated naming pattern

+
+

You could create a regular expression if you have something similar to the following zone names:

+
+
+
    +
  • +

    myComputerName123-HBA1_Symm1_FA3

    +
  • +
  • +

    myComputerName123-HBA2_Symm1_FA5

    +
  • +
  • +

    myComputerName123-HBA3_Symm1_FA7

    +
  • +
+
+
+

The regular expression that you could use to capture these would be:

+
+
+
+
([a-zA-Z0-9]*)_.*
+
+
+
+

The \1 variable would contain only myComputerName123 after being evaluated by this expression.

+
+
+

The regular expression can be broken into its components:

+
+
+
    +
  • +

    The parentheses indicate that the pattern contained within will be stored in the \1 variable.

    +
  • +
  • +

    The bracketed characters [a-zA-Z0-9] mean that any letter (regardless of case) or digit will match.

    +
  • +
  • +

    The * (asterisk) following the brackets indicates that the bracketed characters occur 0 or more times.

    +
  • +
  • +

    The _ (underscore) character in the regular expression means that the zone name must have an underscore immediately following the alphanumeric string matched by the preceding brackets.

    +
  • +
  • +

    The . (period) matches any character (a wildcard).

    +
  • +
  • +

    The * (asterisk) indicates that the preceding period wildcard may occur 0 or more times.

    +
    +

    In other words, the combination .* indicates any character, any number of times.

    +
    +
  • +
+
+
+
+

Example 5 showing zone names without a pattern

+
+

You could create a regular expression if you have something similar to the following zone names:

+
+
+
    +
  • +

    myComputerName_HBA1_Symm1_FA1

    +
  • +
  • +

    myComputerName123_HBA1_Symm1_FA1

    +
  • +
+
+
+

The regular expression that you could use to capture these would be:

+
+
+
+
(.*?)_.*
+
+
+
+

The \1 variable would contain myComputerName (in the first zone name example) or myComputerName123 (in the second zone name example). This regular expression would thus match everything prior to the first underscore.

+
+
+

The regular expression can be broken into its components:

+
+
+
    +
  • +

    The parentheses indicate that the pattern contained within will be stored in the \1 variable.

    +
  • +
  • +

    The .* (period asterisk) match any character, any number of times.

    +
  • +
  • +

    The * (asterisk) following the brackets indicates that the bracketed characters occur 0 or more times.

    +
  • +
  • +

    The ? character makes the match non-greedy. This forces it to stop matching at the first underscore, rather than the last.

    +
  • +
  • +

    The characters _.* match the first underscore found and all characters that follow it.

    +
  • +
+
+
+
+

Example 6 showing computer names with a pattern

+
+

You could create a regular expression if you have something similar to the following zone names:

+
+
+
    +
  • +

    Storage1_Switch1_myComputerName123A_A1_FC1

    +
  • +
  • +

    Storage2_Switch2_myComputerName123B_A2_FC2

    +
  • +
  • +

    Storage3_Switch3_myComputerName123T_A3_FC3

    +
  • +
+
+
+

The regular expression that you could use to capture these would be:

+
+
+
+
.*?_.*?_([a-zA-Z0-9]*[ABT])_.*
+
+
+
+

Because the zone naming convention has more of a pattern, we could use the above expression, which will match all instances of a hostname (myComputerName in the example) that ends with either an A, a B, or a T, placing that hostname in the \1 variable.

+
+
+

The regular expression can be broken into its components:

+
+
+
    +
  • +

    The .* (period asterisk) match any character, any number of times.

    +
  • +
  • +

    The ? character makes the match non-greedy. This forces it to stop matching at the first underscore, rather than the last.

    +
  • +
  • +

    The underscore character matches the first underscore in the zone name.

    +
  • +
  • +

    Thus, the first .*?_ combination matches the characters Storage1_ in the first zone name example.

    +
  • +
  • +

    The second .*?_ combination behaves like the first, but matches Switch1_ in the first zone name example.

    +
  • +
  • +

    The parentheses indicate that the pattern contained within will be stored in the \1 variable.

    +
  • +
  • +

    The bracketed characters [a-zA-Z0-9] mean that any letter (regardless of case) or digit will match.

    +
  • +
  • +

    The * (asterisk) following the brackets indicates that the bracketed characters occur 0 or more times.

    +
  • +
  • +

    The bracketed characters in the regular expression [ABT] match a single character in the zone name which must be A, B, or T.

    +
  • +
  • +

    The _ (underscore) following the parentheses indicates that the [ABT] character match must be followed up an underscore.

    +
  • +
  • +

    The .* (period asterisk) match any character, any number of times.

    +
  • +
+
+
+

The result of this would therefore cause the \1 variable to contain any alphanumeric string which:

+
+
+
    +
  • +

    was preceded by some number of alphanumeric characters and two underscores

    +
  • +
  • +

    was followed by an underscore (and then any number of alphanumeric characters)

    +
  • +
  • +

    had a final character of A, B or T, prior to the third underscore.

    +
  • +
+
+
+
+

Example 7

+
+

Zone: myComputerName123_HBA1_Symm1_FA1

+
+
+

Hostname: myComputerName123

+
+
+

RegExp: ([a-zA-Z0-9]+)_.*

+
+
+
+

Example 8

+
+

This example finds everything before the first _.

+
+
+

Zone: MyComputerName_HBA1_Symm1_FA1

+
+
+

MyComputerName123_HBA1_Symm1_FA1

+
+
+

Hostname: MyComputerName

+
+
+

RegExp: (.?)_.

+
+
+
+

Example 9

+
+

This example finds everything after the 1st _ and up to the second _.

+
+
+

Zone: Z_MyComputerName_StorageName

+
+
+

Hostname: MyComputerName

+
+
+

RegExp: .?(.?).*?

+
+
+
+

Example 10

+
+

This example extracts "MyComputerName123" from the zone examples.

+
+
+

Zone: Storage1_Switch1_MyComputerName123A_A1_FC1

+
+
+

Storage2_Switch2_MyComputerName123B_A2_FC2

+
+
+

Storage3_Switch3_MyComputerName123T_A3_FC3

+
+
+

Hostname: MyComputerName123

+
+
+

RegExp: .?.?([a-zA-Z0-9]+)[ABT]_.

+
+
+
+

Example 11

+
+

Zone: Storage1_Switch1_MyComputerName123A_A1_FC1

+
+
+

Hostname: MyComputerName123A

+
+
+

RegExp: .?.?([a-zA-z0-9]+).*?

+
+
+
+

Example 12

+
+

The ^ (circumflex or caret) inside square brackets negates the expression, for example, [^Ff] means anything except uppercase or lowercase F, and [^a-z] means everything except lowercase a to z, and in the case above, anything except the _. The format statement adds in the "-" to the output host name.

+
+
+

Zone: mhs_apps44_d_A_10a0_0429

+
+
+

Hostname: mhs-apps44-d

+
+
+

RegExp: ()_([AB]).*Format in Cloud Insights: \1-\2 ([^_])_
+()_([^_]).*Format in Cloud Insights: \1-\2-\3

+
+
+
+

Example 13

+
+

In this example, the storage alias is delimited by "\" and the expression needs to use "\\" to define that there are actually "\" being used in the string, and that those are not part of the expression itself.

+
+
+

Storage Alias: \Hosts\E2DOC01C1\E2DOC01N1

+
+
+

Hostname: E2DOC01N1

+
+
+

RegExp: \\.?\\.?\\(.*?)

+
+
+
+

Example 14

+
+

This example extracts "PD-RV-W-AD-2" from the zone examples.

+
+
+

Zone: PD_D-PD-RV-W-AD-2_01

+
+
+

Hostname: PD-RV-W-AD-2

+
+
+

RegExp: -(.*-\d).*

+
+
+
+

Example 15

+
+

The format setting in this case adds the "US-BV-" to the hostname.

+
+
+

Zone: SRV_USBVM11_F1

+
+
+

Hostname: US-BV-M11

+
+
+

RegExp: SRV_USBV([A-Za-z0-9]+)_F[12]

+
+
+

Format: US-BV-\1

+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_feature_tutorials.html b/concept_feature_tutorials.html new file mode 100644 index 0000000000..29328b60aa --- /dev/null +++ b/concept_feature_tutorials.html @@ -0,0 +1,4235 @@ + + + + Feature Tutorials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Feature Tutorials

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Cloud Insights is loaded with useful features that enable you to quickly and easily find data, troubleshoot issues, and provide insights into your corporate environment. Find data easily with powerful queries, visualize data in dashboards, and send email alerts for data thresholds you set.

+
+
+

Cloud Insights includes a number of video tutorials to help you understand these features and better implement your business insight strategies. Every user who has access to your Cloud Insights environment can take advantage of these tutorials.

+
+
+
+
+

Introduction

+
+
+

Watch a brief tutorial explaining how Cloud Insights works.

+
+
+
+ +
+
+
+
+
+

Checklist and Video Tutorials

+
+
+

The Startup Checklist displayed on your Cloud Insights site contains a list of several useful tasks and concepts. Selecting an item in the checklist takes you to the appropriate Cloud Insights page for that concept. For example, clicking on the Create a Dashboard item opens the Cloud Insights Dashboards page.

+
+
+

Tutorial Checklist Progress

+
+
+

At the top of the page is a link to a video tutorial showing how to create a dashboard. You can view the video as many times as you like until you click the Got it! Don't Show This Again link for that video. The video is available every time you go to the Dashboards page, until you dismiss it.

+
+
+

Watch Video Link

+
+
+

After watching the video at least once, the Create a Dashboard item in the checklist is checked off, indicating that you have completed the tutorial. You can then proceed to the next tutorial.

+
+
+ + + + + +
+Note + +You can view the tutorials in any order you like, as many times as you like until dismissed. +
+
+
+

Dismissing the Checklist

+
+

The Startup Checklist is displayed on your site until you click the Don't Show This Again link at the bottom of the checklist. Even after dismissing the checklist, the tutorials are still available on each appropriate Cloud Insights page until you dismiss each one from the message header bar.

+
+
+
+
+
+

View the Tutorials

+
+
+

Querying Data

+
+
+ +
+
+
+
+

Creating a Dashboard

+
+
+ +
+
+
+
+

Troubleshooting

+
+
+ +
+
+
+
+

Resolve Devices

+
+
+ +
+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_high_consuming_workloads.html b/concept_high_consuming_workloads.html new file mode 100644 index 0000000000..e04fe5ad2a --- /dev/null +++ b/concept_high_consuming_workloads.html @@ -0,0 +1,4212 @@ + + + + Insights: High-Consuming Workloads + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Insights: High-Consuming Workloads

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

High-impact workloads can reduce the performance of other workloads in a shared resource. Cloud Insights provides tools to help you investigate resource saturation and impact in your environment.

+
+
+
+
+

Terminology

+
+

When talking about workload or resource impact, the following definitions are useful.

+
+
+

An Impactful or Greedy resource is one that causes a negative impact on another resource. For example, a volume experiencing very high IOPS may cause increased latency in other volumes (i.e. Impacted or Degraded resources). Impactful and Impacted resources are “peers” that utilize the same shared resource, for example, a storage pool or Volume.

+
+
+

A High-Consuming Workload is a workload that is currently identified as impacting other resources in the shared storage pool. These workloads drive higher IOPS, reducing IOPS in the Impacted Workloads. In Cloud Insights these are identified as Demanding Workloads.

+
+
+

An Impacted Workload is a workload affected by a high-consuming workload in the shared Storage Pool. These workloads are experiencing reduced IOPS and/or higher latency, caused by the Demanding Workloads.

+
+
+

Shared Resource Saturation is the ratio of impacting IOPS to baseline.

+
+
+

Baseline is defined as the maximum reported data point for each workload in the hour immediately preceding the detected saturation.

+
+
+

A Contention occurs when IOPS are determined to be affecting other resources or workloads in the shared storage pool.

+
+
+
+

High-Consuming Workloads

+
+

To start looking into Impactful and impacted workloads in your shared resources, click on Dashboards > High Consuming Workloads in the Cloud Insights menu.

+
+
+

High Consuming Workloads menu

+
+
+

Cloud Insights displays a list of any workloads where a saturation has been detected. Click on a workload to open the workload dashboard.

+
+
+

Workloads List

+
+
+

Click on a workload to view the details page for it. The top chart shows the activity on the shared resource (for example, a storage pool) on which the contention is occurring.

+
+
+

Chart showing activity on the shared resource

+
+
+

Below that are two charts showing the Demanding workloads and the workloads that are impacted by those demanding workloads.

+
+
+

Demanding workload chart
+Impacted workload chart

+
+
+
+

What do I do to resolve saturation?

+
+

There are a number of steps you can take to reduce or eliminate the chance of saturation in your environment. Here are a few things you can try.

+
+
+
    +
  • +

    Move high-IOPS consumers

    +
    +

    Move the "greedy" workloads to less-saturated Storage Pools. It is recommended to assess the tier and capacity of these pools before moving the workloads, to avoid unnecessary costs or additional contentions.

    +
    +
  • +
  • +

    Implement a quality of service (QoS) policy

    +
    +

    Implementing a QoS policy per workload to ensure enough free resources available will alleviate saturation on the Storage Pool. This is a long-term solution.

    +
    +
  • +
  • +

    Add additional resources

    +
    +

    If the shared resource (for example, Storage Pool) has reached the IOPS saturation point, adding more or faster disks to the pool will ensure enough free resources available to alleviate saturation.

    +
    +
  • +
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_import_from_dashboard_gallery.html b/concept_import_from_dashboard_gallery.html new file mode 100644 index 0000000000..e511a3f944 --- /dev/null +++ b/concept_import_from_dashboard_gallery.html @@ -0,0 +1,4155 @@ + + + + Importing from the Dashboard Gallery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Importing from the Dashboard Gallery

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Cloud Insights provides a number of Recommended Dashboards to provide business insights into your data. Each dashboard contains widgets designed to help answer a particular question or solve a particular problem relevant to the data currently being collected in your environment.

+
+
+

To import a dashboard from the gallery, do the following:

+
+
+
    +
  1. +

    Select Dashboards > Dashboards

    +
  2. +
  3. +

    Click on +From Gallery

    +
    +

    A list of Recommended Dashboards is displayed. Each dashboard is named with a particular question the dashboard can help you solve. Dashboards are available to help answer questions around different types of objects, including AWS, NetApp, Storage, VMware, and others

    +
    +
  4. +
  5. +

    Select one or more dashboards from the list and click Add Dashboards. These dashboards now show in your dashboard list.

    +
  6. +
+
+
+

In addition to the Recommended Dashboards, you can also choose to import Additional Dashboards that are not relevant to your current data. For example, if you have no storage data collectors currently installed but are planning on configuring some in the future, you may still choose to import the storage-relevant dashboards. These dashboards will be available for display but may not show any relevant data until at least one storage data collector is configured.

+
+
+

Importing from the dashboard gallery is available to users with Administrator or Account Owner role.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_in_context_filters.html b/concept_in_context_filters.html new file mode 100644 index 0000000000..51652aaf01 --- /dev/null +++ b/concept_in_context_filters.html @@ -0,0 +1,4183 @@ + + + + Filtering for Objects In-Context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Filtering for Objects In-Context

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

When configuring a widget on an asset's landing page, you can set in-context filters to show only objects directly related to the current asset. By default, when you add a widget, all objects of the selected type in your environment are displayed. In-context filters allow you to display only the data relevant to your current asset.

+
+
+

On most asset landing pages, widgets allow you to filter for objects related to the current asset. In filter drop-downs, object types that display a link icon Link Icon can be filtered in-context to the current asset.

+
+
+

For example, on a Storage asset page, you can add a Bar Chart widget to show the top IOPS on internal volumes only on that storage. By default, when you add a widget, all internal volumes in your environment are displayed.

+
+
+

To show only internal volumes on the current storage asset, do the following:

+
+
+
Steps
+
    +
  1. +

    Open an asset page for any Storage asset.

    +
  2. +
  3. +

    Click Edit to open the asset page in Edit mode.

    +
  4. +
  5. +

    Click Add Widget and select Bar Chart.

    +
  6. +
  7. +

    Select Internal Volume for the object type to display on the bar chart. Notice that the internal volume object type has a link icon Link Icon beside it. The "linked" icon is enabled by default.

    +
    +

    bar chart volumes

    +
    +
  8. +
  9. +

    Choose IOPS - Total and set any additional filters you like.

    +
  10. +
  11. +

    Collapse the Roll Up field by clicking the [X] beside it. The Show field is displayed.

    +
  12. +
  13. +

    Choose to show Top 10.

    +
  14. +
  15. +

    Save the widget.

    +
    +

    The bar chart shows only the internal volumes that reside on the current storage asset.

    +
    +
  16. +
+
+
+

The widget will be displayed on the asset pages for all storage objects. When the in-context link is enabled in the widget, the bar chart shows data for internal volumes related only to the currently-displayed storage asset.

+
+
+

To unlink the object data, edit the widget and click the link icon Link Icon Enabled next to the object type. The link becomes disabled Link Icon Disabled and the chart displays data for all objects in your environment.

+
+
+

You can also use special variables in widgets to display asset-related information on landing pages.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_kubernetes_network_monitoring_and_map.html b/concept_kubernetes_network_monitoring_and_map.html new file mode 100644 index 0000000000..ae51ef699b --- /dev/null +++ b/concept_kubernetes_network_monitoring_and_map.html @@ -0,0 +1,4355 @@ + + + + Kubernetes Network Performance Monitoring and Map + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Kubernetes Network Performance Monitoring and Map

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Kubernetes Network Performance Monitoring and Map feature simplifies troubleshooting by mapping dependencies between Kubernetes services (also called workloads). It provides real-time visibility into Kubernetes network performance latencies and anomalies to identify performance issues before they affect users.
+This capability helps organizations reduce overall costs by analyzing and auditing Kubernetes traffic flows.

+
+
+ + + + + +
+Note + +The Kubernetes Network Performance Monitoring and Map is a Preview feature and is subject to change. +
+
+
+

Key Features:
+• The Workload Map presents Kubernetes workload dependencies and flows and highlights network and performance issues.
+• Monitor network traffic between Kubernetes pods, workloads, and nodes; identifies the source of traffic and latency problems.
+• Reduce overall costs by analyzing ingress, egress, cross-region, and cross-zone network traffic.

+
+
+

Workload Map Example

+
+
+
+
+

Pre-Requisites

+
+
+

Before you can use the Kubernetes Network Performance Monitoring and Map, you must have configured the NetApp Kubernetes Monitoring Operator to enable this option. During deployment of the Operator, select the "Network Performance and Map" checkbox to enable. You can also enable this option by navigating to a Kubernetes landing page and selecting "Modify Deployment".

+
+
+

selecting the Map option during NKMO stup

+
+
+
+
+

Monitors

+
+
+

The Workload Map uses monitors to derive information. Cloud Insights provides a number of default Kubernetes Monitors (note that these may be Paused by default. You can Resume (i.e. enable) the monitors you want), or you can create custom monitors for kubernetes objects, which the Workload Map will also use.

+
+
+

You can create Cloud insights metric alerts on any of the object types below. Make sure the data is grouped by the default object type.

+
+
+
    +
  • +

    kubernetes.workload

    +
  • +
  • +

    kubernetes.daemonset

    +
  • +
  • +

    kubernetes.deployment

    +
  • +
  • +

    kubernetes.cronjob

    +
  • +
  • +

    kubernetes.job

    +
  • +
  • +

    kubernetes.replicaset

    +
  • +
  • +

    kubernetes.statefulset

    +
  • +
  • +

    kubernetes.pod

    +
  • +
  • +

    kubernetes.network_traffic_l4

    +
  • +
+
+
+
+
+

The Map

+
+
+

The Map shows services/workloads and their relationships to each other. Arrows show directions of traffic. Hovering over a workload displays summary information for that workload, as you can see in this example:

+
+
+

Example of a Workload Map workload

+
+
+

Icons within the circles represent different service types. Note that icons are only visible if the underlying objects have labels.

+
+
+

Service Icons Explained

+
+
+

The size of each circle indicates node size. Note that these sizes are relative, your browser zoom level or screen size may affect actual circle sizes. In the same way, the traffic line style gives you an at-a-glance view of the connection size; bold solid lines are high traffic, while light dotted lines are lower traffic.

+
+
+

Numbers inside the circles are the number of external connections currently being processed by the service.

+
+
+

legend showing relative circle (node) and connection sizes

+
+
+
+
+

Workload Details and Alerts

+
+
+

Circles displayed in color indicate a warning- or critical-level alert for the workload. Hover over the circle for a summary of the issue, or click on the circle to open a slideout panel with more detail.

+
+
+

Workload Slideout Details With Alerts

+
+
+
+
+

Finding and Filtering

+
+
+

As with other Cloud Insights features, you can easily set filters to focus on the specific objects or workload attributes you want.

+
+
+

Workload Map filtering

+
+
+

Likewise, typing a string in the Find field will highlight matching workloads.

+
+
+

typing in find box highlights workloads

+
+
+
+
+

Workload Labels

+
+
+

Workload labels are necessary if you want the Map to identify the types of workloads displayed (i.e. the circle icons). Labels are derived as follows:

+
+
+
    +
  • +

    Name of the service/application running in generic terms

    +
  • +
  • +

    If the source is a pod:

    +
    + +
    +
  • +
  • +

    If the source is external to the kubernetes cluster:

    +
    +
      +
    • +

      Cloud Insights will attempt to parse the DNS resolved name to extract the service type.

      +
      +

      For example, with a DNS resolved name of s3.eu-north-1.amazonaws.com, the resolved name is parsed to get s3 as the service type.

      +
      +
    • +
    +
    +
  • +
+
+
+
+
+

Dive Deep

+
+
+

Right-clicking on a workload presents you with additional options to explore further. For example, from here you can zoom in to view the connections for that workload.

+
+
+

Workload Map Right-Click Zoom to show the workload's connections

+
+
+

Or you can open the detail slideout panel to directly view the Summary, Network, or Pod & Storage tab.

+
+
+

Detail Slideout Network Tab Example

+
+
+

Finally, selecting Go to Asset Page will open the detailed asset landing page for the workload.

+
+
+

Workload Asset Page

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_log_explorer.html b/concept_log_explorer.html new file mode 100644 index 0000000000..4fa8f1f567 --- /dev/null +++ b/concept_log_explorer.html @@ -0,0 +1,4356 @@ + + + + Log Explorer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Log Explorer

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Cloud Insights Log Explorer is a powerful tool for querying system logs. In addition to helping with investigations, you can also save a log query in a Monitor to provide alerts when those particular log triggers are activated.

+
+
+

To begin exploring logs, click Log Queries > +New Log Query.

+
+
+

Select an available log from the list.

+
+
+

Choose your log

+
+
+ + + + + +
+Note + +The types of logs available for querying may vary based on your environment. Additional log types may be added over time. +
+
+
+

You can set filters to further refine the results of the query. For example, to find all log messages showing a failure, set a filter for Messages containing the word "failed".

+
+
+ + + + + +
+Tip + +You can begin typing the desired text in the filter field; Cloud Insights will prompt you to create a wildcard search containing the string as you type. +
+
+
+

The results are displayed in a graph showing the number of log instances in each time period shown. Below the graph are the log entries temselves. The graph and the entries refresh automatically based on the selected time range.

+
+
+

Query example showing filter

+
+
+
+
+

Filtering

+
+
+

Include / Exclude

+
+

When filtering the logs, you can choose to include (i.e. "Filter to") or exclude the strings you type. Excluded strings are displayed in the completed filter as "NOT <string>".

+
+
+

Log Filter Showing Exclude option

+
+
+

Filters based on wildcards or expressions (e.g. NOT, OR, "None", etc.) display in dark blue in the filter field. Items that you select directly from the list are displayed in light blue.

+
+
+ + + + + +
+Note + +At any point, you can click on Create a Log Monitor to create a new Monitor based on the current filter. +
+
+
+
+

Advanced Filtering

+
+

When you are filtering for text or list values in queries or dashboard widgets, as you begin typing you are presented with the option to create a wildcard filter based on the current text. Selecting this option will return all results that match the wildcard expression. You can also create expressions using NOT, AND, or OR, or you can select the "None" option to filter for null values.

+
+
+ + + + + +
+Note + +Be sure to Save your query early and often as you build your filtering. Advanced Querying is "free-form" string entry, and parsing mistakes may occur as you build. +
+
+
+

Take a look at this screen image showing filtered results for an advanced query of the logs.kubernetes.event log. There is a lot going on in this page, which is explained below the image:

+
+
+

The Advanced Query Screen Explained

+
+
+
    +
  1. +

    This advanced query string filters for the following:

    +
    +
      +
    • +

      Filter for log entries with a reason that includes the word "failed", but not anything with the specific reason of "FailedMount".

      +
    • +
    • +

      Include any of those entries that also include a metadata.namespace including the word "monitoring", but exclude the specific namespaces of "cm-monitoring" or "eg-monitoring".

      +
      +

      Note that in the case above, since both "cm-monitoring" and "eg-monitoring" contain a dash ("-"), the strings must be included in double-quotes or a parsing error will be displayed. Strings that do not include dashes, spaces, etc. do not need to be enclosed in quotes. If in doubt, try putting the string in quotes.

      +
      +
    • +
    +
    +
  2. +
  3. +

    The results of the current filter, including any "Filter By" values AND the Advanced Query filter, are displayed in the results list. The list can be sorted by any displayed columns. To display additional columns, select the "gear" icon.

    +
  4. +
  5. +

    The graph has been zoomed in to show only log results that occurred within a specific time frame. The time range shown here reflects the current zoom level. Select the Reset Zoom button to set the zoom level back to the current Cloud Insights time range.

    +
  6. +
  7. +

    The chart results have been Grouped By the source field. The chart shows results in each column grouped into colors. Hovering over a column in the chart will display some details about the specific entries.

    +
    +

    Grouped Hover Details

    +
    +
  8. +
+
+
+

Refining Filters

+
+

You can use the following to refine your filter:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Filter

What it does

* (Asterisk)

enables you to search for everything

? (question mark)

enables you to search for a specific number of characters

OR

enables you to specify multiple entities

NOT

allows you to exclude text from the search results

None

searches for NULL values in all fields

Not *

searches for NULL values in text-only fields

+
+

If you enclose a filter string in double quotes, Insight treats everything between the first and last quote as an exact match. Any special characters or operators inside the quotes will be treated as literals. For example, filtering for "*" will return results that are a literal asterisk; the asterisk will not be treated as a wildcard in this case. The operators OR and NOT will also be treated as literal strings when enclosed in double quotes.

+
+
+

You can combine a simple filter with an advanced query filter; the resulting filter is an "AND" of the two.

+
+
+
+
+

The Chart Legend

+
+

The Legend below the chart has a few surprises as well. For each result (based on the current filter) shown in the Legend, you have an option to display only results for that line (Add Filter), or to display any results NOT for that line (Add Exclude Filter). The chart and the Log Entries list update to show results based on your selection. To remove this filtering, open the Legend again and select the [X] to clear the Legend-based filter.

+
+
+

Advanced Query Legen showing "Add Filter" for the first result

+
+
+
+
+
+

Log Details

+
+
+

Clicking anywhere in a log entry in the list will open a detail pane for that entry. Here you can explore more information about the event.

+
+
+

Click on "Add Filter" to add the selected field to the current filter. The log entry list will update based on the new filter.

+
+
+

Log Entry Detail Pane

+
+
+
+
+

Troubleshooting

+
+
+

Here you will find suggestions for troubleshooting problems with Log Queries.

+
+ ++++ + + + + + + + + + + +

Problem:

Try this:

I don't see "debug" messages in my log query

Debug log messaging is not collected. To capture messages you want, change the relevant message severity to informational, error, alert, emergency, or notice level.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_notifications_email.html b/concept_notifications_email.html new file mode 100644 index 0000000000..3764e71424 --- /dev/null +++ b/concept_notifications_email.html @@ -0,0 +1,4241 @@ + + + + Configuring Email Notifications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Configuring Email Notifications

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

You can configure an email list for subscription-related notifications, as well as a global email list of recipients for notification of performance policy threshold violations.

+
+
+

To configure notification email recipient settings, go to the Admin > Notifications page and select the Email tab.

+
+
+

Email Notifications

+
+
+
+
+

Subscription Notification Recipients

+
+
+

To configure recipients for subscription-related event notifications, go to the "Subscription Notification Recipients" section.
+You can choose to have email notifications sent for subscription-related events to any or all of the following recipients:

+
+
+
    +
  • +

    All Account Owners

    +
  • +
  • +

    All Monitor & Optimize Administrators

    +
  • +
  • +

    Additional Email Addresses that you specify

    +
  • +
+
+
+

The following are examples of the types of notifications that might be sent, and user actions you can take.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Notification:

User Action:

Trial or subscription has been updated

Review subscription details on the Subscription page

Subscription will expire in 90 days
+Subscription will expire in 30 days

No action needed if “Auto Renewal” is enabled
+Contact NetApp sales to renew the subscription

Trial ends in 2 days

Renew trial from the Subscription page. You can renew a trial one time.
+Contact NetApp sales to purchase a subscription

Trial or subscription has expired
+Account will stop collecting data in 48 hours
+Account will be deleted after 48 hours

Contact NetApp sales to purchase a subscription

+
+
+
+

Global Recipient List for Alerts

+
+
+

Email notifications of alerts are sent to the alert recipient list for every action on the alert. You can choose to send alert notifications to a global recipient list.

+
+
+

To configure global alert recipients, choose the desired recipients in the Global Monitor Notification Recipients section.

+
+
+

You can always override the global recipients list for an individual monitor when creating or modifying the monitor.

+
+
+ + + + + +
+Note + +ONTAP Data Collector notifications take precedence over any specific Monitor notifications that are relevant to the cluster/data collector. The recipient list you set for the Data Collector itself will receive the data collector alerts. If there are no active data collector alerts, then monitor-generated alerts will be sent to specific monitor recipients. +
+
+
+
+
+

Editing Notifications for ONTAP

+
+
+

You can modify notifications for ONTAP clusters by selecting Edit Notifications from the upper-right drop-down on a Storage landing page.

+
+
+

ONTAP Edit Notifications

+
+
+

From here, you can set notifications for Critical, Warning, Informational, and/or Resolved alerts. Each scenario can notify the Global Recipient list or other recipients you choose.

+
+
+

ONTAP Notifications for different scenarios

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_ontap_essentials.html b/concept_ontap_essentials.html new file mode 100644 index 0000000000..9831069075 --- /dev/null +++ b/concept_ontap_essentials.html @@ -0,0 +1,4441 @@ + + + + ONTAP Essentials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

ONTAP Essentials

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

ONTAP Essentials is a set of dashboards and workflows that provide detailed overviews of your ONTAP inventories and workloads. You may see the following terms used when working in ONTAP Essentials:

+
+
+
    +
  • +

    Infrastructure/Inventory: Objects that provide storage/networking services to user data

    +
  • +
  • +

    Workloads: Objects that provide interface to users to read/write data.

    +
  • +
  • +

    Data Protection: Objects that can be protected using NetApp data protection technologies

    +
  • +
+
+
+

For additional terms and definitions related to ONTAP, see the ONTAP Data Collector documentation.

+
+
+

ONTAP Essentials requires at least one working ONTAP data collector with data collected within the last seven days.

+
+
+
+
+

Overview

+
+
+

To begin exploring, select ONTAP Essentials from the main Cloud Insights menu.

+
+
+

Overview dashboard for ONTAP Essentials

+
+
+

The Overview dashboard displays useful information like the number of clusters in your environment with their overall capacity and performance percentages. You will also see predictive data regarding the number of expected days until storage capacity or performance capacity runs out of space. Additionally, if any controllers in your infrastructure are running with their CPU at more than 65%--potentially putting your cluster at risk in case of failover—​ONTAP Essentials shows those as "Hot" controllers.

+
+
+

Informative graphs give you a look into performance over time as well as breakdowns of capacity usage. Each of these graphs or data points can be used as a starting point for exploration or investigation.

+
+
+

Note: A "days to full" number of "0" (zero) indicates that days to full is estimated at greater than 90 days. In other words, your systems aren't in danger of running out of space any time soon.

+
+
+
+
+

Data Protection

+
+
+

The Data Protection page shows the status of volumes protected by Snapshot copies or SnapMirror policies.

+
+
+

In the Local Protection Overview section, the charts provide the following information for volumes protected by Snapshot copies:

+
+
+
    +
  • +

    The number of volumes protected by Snapshot copies, as well as those not protected.

    +
  • +
  • +

    The number of volumes that are using or exceeding the reserve space for the Snapshot copies.

    +
  • +
  • +

    The number of volumes in specific ranges of Snapshot copy count (i.e. less than 10 copies, 10 to 200, etc.).

    +
  • +
+
+
+

In the Remote Protection Overview section, the charts provide information related to volumes protected by SnapMirror policies:

+
+
+
    +
  • +

    The number of healthy and unhealthy SnapMirror relationships.

    +
  • +
  • +

    The number of SnapMirror relationships experiencing recovery point objective (RPO) lag based on the lag status.

    +
  • +
  • +

    The number of relationships protected by SnapMirror volume protection types such as Volume SnapMirror, SVMDR relationships, FlexGroup SnapMirror relationships, SnapMirror Business Continuity (SMBC) consistency Group relationships, as well as unprotected volumes.

    +
  • +
  • +

    The number of relationships protected by the SnapMirror relationship types such as Asynchronous Mirror, Asynchronous Vault, Asynchronous MirrorVault, StrictSync, and Sync.

    +
  • +
+
+
+

Data Protection Dashboard widgets showing Local and Remote overviews

+
+
+

The Clusters grid at the bottom of the page provides details related to the following:

+
+
+
    +
  • +

    Volumes not protected by Snapshots.

    +
  • +
  • +

    Volumes breaching snapshot reserve space.

    +
  • +
  • +

    Volumes not protected by snapmirror policies and snapmirror relationships experiencing lag.

    +
  • +
  • +

    Unhealthy SnapMirror relationships.

    +
  • +
+
+
+

Data Protection Cluster List

+
+
+
+
+

Security

+
+
+

The Security Dashboard gives you an instant view of your current security situation, showing charts for hardware and software volume encryption, anti-ransomware status, and cluster authentication methods. Security criteria is evaluated based on recommendations defined in the NetApp Security Hardening Guide for ONTAP 9.

+
+
+

Select any of the encryption or anti-ransomware counts to dive into your environment.

+
+
+

ONTAP Essentials Security Dashboard

+
+
+

The ONTAP Essentials Security dashboard monitors your environment to determine cluster compliance status. Refer to the Cluster Compliance Categories to learn more. ONTAP Essentials uses the following monitors to determine compliance:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Monitor NameAttribute Name (Displayed in Cluster Details)Attribute Compliant Value

FIPS Mode Disabled

FIPS mode

Enabled

Cluster Insecure ciphers for SSH

Secure SSH Settings

Yes

Telnet Protocol Enabled

Telnet

Disabled

Remote Shell Enabled

Remote Shell

Disabled

Default Local Admin User Enabled

Default Admin User

Disabled

MD5 Hashed password

MD5 in use

No

Cluster Peer Communication Not Encrypted

Cluster Peering

Encrypted/ No Peer

AutoSupport HTTPS Transport Disabled

AutoSupport using HTTPS

Yes

No NTP Servers are Configured

Network Time Protocol

Configured

NTP Server Count is Low

Network Time Protocol

Configured

Cluster Login Banner Disabled

Login Banner

Enabled

Log Forwarding Not Encrypted

Log Forwarding Encrypted

Yes

+
+

Note that if a monitor above is disabled, the cluster details will show the value as ‘Not checked’ for the corresponding security compliance attribute.

+
+
+

Cluster Compliance Status

+
+
+

For SVMs, the Security dashboard looks at the following monitors:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
Monitor NameAttribute Name (Displayed in Storage VM Settings)Attribute Compliant Value

Storage VM Insecure ciphers for SSH

Secure SSH Settings

Yes

Storage VM Login banner disabled

Login Banner

Enabled

Storage VM Audit Log Disabled

Audit Log

Enabled

+
+

In the cluster list, select View Details for each cluster to open a "slideout" panel showing you the current settings for Cluster, Storage VM, or Anti-Ransomware.

+
+
+

Cluster details include connection status, certificate information, and more:
+Cluster Detail Slideout Panel

+
+
+

Storage VM details show audit and SSH information:
+Storage tab

+
+
+

Anti-Ransomware details show whether a storage VM is protected by ONTAP's Anti-Ransomware Protection or Cloud Insights Workload Security. Note that the ONTAP ARP column displays the current status of ONTAP's on-board Anti-Ransomware Protection, which is configured on the ONTAP system. Cloud Insights Workload Security can be enabled by selecting "Protect" in that column.
+Anti-Ransomware tab

+
+
+
+
+

Alerts

+
+
+

Here you can view the Active alerts in your environment and quickly drill down into potential problems. Select the Resolved tab to view alerts that have been resolved.

+
+
+

ONTAP Essentials Alerts List

+
+
+
+
+

Infrastructure

+
+
+

The ONTAP Essentials Infrastructure page gives you a view of cluster health and performance, using pre-built (yet further customizable) queries on all the basic ONTAP objects. Select the object type you wish to explore (cluster, storage pool, etc.) and choose whether to view health or performance information. Set filters to dive deeper into individual systems.

+
+
+

Infrastructure selections for storage pools

+
+
+

Infrastructure page showing cluster health:
+Infrastructure objects to explore

+
+
+
+
+

Networking

+
+
+

ONTAP Essentials Networking gives you views into your FC, NVME FC, Ethernet, and iSCSI infrastructure. On these pages you can explore things like ports in your clusters and their nodes.

+
+
+

ONTAP Essentials Networking Menu
+ONTAP Essentials Networking FC page showing ports into cluster nodes

+
+
+
+
+

Workloads

+
+
+

View and explore workloads on LUNs/Volumes, NFS or SMB Shares, or Qtrees in your environment.

+
+
+

Workloads Menu

+
+
+

Workloads list page

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_preview_features.html b/concept_preview_features.html new file mode 100644 index 0000000000..44f72e2b91 --- /dev/null +++ b/concept_preview_features.html @@ -0,0 +1,4147 @@ + + + + Preview Features and Functionality + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Preview Features and Functionality

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Cloud insights highlights new features and functionality in a Preview manner. Preview features are made available in limited environments or at limited capacity.

+
+
+

If you are interested in previewing one or more of these features, contact your NetApp Sales Team for more information.

+
+ ++++ + + + + + + + + + + +

Feature

Description

Reclaim ONTAP Cold Storage

Provides visualizations of ONTAP volume workloads with cold capacity as well as other related metrics.

+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_querying_assets.html b/concept_querying_assets.html new file mode 100644 index 0000000000..37ae6ed9ca --- /dev/null +++ b/concept_querying_assets.html @@ -0,0 +1,4240 @@ + + + + Assets used in queries + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Assets used in queries

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Queries enable you to monitor and troubleshoot your network by searching the assets and metrics in your environment at a granular level based on user-selected criteria (for example, annotations).

+
+
+

Note that annotation rules, which automatically assign annotations to assets, require a query.

+
+
+

You can query the physical or virtual inventory assets (and their associated metrics) in your environment, or the metrics provided with integration such as Kubernetes or ONTAP Advanced Data.

+
+
+
+
+

Inventory Assets

+
+
+

The following asset types can be used in queries, dashboard widgets, and custom asset landing pages. The fields and counters available for filters, expressions, and display will vary among asset types. Not all assets can be used in all widget types.

+
+
+
    +
  • +

    Application

    +
  • +
  • +

    Datastore

    +
  • +
  • +

    Disk

    +
  • +
  • +

    Fabric

    +
  • +
  • +

    Generic Device

    +
  • +
  • +

    Host

    +
  • +
  • +

    Internal Volume

    +
  • +
  • +

    iSCSI Session

    +
  • +
  • +

    iSCSI Network Portal

    +
  • +
  • +

    Path

    +
  • +
  • +

    Port

    +
  • +
  • +

    Qtree

    +
  • +
  • +

    Quota

    +
  • +
  • +

    Share

    +
  • +
  • +

    Storage

    +
  • +
  • +

    Storage Node

    +
  • +
  • +

    Storage Pool

    +
  • +
  • +

    Storage Virtual Machine (SVM)

    +
  • +
  • +

    Switch

    +
  • +
  • +

    Tape

    +
  • +
  • +

    VMDK

    +
  • +
  • +

    Virtual Machine

    +
  • +
  • +

    Volume

    +
  • +
  • +

    Zone

    +
  • +
  • +

    Zone Member

    +
  • +
+
+
+
+
+

Integration Metrics

+
+
+

In addition to querying for inventory assets and their associated performance metrics, you can query for integration data metrics as well, such as those generated by Kubernetes or Docker, or provided with ONTAP Advanced Metrics.

+
+
+

Integration Query Filter Example

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_requesting_support.html b/concept_requesting_support.html new file mode 100644 index 0000000000..cf6480cd71 --- /dev/null +++ b/concept_requesting_support.html @@ -0,0 +1,4373 @@ + + + + Requesting Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Requesting Support

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+ +
+

You can access support options in Cloud Insights by clicking on Help > Support. The support options available to you depend on your Cloud Insights Edition.

+
+
+ + + + + +
+Note + +The Live Chat support option is not available in Cloud Insights Federal Edition. +
+
+
+

Support page

+
+
+
+
+

Activating support entitlement

+
+
+

Cloud Insights offers self-service and email support when running in trial mode. Once you have subscribed to the service, it is strongly recommended that you activate support entitlement. Activating support entitlement enables you to access technical support over the online chat, the web ticketing system, and the phone. The default support mode is self-service until registration is completed. See details below.

+
+
+

During the initial subscription process, your Cloud Insights instance will generate a 20-digit NetApp serial number starting with "950". This NetApp serial number represents the Cloud Insights subscription associated with your account. You must register the NetApp serial number to activate support entitlement. We offer two options for support registration:

+
+
+
    +
  1. +

    User with pre-existing NetApp Support Site (NSS) SSO account (e.g. current NetApp customer)

    +
  2. +
  3. +

    New NetApp customer with no pre-existing NetApp Support Site (NSS) SSO account

    +
  4. +
+
+
+

Option 1: Steps for a user with a pre-existing NetApp Support Site (NSS) SSO account

+
+
Steps
+
    +
  1. +

    Navigate to the NetApp registration website https://register.netapp.com

    +
  2. +
  3. +

    Select “I am already registered as NetApp Customer” and choose Cloud Insights as the Product Line. Select your Billing Provider (NetApp or AWS) and provide your Serial Number and your NetApp Subscription Name or AWS Customer ID by referring to the “Help > Support” menu within the Cloud Insights user interface:

    +
    +

    SN_Screen

    +
    +
  4. +
  5. +

    Complete the Existing Customer Registration form and click Submit.

    +
    +

    existing customer form

    +
    +
  6. +
  7. +

    If no errors occur, user will be directed to a “Registration Submitted Successfully” page. The email address associated with the NSS SSO username used for registration will receive an email within a couple minutes stating “your product is now eligible for support”.

    +
  8. +
  9. +

    This is a onetime registration for the Cloud Insights NetApp serial number.

    +
  10. +
+
+
+
+

Option 2: Steps for a new NetApp customer with no pre-existing NetApp Support Site (NSS) SSO account

+
+
Steps
+
    +
  1. +

    Navigate to the NetApp registration website https://register.netapp.com

    +
  2. +
  3. +

    Select “I am not a registered NetApp Customer” and complete the required information in example form below:

    +
  4. +
+
+
+

new customer form

+
+
+
    +
  1. +

    Select Cloud Insights as the Product Line. Select your Billing Provider (NetApp or AWS) and provide your Serial Number and your NetApp Subscription Name or AWS Customer ID by referring to the “Help > Support” menu within the Cloud Insights user interface:

    +
    +

    SN_Screen

    +
    +
  2. +
  3. +

    If no errors occur, user will be directed to a “Registration Submitted Successfully” page. The email address associated with the NSS SSO username used for registration will receive an email within a few hours stating “your product is now eligible for support”.

    +
  4. +
  5. +

    As a new NetApp customer, you will also need to create a NetApp Support Site (NSS) user account for future registrations and access to support portal for technical support chat and web ticketing. This link is located at https://mysupport.netapp.com/eservice/public/now.do. You can provide your newly registered Cloud Insights serial number to expedite the process.

    +
  6. +
  7. +

    This is a one-time registration for the Cloud Insights NetApp serial number.

    +
  8. +
+
+
+
+
+
+

Obtaining Support Information

+
+
+

NetApp provides support for Cloud Insights in a variety of ways. Extensive free self-support options are available 24x7, such as knowledgebase (KB) articles or the NetApp community. For users who are subscribed to any of the Cloud Insights Editions (Basic*, Standard, Premium), technical support is available via phone or web ticketing. A NetApp Support Site (NSS) SSO account is required for web ticket along with case management.

+
+
+

*Support is available with Basic Edition as long as all your NetApp storage systems are covered at least at the Premium Support level.

+
+
+

Self-Service Support:

+
+

These support options are available in Trial mode and are available for free 24x7:

+
+
+
    +
  • +

    Knowledgebase

    +
    +

    Clicking the links in this section takes you to the NetApp Knowledgebase, where you can search through relevant articles, how-to's, and more.

    +
    +
  • +
+
+
+
    +
  • +

    Documentation

    +
    +

    Clicking on the Documentation link takes you to this documentation center.

    +
    +
  • +
  • +

    Community

    +
    +

    Clicking on the community link takes you to the NetApp Cloud Insights community, where you can connect with peers and experts.

    +
    +
  • +
+
+
+

There is also a link to provide Feedback to help us improve Cloud Insights.

+
+
+
+

Subscription Support

+
+

In addition to the self-support options above, if you have a Cloud Insights subscription or paid support for monitored NetApp products or services, you can work with a NetApp Support Engineer to resolve your problem.

+
+
+ + + + + +
+Note + +You must register in order to activate support for NetApp Cloud products. To register, go to NetApp's Cloud Data Services Support Registration. +
+
+
+

It is highly recommended that you check the box to allow a NetApp Support Engineer access to your Cloud Insights environment during your support session. This will allow the engineer to troubleshoot the problem and help you resolve it quickly. When your issue is resolved or your support session has ended, you can un-check the box.

+
+
+

You can request support by any of the following methods. You must have an active Cloud Insights subscription to use these support options:

+
+
+
    +
  • +

    Phone

    +
  • +
  • +

    Support Ticket

    +
  • +
  • +

    Chat - You will be connected with NetApp support personnel for assistance (weekdays only). Chat is available in the Help > Live Chat menu option in the upper right of any Cloud Insights screen.

    +
  • +
+
+
+

You can also request sales support by clicking on the Contact Sales link.

+
+
+

Your Cloud Insights serial number is visible within the service from the Help > Support menu. If you are experiencing issues accessing the service and have registered a serial number with NetApp previously, you can also view your list of Cloud Insights serial numbers from the NetApp Support Site as follows:

+
+
+
    +
  • +

    Login to mysupport.netapp.com

    +
  • +
  • +

    From the Products > My Products menu tab, use Product Family “SaaS Cloud Insights” to locate all your registered serial numbers:

    +
  • +
+
+
+

View Support SN

+
+
+
+
+
+

Cloud Insights Data Collector Support Matrix

+
+
+

You can view or download information and details about supported Data Collectors in the Cloud Insights Data Collector Support Matrix.

+
+
+

Learning Center

+
+

Regardless of your subscription, Help > Support links to several NetApp University course offerings to help you get the most out of Cloud Insights. Check them out!

+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_searching_assets.html b/concept_searching_assets.html new file mode 100644 index 0000000000..68bd6ea099 --- /dev/null +++ b/concept_searching_assets.html @@ -0,0 +1,4354 @@ + + + + Hints and Tips to Search for Assets and Alerts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Hints and Tips to Search for Assets and Alerts

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Multiple search techniques can be used to search for data or objects in your monitored environment.

+
+
+
    +
  • +

    Wildcard search

    +
    +

    You can perform multiple character wildcard search using the * character. For example, applic*n would return application.

    +
    +
  • +
  • +

    Phrases used in search

    +
    +

    A phrase is a group of words surrounded by double quotation marks; for example, "VNX LUN 5". You can use double quotes to search for documents that contain spaces in their names or attributes.

    +
    +
  • +
  • +

    Boolean Operators

    +
    +

    Using Boolean operators OR, AND, and NOT, you can combine multiple terms to form a more complex query.

    +
    +
    +

    OR

    +
    +
    +

    The OR operator is the default conjunction operator.

    +
    +
    +

    If there is no Boolean operator between two terms, the OR operator is used.

    +
    +
    +

    The OR operator links two terms and finds a matching document if either of the terms exists in a document.

    +
    +
    +

    For example, storage OR netapp searches for documents that contain either storage or netapp.

    +
    +
    +

    High scores are given to documents that match most of the terms.

    +
    +
    +

    AND

    +
    +
    +

    You can use the AND operator to find documents in which both the search terms exist in a single document. For example, storage AND netapp searches for documents that contain both storage and netapp.

    +
    +
    +

    You can use the symbol && instead of the word AND.

    +
    +
    +

    NOT

    +
    +
    +

    When you use the NOT operator, all the documents that contain the term after NOT are excluded from the search results. For example, storage NOT netapp searches for documents that contains only storage and not netapp.

    +
    +
    +

    You can use the symbol ! instead of the word NOT.

    +
    +
  • +
+
+
+

Search is case-insensitive.

+
+
+
+
+

Search using indexed terms

+
+
+

Searches that match more of the indexed terms result in higher scores.

+
+
+

The search string is split into separate search terms by space. For example, the search string "storage aurora netapp" is split into three keywords: "storage", "aurora", and "netapp". The search is performed using all three terms. The documents that match most of these terms will have the highest score. The more information you provide, the better are the search results. For example, you can search for a storage by its name and model.

+
+
+

The UI displays the search results across categories, with the three top results per category. If you did not find an object that you were expecting, you can include more terms in the search string to improve the search results.

+
+
+

The following table provides a list of indexed terms that can be added to the search string.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryIndexed terms

Storage

"storage"
+name
+vendor
+model

StoragePool

"storagepool"
+name
+name of the storage
+IP addresses of the storage
+serial number of the storage
+storage vendor
+storage model
+names for all associated internal volumes
+names for all associated disks

Internal Volume

"internalvolume"
+name
+name of the storage
+IP addresses of the storage
+serial number of the storage
+storage vendor
+storage model
+name of the storage pool
+names of all associated shares
+names of all associated applications

Volume

"volume"
+name
+label
+names of all internal volumes
+name of the storage pool
+name of the storage
+IP addresses of the storage
+serial number of the storage
+storage vendor
+storage model

Storage Node

"storagenode"
+name
+name of the storage
+IP addresses of the storage
+serialnumber of the storage
+storage vendor
+storage model

Host

"host"
+name
+IP addresses
+names of all associated applications

Datastore

"datastore"
+name
+virtual center IP
+names of all volumes
+names of all internal volumes

Virtual Machines

"virtualmachine"
+name
+DNS name
+IP addresses
+name of the host
+IP addresses of the host
+names of all datastores
+names of all associated applications

Switches (regular and NPV)

"switch"
+IP address
+wwn
+name
+serial number
+model
+domain ID
+name of the fabric
+wwn of the fabric

Application

"application"
+name
+tenant
+line of business
+business unit
+project

Tape

"tape"
+IP address
+name
+serial number
+vendor

Port

"port"
+wwn
+name

Fabric

"fabric"
+wwn
+name

Storage Virtual Machine (SVM)

"storagevirtualmachine"
+name
+UUID

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_storage_virtualization.html b/concept_storage_virtualization.html new file mode 100644 index 0000000000..90ac9bc841 --- /dev/null +++ b/concept_storage_virtualization.html @@ -0,0 +1,4170 @@ + + + + Storage Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Storage Virtualization

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Cloud Insights can differentiate between a storage array having local storage or virtualization of other storage arrays. This gives you the ability to relate cost and distinguish performance from the front-end all the way to the back-end of your infrastructure.

+
+
+
+
+

Virtualization in a Table Widget

+
+

One of the easiest ways to begin looking at your storage virtualization is to create a dashboard table widget showing Virtualized type. When building the query for the widget, simply add "virtualizedType" to your grouping or filter.

+
+
+

Basic query to show storage virtualizedTypes

+
+
+

The resulting table widget shows you the Standard, Backend, and Virtual storages in your environment.

+
+
+

Table showing virtualized types

+
+
+
+

Landing Pages show Virtualized information

+
+

On a storage, volume, internal volume, or disk landing page, you can see relevant virtualization information. For example, looking at the storage landing page below, you can see that this is a Virtual storage, and which backend storage system applies. Any relevant tables on landing pages will also show virtualization information as applicable.

+
+
+

Storage Landing Page showing Virtual and backed storage information

+
+
+
+

Existing landing pages and dashboards

+
+

Be aware that if you currently have customized landing pages or dashboards in your environment, these will not automatically show all virtualization information by default. However, you can Revert to Default any customized dashboard or landing page (you will have to re-implement your customizations), or modify the relevant widgets to include the desired virtualization attributes or metrics.

+
+
+

Revert to Default is available in the upper-right corner of a custom dashboard or landing page screen.

+
+
+

Revert to Default button

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_subscribing_to_cloud_insights.html b/concept_subscribing_to_cloud_insights.html new file mode 100644 index 0000000000..1909606faf --- /dev/null +++ b/concept_subscribing_to_cloud_insights.html @@ -0,0 +1,4505 @@ + + + + Subscribing to Cloud Insights + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Subscribing to Cloud Insights

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Getting started with Cloud Insights is as easy as three simple steps:

+
+
+
    +
  • +

    Sign up for an account on NetApp BlueXP to get access to all of NetApp's Cloud offerings.

    +
  • +
  • +

    Register for a free trial of Cloud Insights to explore the features available.

    +
  • +
  • +

    Subscribe to Cloud Insights for on-going, uninterrupted access to your data via NetApp Sales direct or AWS Marketplace.

    +
  • +
+
+
+

During the registration process, you can choose the global region to host your Cloud Insights environment.
+For more information, read about Cloud Insights Information and Region.

+
+
+ + + + + +
+Note + +Unless otherwise noted, the information on this page generally applies to Cloud Insights Commercial Editions. The Federal Edition of Cloud Insights may not contain some of the functionality described on this page. +
+
+
+

For a full comparison of the features available in Cloud Insights Basic and Premium Editions, see the Cloud Insights Pricing page.

+
+
+ + + + + +
+Warning + +Inactive Cloud Insights Basic Edition environments are deleted and their resources are reclaimed. An environment is considered inactive if there is no user activity for 30 consecutive days, of if there is no data ingested for 7 consecutive days. Cloud Insights will send a notification and provide a grace period of four days before an environment is deleted. +
+
+
+

While using Cloud Insights, if you see a padlock icon Padlock, it means the feature is not available in your current Edition, or is available in a limited form. Upgrade for full access to the feature.

+
+
+
+
+

Trial Edition

+
+
+

When you sign up for Cloud Insights and your environment is active, you enter into a free, 30-day trial of Cloud Insights. During this trial you can explore the features that Cloud Insights has to offer, in your own environment.

+
+
+

At any time during your trial period, you can subscribe to Cloud Insights. Subscribing to Cloud Insights ensures uninterrupted access to your data as well as extended product support options.

+
+
+

Cloud Insights displays a banner when your free trial is nearing its end. Within that banner is a View Subscription link, which opens the Admin → Subscription page. Non-Admin users will see the banner but will not be able to go to the Subscription page.

+
+
+ + + + + +
+Note + +If you need additional time to evaluate Cloud Insights and your trial is set to expire in 4 days or less, you can extend your trial for an additional 30 days. You can extend the trial only once. You cannot extend if your trial has expired. +
+
+
+

Trial through AWS Marketplace

+
+

You may also sign up for a free trial through the AWS Marketplace. The AWS Marketplace free trial gives you access to Cloud Insights for a trial period of 33 days, and allows up to 499 Managed Units (MUs).

+
+
+

Note: If you configure more than 499 MUs, you will enter "breached" state. While your trial is in breached state, you will lose access to some Cloud Insights functionality until the breach is resolved, either by reducing the number of MUs configured, or by subscribing to Cloud Insights.

+
+
+

The AWS Marketplace free trial cannot be extended. At any time during your trial, you can downgrade to a Cloud Insights Basic Edition subscription or change to a paid Cloud Insights subscription by visiting the Admin → Subscription page.

+
+
+

What if My Trial has Expired?

+
+

If your free trial has expired and you have not yet subscribed to Cloud Insights, you will have limited functionality until you subscribe.

+
+
+
+
+
+
+

Module Trials

+
+
+

Coming Soon!

+
+
+ + + + + +
+Note + +Module Trial is considered Preview functionality and is therefore subject to change. +
+
+
+

In addition to your initial trial of Cloud Insights, you may also take advantage of Module Trials. For example, if you are already subscribed to Infrastructure Observability but are adding Kubernetes to your environment, you will automatically enter into a 30-day trial of Kubernetes Observability, starting from when you install the NetApp Kubernetes Monitoring Operator. You will only be charged for your Kubernetes Observability managed unit usage at the end of the trial period.

+
+
+ + + + + +
+Note + +Keep in mind that you will be charged for new managed unit (MU) usage following the trial period, so be sure to plan accordingly. When your module trial is ending, you will be notified if you will need to add more MUs to avoid service interruption. +
+
+
+

You can monitor your managed unit usage on the Admin > Subscription page in the Usage tab.

+
+
+

MU Usage Screen

+
+
+

Estimator

+
+

During a module trial, you are not changed MU usage for resources consumed for the module, but you can open the Estimator (on the Summary tab) to see how MUs will be charged following the trial, as well as play with "What if" scenarios with the number of MUs you may need in the future. Reset the numbers by exiting the Estimator.

+
+
+

Estimator

+
+
+

Select the checkbox next to a module to add or remove the entire module's MU's from the estimated cost.

+
+
+

The Estimator also allow you to see how the numbers stack up for either an Add On - where you keep your current subscription term and increase the number of managed units licensed - or a Renew option for a the renewal subscription you would purchase when your current subscription term ends.

+
+
+

Note that customers are only eligible for a module trial once per subscription.

+
+
+
+
+
+

Subscription Options

+
+
+

To subscribe, go to Admin → Subscription. In addition to the Subscribe buttons, you will be able to see your installed data collectors and calculate your estimated pricing. For a typical environment, you can click the self-serve AWS Marketplace button. If your environment includes or is expected to include 1,000 or more Managed Units, you are eligible for Volume Pricing.

+
+
+

Pricing

+
+

Cloud Insights is priced per Managed Unit. Usage of your Managed Units is calculated based on the number of hosts or virtual machines and amount of unformatted capacity being managed in your infrastructure environment.

+
+
+
    +
  • +

    1 Managed Unit = 2 hosts (any virtual or physical machine)

    +
  • +
  • +

    1 Managed Unit = 4 TiB of unformatted capacity of physical or virtual disks

    +
  • +
  • +

    1 Managed Unit = 40 TiB of unformatted capacity of select secondary storage: AWS S3, Cohesity SmartFiles, Dell EMC Data Domain, Dell EMC ECS, Hitachi Content Platform, IBM Cleversafe, NetApp StorageGRID, Rubrik.

    +
  • +
  • +

    1 Managed Unit = 4 vCPUs of Kuberentes

    +
  • +
+
+
+

If your environment includes or is expected to include 1,000 or more Managed Units, you are eligible for Volume Pricing and will be prompted to Contact NetApp Sales to subscribe. See below for more details.

+
+
+
+

Estimate Your Subscription Cost

+
+

The Subscription Calculators help you estimate your Cloud Insights subscription cost based on the number of Managed Units needed. The current values are pre-populated, and you can adjust those values to assist you with planning for estimated future growth. You can adjust values for Infrastructure, Kubernetes, or both.

+
+
+

Your estimated list price cost will change based on your subscription term.
+NOTE: The calculators are for estimation only. Your exact pricing will be set when you subscribe.

+
+
+

Subscription Page showing Infrastructure and Kubernetes cost estimation calculators

+
+
+
+
+
+

How Do I Subscribe?

+
+
+

If your Managed Unit count is less than 1,000, you can subscribe via NetApp Sales, or self-subscribe via AWS Marketplace.

+
+
+

Subscribe through NetApp Sales direct

+
+

If your expected Managed Unit count is 1,000 or greater, click on the Contact Sales button to subscribe though the NetApp Sales Team.

+
+
+

You must provide your Cloud Insights Serial Number to your NetApp sales representative so that your paid subscription can be applied to your Cloud Insights environment. The Serial Number uniquely identifies your Cloud Insights trial environment and can be found on the Admin > Subscription page.

+
+
+
+

Self-Subscribe through AWS Marketplace

+
+ + + + + +
+Note + +You must be an Account Owner or Administrator in order to apply an AWS Marketplace subscription to your existing Cloud Insights trial account. Additionally, you must have an Amazon Web Services (AWS) account. +
+
+
+

Clicking on the Amazon Marketplace link opens the AWS Cloud Insights subscription page, where you can complete your subscription. Note that values you entered in the calculator are not populated in the AWS subscription page; you will need to enter the total Managed Units count on this page.

+
+
+

After you have entered the total Managed Units count and chosen either 12-month or 36-month subscription term, click on Set Up Your Account to finish the subscription process.

+
+
+

Once the AWS subscription process is complete, you will be taken back to your Cloud Insights environment. Or, if the environment is no longer active (for example, you have logged out), you will be taken to the NetAPp BlueXP sign-in page. When you sign in to Cloud Insights again, your subscription will be active.

+
+
+ + + + + +
+Note + +After clicking on Set Up Your account on the AWS Marketplace page, you must complete the AWS subscription process within one hour. If you do not complete it within one hour, you will need to click on Set Up Your Account again to complete the process. +
+
+
+

If there is a problem and the subscription process fails to complete correctly, you will still see the "Trial Version" banner when you log into your environment. In this event, you can go to Admin > Subscription and repeat the subscription process.

+
+
+
+
+
+

View Your Subscription Status

+
+
+

Once your subscription is active, you can view your subscription status and Managed Unit usage from the Admin > Subscription page.

+
+
+

The Subscription Summary tab displays the following:

+
+
+
    +
  • +

    Current Edition

    +
  • +
  • +

    Subscription Serial Number

    +
  • +
  • +

    Current MU usage and "what if?" cost estimators

    +
  • +
  • +

    Links to modify your subscription

    +
  • +
  • +

    Views of your Managed Unit usage

    +
  • +
+
+
+
+
+

View your Usage Management

+
+
+

The Usage Management tab shows an overview of Managed Unit usage, as well as tabs breaking down Managed Unit consumption by collector or Kubernetes Cluster.

+
+
+ + + + + +
+Note + +The Unformatted Capacity Managed Unit count reflects a sum of the total raw capacity in the environment and is rounded up to the nearest Managed Unit. +
+
+
+ + + + + +
+Note + +The sum of Managed Units may differ slightly from the Data Collectors count in the summary section. This is because Managed Unit counts are rounded up to the nearest Managed Unit. The sum of these numbers in the Data Collectors list may be slightly higher than the total Managed Units in the status section. The summary section reflects your actual Managed Unit count for your subscription. +
+
+
+

In the event that your usage is nearing or exceeding your subscribed amount, you can reduce usage by deleting data collectors or stopping monitoring of Kubernetes Clusters. Delete an item in this list by clicking on the "three dots" menu and selecting Delete.

+
+
+

What Happens if I Exceed My Subscribed Usage?

+
+

Warnings are displayed when your Managed Unit usage exceeds 80%, 90%, and 100% of your total subscribed amount:

+
+ ++++ + + + + + + + + + + + + + + + + + + +

When usage exceeds:

This happens / Recommended action:

80%

An informational banner is displayed. No action is necessary.

90%

A warning banner is displayed. You may want to increase your subscribed Managed Unit count.

100%

An error banner is displayed and you will have limited functionality until you do one of the following:
+* Remove Data Collectors so that your Managed Unit usage is at or below your subscribed amount
+* Modify your subscription to increase the subscribed Managed Unit count

+
+
+
+
+

Subscribe Directly and Skip the Trial

+
+
+

You can also subscribe to Cloud Insights directly from the AWS Marketplace, without first creating a trial environment. Once your subscription is complete and your environment is set up, you will immediately be subscribed.

+
+
+
+
+

Adding an Entitlement ID

+
+
+

If you own a valid NetApp product that is bundled with Cloud Insights, you can add that product serial number to your existing Cloud Insights subscription. For example, if you have purchased NetApp Astra Control Center, the Astra Control Center license serial number can be used to identify the subscription in Cloud Insights. Cloud Insights refers to this an Entitlement ID.

+
+
+

To add an entitlement ID to your Cloud Insights subscription, on the Admin > Subscription page, click +Entitlement ID.

+
+
+

Add an entitlement ID to your subscription

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_telegraf_display_options.html b/concept_telegraf_display_options.html new file mode 100644 index 0000000000..51695ca5f0 --- /dev/null +++ b/concept_telegraf_display_options.html @@ -0,0 +1,4161 @@ + + + + Transforming Metrics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Transforming Metrics

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Cloud Insights provides different transform options for certain metrics in widgets (specifically, those metrics called "Custom" or Integration Metrics, such as from Kubernetes, ONTAP Advanced Data, Telegraf plugins, etc.), allowing you to display the data in a number of ways. When adding transformable metrics to a widget, you are presented with a drop-down giving the following transform choices:

+
+
+
+
None
+
+

Data is displayed as is, with no manipulation.

+
+
Rate
+
+

Current value divided by the time range since the previous observation.

+
+
Cumulative
+
+

The accumulation of the sum of previous values and the current value.

+
+
Delta
+
+

The difference between the previous observation value and the current value.

+
+
Delta rate
+
+

Delta value divided by the time range since the previous observation.

+
+
Cumulative Rate
+
+

Cumulative value divided by the time range since the previous observation.

+
+
+
+
+

Note that transforming metrics does not change the underlying data itself, but only the way that data is displayed.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_troubleshooting_overview.html b/concept_troubleshooting_overview.html new file mode 100644 index 0000000000..5f52335bde --- /dev/null +++ b/concept_troubleshooting_overview.html @@ -0,0 +1,4134 @@ + + + + Troubleshooting Cloud Insights Problems + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Troubleshooting Cloud Insights Problems

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

The topics in this section provide troubleshooting advice in the event of problems with your Cloud Insights environment.

+
+
+

Click on a category in the menu to the left to see troubleshooting information for that category.

+
+
+

You can find more troubleshooting and other support information on the Cloud Insights Help > Support page.

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_ttl_and_downsampling.html b/concept_ttl_and_downsampling.html new file mode 100644 index 0000000000..d903b74673 --- /dev/null +++ b/concept_ttl_and_downsampling.html @@ -0,0 +1,4262 @@ + + + + Data Retention and Downsampled Data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Data Retention and Downsampled Data

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Because Cloud Insights retains data for a set period (per Edition), there is potential for processing of thousands of data points. Data may therefore be downsampled before being displayed in charts and tables.

+
+
+
+
+

Data Retention

+
+
+

Cloud Insights retains data for an amount of time determined by the active subscribed Edition.

+
+ ++++ + + + + + + + + + + + + + + + + +
EditionData Retention

Basic

7 Days

Premium

13 Months

+
+

A full list of features available in each Edition is available on the Cloud Insights Editions and Pricing page.

+
+
+
+
+

Downsampling of Data

+
+
+

Downsampling provides a statistical approximation of your data in charts, giving you an efficient overview of data without having to display every data point, while maintaining an accurate view of your collected data.

+
+
+

Why is downsampling needed?

+
+

Because a large amount of processing is needed to prepare data for display in charts and graphs, in order to allow charts to display quickly and efficiently, data may be downsampled in a manner that keeps the overall shape of a chart without needing to process every single data point for that chart.

+
+
+

Note: No actual data is lost during downsampling. You can choose to view actual data for your chart instead of downsampled data by following the steps illustrated below.

+
+
+
+

How downsampling works

+
+

Data is downsampled under the following conditions:

+
+
+
    +
  • +

    When your selected time range includes 7 days of data or less, no downsampling occurs. Charts display actual data.

    +
  • +
  • +

    When your selected time range includes more than 7 days of data but less than 1,000 data points, no downsampling occurs. Charts display actual data.

    +
  • +
  • +

    When your selected time range includes more than 7 days of data and more than 1,000 data points, data is downsampled. Charts display approximated data.

    +
  • +
+
+
+

The following examples show downsampling in action. The first illustration shows latency and IOPS charts on a Datastore asset page for a 24-hour period, as shown by selecting 24h on the asset page's time selector. You can also see the same data by selecting Custom and setting the time range to the same 24-hour period.

+
+
+

Since we are choosing a time range of less than 7 days and we have less than 1,000 data points to chart, the data displayed is actual data. No downsampling occurs.

+
+
+

No Downsampling

+
+
+

However, if you are viewing data by choosing either 30d on the asset page time selector, or by setting a custom time range of more than 7 days (or in the event that Cloud Insights has collected more than 1,000 data samples for the time period chosen), the data is downsampled before being displayed. When you zoom in on a downsampled chart, the display continues to show the approximated data.

+
+
+ + + + + +
+Note + +When you zoom in on a downsampled chart, the zoom is a digital zoom. The display continues to show the approximated data. +
+
+
+

You can see this in the following illustration, where the time range is first set to 30d, and the chart is then zoomed in to show the same 24-hour period as above.

+
+
+

Downsampling

+
+
+

The downsampled charts are showing the same 24-hour period as the "actual" charts above, so the lines follow the same general shape, allowing you to quickly spot interesting peaks or valleys in your performance data.

+
+
+ + + + + +
+Note + +Due to the way data is approximated for downsampling, chart lines may be off slightly when comparing downsampled vs. actual data, to allow for better alignment in the graphs. However, the difference is minimal and does not affect the overall accuracy of the data displayed. +
+
+
+
+

Violations on downsampled charts

+
+

When viewing downsampled charts, be aware that violations are not shown. To see violations, you can do one of two things:

+
+
+
    +
  • +

    View the actual data for that time range by selecting Custom in the asset page time selector, and entering a range of time less than 7 days. Hover over each red dot. The tooltip will show the violation that occurred.

    +
  • +
  • +

    Note the time range and find the violation(s) in the Violation Dashboard.

    +
  • +
+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_user_roles.html b/concept_user_roles.html new file mode 100644 index 0000000000..99d538a669 --- /dev/null +++ b/concept_user_roles.html @@ -0,0 +1,4638 @@ + + + + User Accounts and Roles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

User Accounts and Roles

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Cloud Insights provides up to four user account roles: Account Owner, Administrator, User, and Guest. Each account is assigned specific permission levels as noted in the table below. Users are either invited to Cloud Insights and assigned a specific role, or can sign in via Single Sign-On (SSO) Authorization with a default role. SSO Authorization is available as a feature in Cloud Insights Premium Edition.

+
+
+ + + + + +
+Note + +User logins in Cloud Insights Federal Edition are limited to configured identity providers (with their specified email domains). When a new user is invited to a Cloud Insights Federal environment, their email address must match the domain configured for that environment. +
+
+
+
+
+

Permission levels

+
+
+

You use an account that has Administrator privileges to create or modify user accounts. Each user account is assigned a role for each Cloud Insights feature from the following permission levels.

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleObservabilityWorkload SecurityReporting

Account Owner

Can modify subscriptions, view billing and usage information, and perform all Administrator functions for Observability, Security, and Reporting.
+Owners can also invite and manage users, as well as manage SSO Authentication and Identity Federation settings.
+
+The first Account Owner is created when you register for Cloud Insights.
+
+It is strongly recommended to have at least two Account Owners for each Cloud Insights environment. 

Administrator

Can perform all Observability functions, all user functions, as well as management of data collectors, Observability API tokens, and notifications.
+An Administrator can also invite other users but can only assign Observability roles.

Can perform all Security functions, including those for Alerts, Forensics, data collectors, automated response policies, and API tokens for Security.
+An Administrator can also invite other users but can only assign Security roles.

Can perform all User/Author functions including managing Reporting API tokens, as well as all administrative tasks such as configuration of reports, and the shutdown and restart of reporting tasks.
+An Administrator can also invite other users but can only assign Reporting roles.

User

Can view and modify dashboards, queries, alerts, annotations, annotation rules, and applications, and manage device resolution.

Can view and manage Alerts and view Forensics. User role can change alert status, add a note, take snapshots manually, and manage restrict user access.

Can perform all Guest/Consumer functions as well as create and manage reports and dashboards.

Guest

Has read-only access to asset pages, dashboards, alerts, and can view and run queries.

Can view Alerts and Forensics. Guest role cannot change alert status, add a note, take snapshots manually, or restrict user access.

Can view, schedule, and run reports and set personal preferences such as those for languages and time zones. Guests/Consumers cannot create reports or perform administrative tasks.

+
+

Best practice is to limit the number of users with Administrator permissions. The greatest number of accounts should be user or guest accounts.

+
+
+

Cloud Insights Permissions by User Role

+
+

The following table shows the Cloud Insights permissions granted to each user role.

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Feature

Administrator/
+Account Owner

User

Guest

Acquisition Units: Add/Modify/Delete

Y

N

N

Alerts*: Create/Modify/Delete

Y

Y

N

Alerts*: View

Y

Y

Y

Annotation Rules: Create/Run/Modify/Delete

Y

Y

N

Annotations: Create/Modify/Assign/View/Remove/Delete

Y

Y

N

API Access*: Create/Rename/Disable/Revoke

Y

N

N

Applications: Create/View/Modify/Delete

Y

Y

N

Asset Pages: Modify

Y

Y

N

Asset Pages: View

Y

Y

Y

Audit: View

Y

N

N

Cloud Cost

Y

N

N

Security

Y

N

N

Dashboards: Create/Modify/Delete

Y

Y

N

Dashboards: View

Y

Y

Y

Data Collectors: Add/Modify/Poll/Delete

Y

N

N

Notifications: View

Y

Y

Y

Notifications: Modify

Y

N

N

Queries: Create/Modify/Delete

Y

Y

N

Queries: View/Run

Y

Y

Y

Device Resolution

Y

Y

N

Reports*: View/Run

Y

Y

Y

Reports*: Create/Modify/Delete/Schedule

Y

Y

N

Subscription: View/Modify

Y

N

N

User Management: Invite/Add/Modify/Deactivate

Y

N

N

+
+

*Requires Premium Edition

+
+
+
+
+
+

Creating Accounts by Inviting Users

+
+
+

Creating a new user account is achieved through Cloud Central. A user can respond to the invitation sent through email, but if the user does not have an account with Cloud Central, the user needs to sign up with Cloud Central so that they can accept the invitation.

+
+
+
Before you begin
+
    +
  • +

    The user name is the email address of the invitation.

    +
  • +
  • +

    Understand the user roles you will be assigning.

    +
  • +
  • +

    Passwords are defined by the user during the sign up process.

    +
  • +
+
+
+
Steps
+
    +
  1. +

    Log into Cloud Insights

    +
  2. +
  3. +

    In the menu, click Admin > User Management

    +
    +

    The User Management screen is displayed. The screen contains a list of all of the accounts on the system.

    +
    +
  4. +
  5. +

    Click + User

    +
    +

    The Invite User screen is displayed.

    +
    +
  6. +
  7. +

    Enter an email address or multiple addresses for invitations.

    +
    +

    Note: When you enter multiple addresses, they are all created with the same role. You can only set multiple users to the same role.

    +
    +
  8. +
+
+
+
    +
  1. +

    Select the user's role for each feature of Cloud Insights.

    +
    + + + + + +
    +Note + +The features and roles you can choose from depend on which features you have access to in your particular Administrator role. For example, if you have Admin role only for Reporting, you will be able to assign users to any role in Reporting, but will not be able to assign roles for Observability or Security. +
    +
    +
    +

    User Role Choices

    +
    +
  2. +
  3. +

    Click Invite

    +
    +

    The invitation is sent to the user. Users will have 14 days to accept the invitation. Once a user accepts the invitation, they will be taken to the NetApp Cloud Portal, where they will sign up using the email address in the invitation. If they have an existing account for that email address, they can simply sign in and will then be able to access their Cloud Insights environment.

    +
    +
  4. +
+
+
+
+
+

Modifying an existing user's role

+
+
+

To modify an existing user's role, including adding them as a secondary account owner, follow these steps.

+
+
+
    +
  1. +

    Click Admin > User Management. The screen displays a list of all of the accounts on the system.

    +
  2. +
  3. +

    Click the user name of the account you want to change.

    +
  4. +
  5. +

    Modify the user's role in each Cloud Insights feature set as needed.

    +
  6. +
  7. +

    Click Save Changes.

    +
  8. +
+
+
+

To assign a Secondary Account Owner

+
+

You must be logged in as an account owner for Observability in order to assign the account owner role to another user.

+
+
+
    +
  1. +

    Click Admin > User Management.

    +
  2. +
  3. +

    Click the user name of the account you want to change.

    +
  4. +
  5. +

    In the User dialog, click on Assign as Owner.

    +
  6. +
  7. +

    Save the changes.

    +
  8. +
+
+
+

user change dialog showing account owner choice

+
+
+

You can have as many account owners as you wish, but best practice is to limit the owner role to only select people.

+
+
+
+
+
+

Deleting Users

+
+
+

A user with the Administrator role can delete a user (for example, someone no longer with the company) by clicking on the user's name and clicking Delete User in the dialog. The user will be removed from the Cloud Insights environment.

+
+
+

Note that any dashboards, queries, etc. that were created by the user will remain available in the Cloud Insights environment even after the user is removed.

+
+
+
+
+

Single Sign-On (SSO) and Identity Federation

+
+
+

Enabling Identity Federation for SSO In Cloud Insights

+
+

With Identity Federation:

+
+
+
    +
  • +

    Authentication is delegated to the customer’s identity management system, using the customer’s credentials from your corporate directory, and automatization policies such as Multi-Factor Authentication (MFA).

    +
  • +
  • +

    Users log in once to all NetApp Cloud Services (Single Sign On).

    +
  • +
+
+
+

User accounts are managed in NetApp Cloud Central for all Cloud Services. By default, authentication is done using Cloud Central local user profile. Below is a simplified overview of that process:

+
+
+

Cloud Central Authentication

+
+
+

However, some customers would like to use their own identity provider to authenticate their users for Cloud Insights and their other NetApp Cloud Central Services. With Identity Federation, NetApp Cloud Central accounts are authenticated using credentials from your corporate directory.

+
+
+

The following is a simplified example of that process:

+
+
+

Identity Federation Illustrated

+
+
+

In the above diagram, when a user accesses Cloud Insights, that user is directed to the customer’s identity management system for authentication. Once the account is authenticated, the user is directed to the Cloud Insights tenant URL.

+
+
+

Cloud Central uses Auth0 to implement Identity Federation and integrate with services like Active Directory Federation Services (ADFS) and Microsoft Azure Active Directory (AD). For more information on Identity Federation setup and configuration, see Cloud Central documentation on Identity Federation.

+
+
+

It is important to understand that changing identity federation in Cloud Central will apply not only to Cloud Insights but to all NetApp Cloud Services. The customer should discuss this change with the NetApp team of each Cloud Central product they own to make sure the configuration they are using will work with Identity Federation or if adjustments need to be made on any accounts. The customer will need to involve their internal SSO team in the change to identity federation as well.

+
+
+

It is also important to realize that once identity federation is enabled, that any changes to the company’s identity provider (such moving from SAML to Microsoft AD) will likely require troubleshooting/changes/attention in Cloud Central to update the profiles of the users.

+
+
+
+

Single Sign-On (SSO) User Auto-Provisioning

+
+

In addition to inviting users, administrators can enable Single Sign-On (SSO) User Auto-Provisioning access to Cloud Insights for all users in their corporate domain, without having to invite them individually. With SSO enabled, any user with the same domain email address can log into Cloud Insights using their corporate credentials.

+
+
+ + + + + +
+Note + +SSO User Auto-Provisioning is available in Cloud Insights Premium Edition, and must be configured before it can be enabled for Cloud Insights. SSO User Auto-Provisining configuration includes Identity Federation through NetApp Cloud Central as described in the section above. Federation allows single sign-on users to access your NetApp Cloud Central accounts using credentials from your corporate directory, using open standards such as Security Assertion Markup Language 2.0 (SAML) and OpenID Connect (OIDC). +
+
+
+

To configure SSO User Auto-Provisioning, on the Admin > User Management page, click the Request Federation button. Once configured, administrators can then enable SSO user login. When an administrator enables SSO User Auto-Provisioning, they choose a default role for all SSO users (such as Guest or User). Users who log in through SSO will have that default role.

+
+
+

User management with Federation

+
+
+

Occasionally, an administrator will want to promote a single user out of the default SSO role (for example, to make them an administrator). They can accomplish this on the Admin > User Management page by clicking on the right-side menu for the user and selecting Assign Role. Users who are assigned an explicit role in this way continue to have access to Cloud Insights even if SSO User Auto-Provisioning is subsequently disabled.

+
+
+

If the user no longer requires the elevated role, you can click the menu to Remove User. The user will be removed from the list. If SSO User Auto-Provisioning is enabled, the user can continue log in to Cloud Insights through SSO, with the default role.

+
+
+

You can choose to hide SSO users by unchecking the Show SSO Users checkbox.

+
+
+

However, do not enable SSO User Auto-Provisioning if either of these are true:

+
+
+
    +
  • +

    Your organization has more than one Cloud Insights tenant

    +
  • +
  • +

    Your organization does not want any/every user in the federated domain to have some level of automatic access to the Cloud Insights tenant. At this point in time, we do not have the ability to use groups to control role access with this option.

    +
  • +
+
+
+
+
+
+

Restricting Access by Domain

+
+
+

Cloud Insights can restrict user access to only the domains you specify. On the Admin > User Management page, select "Restrict Domains".

+
+
+

Restricting domains to only default domains

+
+
+

You are presented with these choices:

+
+
+
    +
  • +

    No restrictions: Cloud Insights remains accessible to users regardless of their domain.

    +
  • +
  • +

    Limit access to default domains: default domains are those used by your Cloud Insights environment account owners. These domains are always accessible.

    +
  • +
  • +

    Limit access to defaults plus domains you specify. List any domains you want to have access to your Cloud Insights environment, in addition to the default domains.

    +
  • +
+
+
+

Restrict Domains Tooltip

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_whats_new.html b/concept_whats_new.html new file mode 100644 index 0000000000..45d039b905 --- /dev/null +++ b/concept_whats_new.html @@ -0,0 +1,8149 @@ + + + + What's New with Cloud Insights + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

What's New with Cloud Insights

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + + RSS + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

NetApp is continually improving and enhancing its products and services. Here are some of the latest features and functionalities available in the commercial Editions of Cloud Insights.

+
+
+ + + + + +
+Note + +Some of these features may not be available in Cloud Insights Federal Edition, or may be available with reduced functionality. Wherever possible, these differences are noted in the documentation. +
+
+
+
+
+

March 2024

+
+
+

Workload Security Agent Details

+
+

Each of your Workload Security Agents has its own landing page, where you can easily see summary information about the Agent as well as the installed Data and User Directory Collectors associated with that Agent.

+
+
+

Agent Detail Landing Page example

+
+
+
+

Chart more data more quickly

+
+

When analyzing data on an asset's landing page, adding additional data to the Expert View charts is a snap. For each table on the landing page, if an object type has relevant data, hover over that object to display the "Add to Expert View" icon. Selecting this icon adds that object to the Additional Resources and displays it in the Expert View charts.

+
+
+

Add table data to expert view

+
+
+

Or maybe you want to see a landing page table's data in its own chart. Simply select the Show Chart icon to open the chart below the table:

+
+
+

Show Chart icon

+
+
+
+
+
+
+

February 2024

+
+
+

Usability Improvements

+
+

Save a snapshot of your current dashboard by selecting Export as Image from the right-corner drop-down. Cloud Insights creates a .PNG of the current widget states.

+
+
+

Export as Image Dropdown

+
+
+

Object and Metric selection is easier than ever for Widgets, Monitors, etc. Choose the object type you want, and then select a metric relevant to that object in the separate drop-down.

+
+
+

Object and Metric Selectors separate

+
+
+

Export Data Collector and Acquisition Unit lists to .CSV by selecting the icon at the top of those pages.

+
+
+

Export DC and AU Lists to .csv

+
+
+

We’ve re-organized the Help > Support page so it’s easier to find what you’re looking for, and because you asked for them, we added direct links on this page to API Swagger and user documentation.

+
+
+

API Links on the Help > Support Page

+
+
+

Links in the “triggeredOn” column on the Alerts list page will navigate to the appropriate Landing Page, if a Landing Page is available for that object.

+
+
+

Links in TriggeredOn alert field

+
+
+
+

See all changes in your namespace

+
+

Kubernetes Change Analysis now allows you to see a timeline of changes when selecting Cluster and Namespace. Previously, Workload must also have been selected. When filtering on Cluster and Namespace, the timeline of all workload changes in that namespace are shown on one line.

+
+
+

Namespace Timeline

+
+
+
+ +
+

When viewing a log alert, related log entries are shown in a new table. A log entry is related if it occurs in the same source and timeframe as the alert, and is subject to the same conditions. Select “Analyze Logs” to explore further.

+
+
+

Related Logs on a log alert landing page

+
+
+
+

Collect ONTAP Switch Data

+
+

Cloud Insights can collect data from the ONTAP system’s back-end switches; simply enable the collection in the data collector’s Advanced Configuration section, and ensure the ONTAP system is configured to provide switch information and has the appropriate permissions set.

+
+
+
+

Workload Security Data Collector API

+
+

In large environments, you can automate Workload Security collector creation using the new Data Collectors API. Navigate to Admin > API Access > API Documentation and select the Workload Security API type to learn more.

+
+
+
+
+
+
+

January 2024

+
+
+

Try Cloud Insights Features you haven’t used yet

+
+

In addition to your initial trial of Cloud Insights, you may also take advantage of Module Trials. For example, if you are subscribed to Cloud Insights and have been monitoring storage and virtual machines, when you add Kubernetes to your environment, you will automatically enter into a 30-day trial of Kubernetes Observability. Kubernetes Observability managed unit usage will not count against your subscribed entitlement until after the trial period ends.

+
+
+
+

How healthy are my workloads?

+
+

Workload health is available at a glance on the Kubernetes > Explore > Workloads page, so you can quickly see which workloads are performing well and which may need some help.

+
+
+

Workload Health at a glance

+
+
+
+

Data Collector Updates

+
+

Data Domain Identification

+
+

The Data Domain collector has been improved to better identify HA systems for durability across failover events This change will cause a one time re-identification of Data Domain appliances in HA systems, which will subsequently cause any annotations on those assets to be removed (because these arrays will be re-identified). You will need to re-attach annotations to your Data Domain objects.

+
+
+
+
+

Enhanced Ransomware Detection ML Algorithm

+
+

Workload Security includes a new 2nd-generation ransomware detection ML algorithm to detect the most sophisticated attacks faster and more accurately.

+
+
+

"Seasonality" of behaviors: weekend behavior may follow different patterns from weekday, or morning behavior from afternoon. Workload Security algorithms take this seasonality into account.

+
+
+
+
+
+
+

December 2023

+
+
+

Change Analytics at a glance

+
+

Kubernetes Change Analytics provide you with an all-in-one view of recent changes to your Kubernetes environment. Alerts and deployment status are at your fingertips. With Change Analytics, you can track every deployment and configuration change, and correlate it with the health and performance of K8s services, infrastructure, and clusters.

+
+
+

Change Analytics Dashboard

+
+
+
+

Kubernetes Workload Performance Dashboard

+
+

Workload performance is available at a glance in the comprehensive Kubernetes Workload Performance dashboard. Quickly view graphs of Volume, Throughput, Latency, and Retransmission trends, as well as a table of workload traffic for each namespace in your environment. Filters allow easy focus into areas of interest.

+
+
+

Workload Performance Menu

+
+
+

Workload Performance Dashboard

+
+
+
+

Query Details on one screen

+
+

In a query, selecting a row opens a side panel showing attribute, annotation, and metric details for the selected row, providing helpful information without needing to drill into the object's landing page. Links in the row or side panel allow for easy navigation.

+
+
+

Slideout Panel for Metric Query

+
+
+
+

Data Collector updates:

+
+
    +
  • +

    Brocade FOS REST: This collector is moved out of "Preview" and is now generally available. Some things to note:

    +
    +
      +
    • +

      FOS introduced their REST API with FOS 8.2. But some features like routing only received REST API capabilities with 9.0.

      +
    • +
    • +

      If you have a fabric consisting of mixed FOS assets 8.2 higher, as well as some < 8.2, the Cloud Insights FOS REST collector will fail to discover those older assets. You can edit the FOS REST collector and build a comma-delimited list of the IPv4 address of those devices for exclusion from that collector.

      +
    • +
    +
    +
  • +
  • +

    SELinux: Cloud Insights includes enhancements to the Linux Acquisition Unit initial installation to ensure robustness of operation within Linux environments with SELinux enforcement enabled. These enhancements only impact new AU deployments; if you have any SELinux issues relating to AU upgrades, contact NetApp Support to remediate your SELinux configuration.

    +
  • +
+
+
+
+
+
+
+

November 2023

+
+
+

Workload Security: Pause/Resume a Collector

+
+

In Workload Security, you can Pause a Data Collector if the collector is in Running state. Open the "three dots" menu for the collector and select PAUSE. While the collector is paused, no data is gathered from ONTAP, and no data is sent from the collector to ONTAP. Select Resume to begin collecting again.

+
+
+
+

Storage Node Support Information

+
+

On a storage node landing page, the User Data section provides at-a-glance information about your support offering, current status, support status, and warranty end date. Note that Cloud Insights currently only auto-publishes this information for NetApp devices. Note also that these support fields are annotations, so they can be used in queries and dashboards.

+
+
+

Storage Node Support Information

+
+
+
+

Map VMWare tags to Cloud Insights annotations

+
+

The VMWare data collector allows you to populate Cloud Insights text annotations with same-name tags that are configured on VMWare.

+
+
+
+

Brocade CLI collector reliability enhancements for FOS 9.1.1c and higher firmware

+
+

On some Brocade Fibre Channel switches running 9.1.1c firmware, certain CLI commands’ output may be prepended with the “motd” login banner text, or warnings for users to change default passwords. The Brocade CLI collector has been enhanced to ignore these two types of extraneous text.

+
+
+

Prior to this enhancement, only FOS 9.1.1c switches without Virtual Fabrics present were likely discoverable with this collector type.

+
+
+
+
+
+
+

October 2023

+
+
+

Enhanced Workload Security

+
+

Workload Security has been improved with the following:

+
+
+
    +
  • +

    Access Denied: Workload Security integrates with ONTAP to receive "Access Denied" events and provide an additional analytics and automatic responses layer.

    +
  • +
  • +

    Allowed File Types: If a ransomware attack is detected for a known file extension, that file extension can be added to an allowed file types list to prevent unnecessary alerting.

    +
  • +
+
+
+
+

Module Trials

+
+

In addition to your initial trial of Cloud Insights, you may also take advantage of Module Trials. For example, if you are already subscribed to Infrastructure Observability but are adding Kubernetes to your environment, you will automatically enter into a 30-day trial of Kubernetes Observability. You will only be charged for your Kubernetes Observability managed unit usage at the end of the trial period.

+
+
+
+

Restrict access to specified domains

+
+

Admins and Account Owners now have the ability to restrict Cloud Insights access to email domains they specify. Go to Admin > User Management and select the Restrict Domains button.

+
+
+

Restrict Domains Modal

+
+
+
+

Data Collector Updates

+
+

The following Data Collector/Acquisition Unit changes are in place:

+
+
+
    +
  • +

    Isilon / PowerScale REST: Various new attributes and metrics have been added to Cloud Insights enhanced analytics capabilities under the emc_isilon.node_pool.* name. These counters and attributes will empower users to build dashboards and monitors for node_pool capacity consumption; users with Isilon clusters built from dissimilar hardware node models will have multiple node pools, and understanding your HDD/SSD/total capacity consumption at a node pool level is useful for both monitoring and planning.

    +
  • +
  • +

    Rubrik “Service account” authentication support: Cloud Insights' Rubrik collector now supports both traditional HTTP Basic Authentication (username and password), and Rubrik’s Service Account approach, which requires a username + secret + Organization ID.

    +
  • +
+
+
+
+
+
+
+

September 2023

+
+
+

Easily Find What You Want in the Logs

+
+

Log Query (Observability > Log Queries > +New Log Query) includes a number of enhancements to make log exploration easier and more informative.

+
+
+

Include/Exclude

+
+

When filtering for a value, you can easily choose whether to Include or Exclude results matching the filter. Selecting "Exclude" creates a "NOT <value>" filter. You can combine Include and Exclude values in a single filter.

+
+
+

Filter showing Exclude radio button

+
+
+
+

Advanced Query

+
+

Advanced Querying gives you the opportunity to create "free form" filters, combining or excluding values using AND, NOT, OR, wildcards, etc.

+
+
+

Example Log Query illustrating AND

+
+
+

The "Filter By" and Advanced Query are "AND"ed together to form a single query. The results are displayed in the results list and the chart.

+
+
+
+

Grouping in the Chart

+
+

When you select a log attribute to Group By, the list and chart show the results of the current filter. In the chart, columns grouped into colors. Hovering over a column in the chart will display details about the specific entries, similar to the overall information shown when you expand the chart Legend. In the legend, you can also choose to set an Include or Exclude filter for a specific grouping.

+
+
+

Log Query Group By example showing stacked columns in the chart

+
+
+
+
+

"Floating" Log Detail Panel

+
+

When exploring logs using the Log Query, selecting an entry in the list opens a detail panel for that entry. You can now choose to display that slideout panel "Floating" (i.e. displayed over the rest of the screen) or 'In Page" (i.e. displayed as its own frame within the page). To switch between these views, select the "In Page / Floating" button in the upper-right corner of the panel.

+
+
+

In-Page

+
+
+
+

Collapse the Menu

+
+

You can collapse the left-side Cloud Insights navigation menu by selecting the "Minimize" button below the menu. While the menu is minimized, hover over an icon to see which section it opens; selecting the icon opens the menu and takes you directly to that section.

+
+
+

Minimize the menu

+
+
+
+

Data Collector Improvements

+
+

Cloud Insights has made it easier to show and find data collector information:

+
+
+
    +
  • +

    Processing of data collector lists is more efficient, which means the time it takes to display and navigate these lists is greatly reduced. If you have a large environment with many data collectors, you will see a significant improvement when listing your data collectors.

    +
  • +
+
+
+ +
+
+
+
+
+
+

August 2023

+
+
+

Collecting Isilon/PowerScale Logs and Advanced Analytics Data

+
+

The Isilon REST and PowerScale REST collectors contain the following improvements:

+
+
+
    +
  • +

    Isilon log events are available for use in queries and alerts

    +
  • +
  • +

    Isilon Advanced Analytic attributes are available for use in queries, dashboards, and alerts:

    +
    +
      +
    • +

      emc_isilon.cluster

      +
    • +
    • +

      emc_isilon.node

      +
    • +
    • +

      emc_isilon.node_disk

      +
    • +
    • +

      emc_isilon.net_iface

      +
    • +
    +
    +
  • +
+
+
+

These are enabled by default for users of the Isilon REST and/or PowerScale REST collectors. NetApp strongly encourages users of the Isilon CLI-based collector to migrate to the new REST API-based collector to receive enhancements such as the above.

+
+
+
+

Improved Workload Map

+
+

The workload map is more usable and less noisy; it groups all similar external services into one node if they communicate with the same workloads, reducing the complexity of the graph and making it easier to understand how services are interconnected.

+
+
+

Choosing a grouped node will display a detailed table with the network traffic metrics for each external service relevant to that node.

+
+
+
+

Kubernetes Managed Unit usage adjustment

+
+

In the event of a compute resource in your Kubernetes cluster environment being counted by both the NetApp Kubernetes Monitoring Operator and an underlying infrastructure data collector (for example, VMware), your usage of these resources will be adjusted to ensure the most efficient counting of managed units. You can view the Kubernetes MU adjustments on the Admin > Subscription page, in both the Summary and Usage tabs.

+
+
+

Summary tab:
+k8s MU Adjustment shown on the estimation calculator

+
+
+

Usage tab:
+k8s MU Adjustment shown on the Usage tab

+
+
+
+

Collector/Acquisition changes:

+
+

The following Data Collector/Acquisition Unit changes are in place:

+
+
+
    +
  • +

    Acquisition Units now support RHEL 8.7.

    +
  • +
+
+
+
+

Improved Menus

+
+

We have updated the left hand navigation menu to better support our customers' workflows. New top level items such as Kubernetes provide accelerated access to what the customer needs, and a consolidated administrators console supports the tenant owner role.

+
+
+

Here are some additional examples of the changes:

+
+
+
    +
  • +

    The top level Observability menu showcases data discovery, alerting and log queries

    +
  • +
  • +

    ‘API Access’ functionality for Observability and Workload Security are under one menu

    +
  • +
  • +

    Likewise for Observability and Workload Security ‘Notifications’ functionality, also now under one menu

    +
  • +
+
+
+

Updated Left Navigation Menu

+
+
+

Here is a brief list of the features you can find under each menu:

+
+
+

Observability:

+
+
+
    +
  • +

    Explore (Dashboards, Metric Queries, Infrastructure Insights)

    +
  • +
  • +

    Alerts (Monitors and Alerting)

    +
  • +
  • +

    Collectors (Data Collectors and Acquisition Units)

    +
  • +
  • +

    Log Queries

    +
  • +
  • +

    Enrich (Annotations and Annotation Rules, Applications, Device Resolution)

    +
  • +
  • +

    Reporting

    +
  • +
+
+
+

Kubernetes:

+
+
+
    +
  • +

    Cluster Exploration and Network Map

    +
  • +
+
+
+

Workload Security:

+
+
+
    +
  • +

    Alerts

    +
  • +
  • +

    Forensics

    +
  • +
  • +

    Collectors

    +
  • +
  • +

    Policies

    +
  • +
+
+
+

ONTAP Essentials:

+
+
+
    +
  • +

    Data Protection

    +
  • +
  • +

    Security

    +
  • +
  • +

    Alerts

    +
  • +
  • +

    Infrastructure

    +
  • +
  • +

    Networking

    +
  • +
  • +

    Workloads
    +*VMware

    +
  • +
+
+
+

Admin:

+
+
+
    +
  • +

    API Access

    +
  • +
  • +

    Auditing

    +
  • +
  • +

    Notifications

    +
  • +
  • +

    Subscription Information

    +
  • +
  • +

    User Management

    +
  • +
+
+
+
+
+
+

July 2023

+
+
+

Show Recent Changes

+
+

Data Collector landing pages now include a list of recent changes. Simply click the "Recent Changes" button at the bottom of any data collector landing page to display recent data collector changes.

+
+
+

Recent Changes Example

+
+
+
+

Operator Improvements

+
+

The following improvements have been made to Kubernetes Operator deployment:

+
+
+
    +
  • +

    Option to bypass docker metric collection

    +
  • +
  • +

    Ability to add and customize tolerations to telegraf Daemonsets and Replicasets

    +
  • +
+
+
+
+

Insight: Reclaim Cold Storage

+
+

The Reclaim ONTAP Cold Storage Insight now supports FlexGroups, and is now available to all customers.

+
+
+
+

Operator Image Signature

+
+

For customers who use a private repository for their NetApp Kubernetes Monitoring Operator, you can now copy the Image Signature Public Key during Operator installation, allowing you to confirm authenticity of the downloaded software. Select the Copy Image Signature Public Key button during the optional step to Upload the operator image to your private repository.

+
+
+

Download the Public Key

+
+
+
+

Aggregation, Conditional Formatting, and more for Queries

+
+

Aggregation, Unit Selection, Conditional Formatting, and Column Renaming are among the most useful features of a dashboard table widget, and now those same features are available for Queries.

+
+
+

Query Page results showing Aggregation

+
+
+

These features are available now for integration-type data (Kubernetes, ONTAP Advanced Metrics, etc.), and will be coming soon for Infrastructure objects (storage, volume, switch, etc.).

+
+
+
+

API for Audit

+
+

You can now use an API to query or export Audited events. Go to Admin > API Access and select the API Documentation link for information.

+
+
+

API Swagger for Audit

+
+
+
+

Data Collector: Trident Economy

+
+

Cloud Insights now supports the Trident Economy Driver, realizing these benefits:

+
+
+
    +
  • +

    Get visibility into pod-to-ONTAP Qtree mapping and performance metrics.

    +
  • +
  • +

    Provide seamless troubleshooting and easy navigation from Kubernetes pods to backend storage

    +
  • +
  • +

    Proactively detect backend performance issues with monitors

    +
  • +
+
+
+
+
+
+
+

June 2023

+
+
+

Check out your Usage

+
+

Beginning in June, 2023, Cloud Insights provides a breakdown of Managed Unit usage based on Feature Set. Now you can quickly view and monitor managed unit (MU) usage for your Infrastructure as well as MU usage tied to Kubernetes.

+
+
+

Metering Usage Breakdowns

+
+
+
+

Kubernetes Network Monitoring and Map is available for all

+
+

The Kubernetes Network Performance and Map simplifies troubleshooting by mapping dependencies between Kubernetes workloads, providing real-time visibility into Kubernetes network performance latencies and anomalies to identify performance issues before they affect users. Many customers found it helpful during Preview, and now it's available for everyone to enjoy.

+
+
+
+

Collector/Acquisition changes:

+
+

The following Data Collector/Acquisition Unit changes are in place:

+
+
+
    +
  • +

    Data Domain and Cohesity MUs are metered at 40 TiB : 1 MU.

    +
  • +
  • +

    Acquisition Units now support RHEL and Rocky 9.0 and 9.1.

    +
  • +
+
+
+
+

New ONTAP Essentials dashboards

+
+

The following ONTAP Essentials dashboards have been available in Preview environments, and now they are available for everyone:

+
+
+
    +
  • +

    Security Dashboard

    +
  • +
  • +

    Data Protection Dashboard (includes Local and Remote Protection overviews)

    +
  • +
+
+
+
+

Additional System Monitors

+
+

The following System Monitors are included with Cloud Insights:

+
+
+
    +
  • +

    Storage VM FCP Service Unavailable

    +
  • +
  • +

    Storage VM iSCSI Service Unavailable

    +
  • +
+
+
+
+
+
+
+

May 2023

+
+
+

Improved Kubernetes Monitoring Operator Installation

+
+

Installation and configuration of the NetApp Kubernetes Monitoring Operator is easier than ever with the following improvements:

+
+
+
    +
  • +

    Environment configuration settings are held in a single, self-documented config file.

    +
  • +
  • +

    Step-by step instructions for uploading Kubernetes Monitoring Operator images to your private repository.

    +
  • +
  • +

    Simple to upgrade with a single command to upgrade your Kubernetes Monitoring while keeping custom configurations.

    +
  • +
  • +

    More secured: API keys are securely managing secrets.

    +
  • +
  • +

    Easy to integrate and deploy with your CI/CD automation tools.

    +
  • +
+
+
+
+

Storage Virtualization

+
+

Cloud Insights can differentiate between a storage array having local storage or virtualization of other storage arrays. This gives you the ability to relate cost and distinguish performance from the front-end all the way to the back-end of your infrastructure.

+
+
+

Storage Landing Page showing Virtual and backed storage information

+
+
+
+

New Webhook Parameters

+
+

When creating a Webhook notification, you can now include these parameters in your webhook definition:

+
+
+
    +
  • +

    %%TriggeredOnKeys%%

    +
  • +
  • +

    %%TriggeredOnValues%%

    +
  • +
+
+
+
+

Reporting on Kubernetes data

+
+

Kubernetes data collected by Cloud Insights—​including Persistent Volumes (PV), PVC, Workloads, Clusters, and Namespaces—​is now available for use in Reporting, enabling chargeback, trending, forecasting, TTF calculations, and other business reporting on metrics for Kubernetes.

+
+
+
+

Default ONTAP System Monitors Enabled for New Customers

+
+

Many ONTAP System Monitors are enabled (i.e. Resumed) by default in new Cloud Insights environments. Previously, most monitors defaulted to Paused state. Because business needs vary from company to company, we always recommend taking a look at the system monitors in your environment and pausing or resuming each based on your alerting needs.

+
+
+
+
+
+
+

April 2023

+
+
+

Kubernetes Performance Monitoring and Map

+
+

The Kubernetes Network Performance and Map feature simplifies troubleshooting by mapping dependencies between Kubernetes workloads. It provides real-time visibility into Kubernetes network performance latencies and anomalies to identify performance issues before they affect users.
+This capability helps organizations reduce overall costs by analyzing and auditing Kubernetes traffic flows.

+
+
+

Key Features:
+• The Workload Map presents Kubernetes workload dependencies and flows and highlights network and performance issues.
+• Monitor network traffic between Kubernetes pods, workloads, and nodes; identifies the source of traffic and latency problems.
+• Reduce overall costs by analyzing ingress, egress, cross-region, and cross-zone network traffic.

+
+
+

Workload Map showing "Slideout" details:

+
+
+

Workload Map example showing "Slideout" panel with details

+
+
+

Kubernetes Performance Monitoring and Map is available as a Preview feature.

+
+
+
+

ONTAP Essentials Security Dashboard

+
+

The Security Dashboard gives you an instant view of your current security situation, showing charts for hardware and software volume encryption, anti-ransomware status, and cluster authentication methods. The Security Dashboard is available as a Preview feature.

+
+
+

ONTAP Essentials Security Dashboard

+
+
+
+

Reclaim ONTAP Cold Storage

+
+

The Reclaim ONTAP Cold Storage Insight provides data about cold capacity, potential cost/power savings, and recommended action items for volumes on ONTAP systems.

+
+
+

Cold Data Insight example recommednations

+
+
+

With this Insight, you can answer such questions as:

+
+
+
    +
  • +

    What amount of cold data on a storage cluster are sitting on (a) high-cost SSD disks, (b) HDD disks, and (c) virtual disks?

    +
  • +
  • +

    What workloads are the highest contributors in regards of the non-optimized storage?

    +
  • +
  • +

    What is the duration (in days) the data has been cold on a given workload?

    +
  • +
+
+
+

Reclaim ONTAP Cold Storage is considered a Preview feature and is therefore subject to change.

+
+
+
+

Subscription Notification also controls banner messages

+
+

Setting recipients for Subscription Notifications (Admin > Notifications) now also controls who will see subscription-related in-product banner notifications.

+
+
+

Subscription Expiring in 2 Days banner example

+
+
+
+

Reporting has a new look

+
+

You will notice that Cloud Insights Reporting screens have a new look, and that some of the menu navigation have changed. These screens and navigation changes have been updated in the current Reporting Documentation.

+
+
+

New Reporting Menu look

+
+
+
+

Monitors Paused by Default

+
+

For new Cloud Insights environments, be aware that system-defined monitors do not send alert notifications by default. You will need to enable notifications for any monitor that you want alerting you, by adding one or more delivery methods for the monitor.
+For existing Cloud Insights environments, the default global notification recipient list has been removed for any system-defined monitors currently in Paused state. User-defined notifications remain unchanged, as do notification settings for currently active system-defined monitors.

+
+
+
+

Looking for the API Metering tab?

+
+

API Metering has moved from the Subscription page to the Admin > API Access page.

+
+
+
+
+
+
+

March 2023

+
+
+

Cloud Connection for ONTAP 9.9+ deprecated

+
+

The Cloud Connection for ONTAP 9.9+ data collector is being deprecated. Starting April 4, 2023, Cloud Connection data collectors in your environment will no longer collect data, and will instead present an error when polling. The Cloud Connection data collector will be removed altogether from Cloud Insights in a subsequent update.

+
+
+

Prior to April 4, 2023, it is mandatory to configure a new NetApp ONTAP Data Management Software data collector for any ONTAP systems currently collected by Cloud Connection. Learn More.

+
+
+
+
+
+
+

January 2023

+
+
+

New Log Monitors

+
+

We've added almost two dozen additional system monitors to alert for broken interconnect links, heartbeat problems, and more. Additionally, three new Data Protection log monitors have been added, to alert on SnapMirror Auto Resync, MetroCluster Mirroring, and FabricPool Mirror Resync changes.

+
+
+

Note that some of these monitors will be enabled by default; you must pause them if you do not wish to alert on them. Also note that these monitors are not configured to deliver notifications; you must configure notification recipients on these monitors if you want to send alerts via email or webhook.

+
+
+
+

.CSV Export for all Dashboard Table Widgets

+
+

Ensuring accessibility to your data is essential, so we've made .CSV export .csv export icon available for all metric queries, dashboard table widgets, and object landing pages, regardless of the type of data (asset or integration) you're querying.

+
+
+

Data customizations like column selection, renaming columns, and unit conversions are also now included in the new export functionality.

+
+
+
+
+
+
+

December 2022

+
+
+

Explore Ransomware Protection and other security features during Cloud Insights Trial

+
+

Starting today, signing up for a new Trial of Cloud Insights allows you to explore Security features such as Ransomware detection and automated user-blocking response policy. If you haven't signed up for your Trial, do it today!

+
+
+
+

Kubernetes Workloads have their own landing page

+
+

Workloads are a key part of your Kubernetes environment, so Cloud Insights now provides landing pages for those workloads. From here, you can view, explore, and troubleshoot issues that affect your Kubernetes workloads.

+
+
+

Kubernetes Workload Landing Page Example

+
+
+
+

Check your Checksums

+
+

You asked us to provide you with checksum values during installation of the agent for Windows and Linux and we think that's a great idea. So here they are:

+
+
+

Agent Checksum values shown during installation

+
+
+
+

Log Alerting Improvements

+
+

Group By

+
+

When creating or editing a Log Monitor, you can now set "Group By" attributes to allow for more focused alerting. Look for the "Group By" attributes below the "filter" settings in your monitor definition.

+
+
+

Group By example in monitor definition

+
+
+

This change brings Metric Monitors and Log Monitors into feature parity by normalizing the “Group By” aspect of Monitor Definitions. This parity will allow customers to clone/duplicate all system-defined default Monitors for further customization.

+
+
+
+

Duplicating

+
+

You can now clone (duplicate) the Change Log, Kubernetes Log, and Data Collector Log monitors. This creates a new custom log monitor that you can modify to your specific definitions.

+
+
+

Duplicating a Log Monitor

+
+
+
+
+

11 New Default ONTAP Monitors covering SnapMirror for Business Continuity

+
+

We've added almost a dozen new system monitors for SnapMirror for Business Continuity (SMBC), which alert on changes to SMBC certificates and ONTAP Mediators.

+
+
+
+
+
+
+

November 2022

+
+
+

More than 40 new Security, Data Collection, and CVO monitors!

+
+

We've added dozens of new system-defined monitors to alert you to potential issues with Cloud Volumes, Security, and Data Protection. Read more about these monitors here.

+
+
+
+
+
+
+

October 2022

+
+
+

Better and more accurate Ransomware detection with ONTAP Autonomous Ransomware Protection integration

+
+

Cloud Secure improves ransomware detection through integration with ONTAP Autonomous Ransomware Protection (ARP).

+
+
+

Cloud Secure receives ONTAP ARP events on potential volume file encryption activity, and

+
+
+
    +
  • +

    Correlates volume encryption events with user activity to identify who is causing the damage,

    +
  • +
  • +

    Implements automatic response policies to block the attack,

    +
  • +
  • +

    Identifies which files were affected, helping to recover faster and conduct data breach investigations.

    +
  • +
+
+
+
+
+
+
+

September 2022

+
+
+

Monitors available in Basic Edition

+
+

ONTAP Default monitors now available to use in Cloud Insights Basic Edition. This includes more than 70 infrastructure monitors and 30 workload examples.

+
+
+
+

ONTAP Power and StorageGRID dashboards

+
+

The dashboard gallery includes a new dashboard for ONTAP Power and Temperature as well as four dashboards for StorageGRID. If your environment is collecting ONTAP power metrics and/or StorageGRID data, import these dashboards by selecting +From Gallery.

+
+
+
+

At-a-glance threshold visibility in tables

+
+

Conditional Formatting allows you to set and highlight Warning-level and Critical-level thresholds in table widgets, bringing instant visibility to outliers and exceptional data points.

+
+
+

Conditional Formatting Example

+
+
+
+

Security Monitor

+
+

Cloud Insights can alert you when it detects that FIPS mode is disabled on the ONTAP system. Read more about System Monitors, and watch this space for more Security Monitors, coming soon!

+
+
+
+

Chat from Anywhere

+
+

Chat with a NetApp Support specialist from any Cloud Insights screen by selecting the new Help > Live Chat link. Help is available from the "?" icon in the upper right of the screen.

+
+
+

Help Menu with Live Chat highlighted

+
+
+
+

More visible Insights

+
+

If your environment is experiencing an Insight such as Shared resources Under Stress or Kubernetes Namespaces Running Out of Space, asset landing pages for resources affected now include links to the Insight itself, providing quicker exploration and troubleshooting.

+
+
+
+

New Data Collectors

+
+
    +
  • +

    Amazon S3 (available in Preview)

    +
  • +
  • +

    Brocade FOS 9.0.x

    +
  • +
  • +

    Dell/EMC PowerStore 3.0.0.0

    +
  • +
+
+
+
+

Other Data Collector Updates

+
+

All data sources are now optimized to resume performance polling after Acquisition Unit updates and/or patches.

+
+
+
+

Operating System support

+
+

The following operating systems are supported with Cloud Insights Acquisition Units, in addition to those already supported:

+
+
+
    +
  • +

    Red Hat Enterprise Linux 8.5, 8.6

    +
  • +
+
+
+
+
+
+
+

August 2022

+
+
+

Cloud Insights has a new look!

+
+

Starting this month, "Monitor and Optimize" has been renamed Observability. You'll find all your favorite features like Dashboards, Queries, Alerts, and Reporting here. In addition, look for Cloud Secure under the new Security menu. Note that only the menus have changed; feature functionality remains the same.

+
+
+

New CI Menu

+
+
+

Looking for the Help menu?

+
+
+

Help now lives in the upper right of the screen.

+
+
+

Help menu is in upper right corner

+
+
+
+

Not sure where to start? Check out ONTAP Essentials!

+
+

ONTAP Essentials is a set of dashboards and workflows that provide detailed views into your NetApp ONTAP inventories, workloads, and data protection, including days-to-full predictions for storage capacity and performance. You can even see if any controllers are running at high utilization. ONTAP Essentials is your ideal place for all of your NetApp ONTAP monitoring needs!

+
+
+

ONTAP Essentials—​available in all Editions—​is designed to be intuitive to existing ONTAP operators and administrators, easing the transition from ActiveIQ Unified Manager to service-based management tools.

+
+
+

Overview dashboard for ONTAP Essentials

+
+
+
+

Storage Data families are merged

+
+

You asked for it, and now you've got it. Storage base-2 and base-10 data units are now combined into one family, from bits and bytes to tebibits and terabytes, making it easier to display data your way on your dashboards. Data Rates are also now one big family of their own.

+
+
+

drop-dow showing merge of base-2 and base-10 data families

+
+
+
+

How much power is my storage using?

+
+

Display and monitor your ONTAP storage shelf and node power consumption, temperature, and fan speed, using the netapp_ontap.storage_shelf, netapp_ontap.system_node and netapp_ontap.cluster (power consumption only) metrics.

+
+
+

Storage Power Consumption metrics

+
+
+
+

Features graduated from Preview

+
+

The following features have moved out of Preview and are now available to all customers:

+
+ ++++ + + + + + + + + + + + + + + + + + + +

Feature

Description

Kubernetes Namespaces Running out of Space

The Kubernetes Namespaces Running Out of Space Insight gives you a view into workloads on your Kubernetes namespaces that are at risk of running out of space, with an estimate for the number of days remaining before each space becomes full.
+Read More

Shared Resource Under Stress

The Shared Resource Under Stress insight uses AI/ML to automatically identify where resource contention is causing performance degradation in your environment, highlights any workloads impacted by it, and provides recommended actions to remediate, letting you solve performance issues more quickly.
+Read More

Cloud Secure – Block user access on attack

Greater protection for your business-critical data with the ability to block user access when an attack is detected.
+Access can be blocked automatically, using Automated Response Policies, or manually from the alert or user details pages.
+Read More

+
+
+

How's my data collection health?

+
+

Cloud Insights provides two new heartbeat monitors for your Acquisition Units, as well as two monitors to alert you to data collector failures. These can be used to alert you quickly to data collection issues.

+
+
+

The following monitors are now available in the Data Collection monitor group:

+
+
+
    +
  • +

    Acquisition Unit Heartbeat-Critical

    +
  • +
  • +

    Acquisition Unit Heartbeat-Warning

    +
  • +
  • +

    Collector Failed

    +
  • +
  • +

    Collector Warning

    +
  • +
+
+
+

Note that these monitors are in Paused state by default. Activate them to be alerted about data collection issues.

+
+
+
+

Auto-Renewing API Tokens

+
+

API Access Tokens can now be set for auto-renewal. By enabling this feature, new/refreshed API Access Tokens will automatically be generated for expiring tokens. Cloud Insights agents using an expiring token will automatically be updated to use the corresponding new/refreshed API Access Token, allowing them to continue to operate seamlessly. Simply check the “Renew token automatically” box when creating your token. This feature is currently supported on Cloud Insights agents running on the Kubernetes platform with the latest NetApp Kubernetes Monitoring Operator.

+
+
+
+

Basic Edition gives you more than before

+
+

Your trial is ending but you're not yet sure whether a subscription is right for you? Basic Edition has always given you a chance to continue using Cloud Insights with your current ONTAP data collector, but now you can continue capturing VMWare version, topology, and IOPS/Throughput/Latency data as well. NetApp customers with premium support on their storage systems will also be entitled to support for Cloud Insights.

+
+
+
+

Ready to learn more?

+
+

Check out the Learning Center section of the Help > Support page for links to NetApp University Cloud Insights course offerings!

+
+
+
+

Operating System support

+
+

The following operating system is supported with Cloud Insights Acquisition Units, in addition to those already supported:

+
+
+
    +
  • +

    Windows 11

    +
  • +
+
+
+
+
+
+
+

June 2022

+
+
+

Kubernetes cluster saturation and other details

+
+

Cloud Insights makes it easier than ever to explore your Kubernetes environment, with an improved cluster detail page that provides Saturation details as well as a cleaner view into Namespaces and Workloads.

+
+
+

Cluster detail page

+
+
+

The Cluster list page also gives you a quick view of saturation, in addition to Node, Pod, Namespace, and Workload counts:

+
+
+

Cluster list page showing saturation numbers

+
+
+
+

How old is your Kubernetes cluster?

+
+

Is your cluster just starting in the world, or has it experienced a long digital life? Age has been added as a time metric collected for Kubernetes Nodes.

+
+
+

Kubernetes Node Table showing age in Days

+
+
+
+

Capacity Time-to-Full forecasting

+
+

Cloud Insights provides a dashboard to forecast the number of days until capacity runs out for each Internal Volume monitored. These values can help to significantly reduce the risk of an outage.

+
+
+

Internal Volume TTF forecasting dashboard

+
+
+

TTF counters are also available for Storage, Storage Pool, and Volume. Keep watching this space for additional dashboards for these objects.

+
+
+

Note that Time-to-Full forecasting is moving out of Preview and will be rolled out to all customers.

+
+
+
+

What's changed in my environment?

+
+

ONTAP change log entries can be viewed in the log explorer.

+
+
+

image showing change log entry examples

+
+
+
+

Operating System support

+
+

The following operating systems are supported with Cloud Insights Acquisition Units, in addition to those already supported:

+
+
+
    +
  • +

    CentOS Stream 9

    +
  • +
  • +

    Windows 2022

    +
  • +
+
+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.22.3, with performance and security improvements.
+Users wishing to update can refer to the appropriate upgrade section of the Agent Installation documentation.
+Previous versions of the agent will continue to function with no user action required.

+
+
+
+

Preview Features

+
+

Cloud Insights regularly highlights a number of exciting new preview features. If you are interested in previewing one or more of these features, contact your NetApp Sales Team for more information.

+
+ ++++ + + + + + + + + + + + + + + + + + + +

Feature

Description

Kubernetes Namespaces Running out of Space

The Kubernetes Namespaces Running Out of Space Insight gives you a view into workloads on your Kubernetes namespaces that are at risk of running out of space, with an estimate for the number of days remaining before each space becomes full.
+Read More

Cloud Secure – block user access on attack

Greater protection for your business-critical data with the ability to block user access when an attack is detected.
+Access can be blocked automatically, using Automated Response Policies or manually from the alert or user details pages.
+Read More

Shared Resource Under Stress

The Shared Resource Under Stress insight uses AI/ML to automatically identify where resource contention is causing performance degradation in your environment, highlights any workloads impacted by it, and provides recommended actions to remediate, letting you solve performance issues more quickly.
+Read More

+
+
+
+
+
+

May 2022

+
+
+

Chat live with NetApp Support

+
+

You can now chat live with NetApp Support personnel! On the Help > Support page, simply click the Chat icon or click Chat in the "Contact Us" section to start a chat session. Chat support is available US weekdays for Standard and Premium Edition users.

+
+
+

Chat Icon showing the blue NetApp "N" above a smile

+
+
+
+

Kubernetes Operator

+
+

We’ve made it easier to get you up and running with Cloud Insights’ advanced Kubernetes monitoring and cluster explorer.

+
+
+

The NetApp Kubernetes Monitoring Operator (NKMO) is the preferred method for installing Kubernetes for Cloud Insights Insights, for more flexible configuration of monitoring in fewer steps, as well as enhanced opportunities for monitoring other software running in the K8s cluster.

+
+
+

Click the link above for more information and pre-requisites

+
+
+
+

Manage Users and Invites with API

+
+

You can now manage users and invites using Cloud Insights' powerful API. Read more in the API Swagger Documentation.

+
+
+
+

Data Collection Alerts

+
+

Don’t miss out on critical metrics due to a failed collector!

+
+
+

It’s easier than ever to keep track of your data collectors with new alerts for data collector and acquisition unit failures.
+Note that these Monitors are Paused by default. To enable, navigate to your monitors page and locate and resume “Acquisition Unit Shutdown” and “Collector Failed”

+
+
+
+

Alert on ONTAP storage changes

+
+

Don’t let unexpected storage changes lead to outages!

+
+
+

You can now configure Cloud Insights to alert when modification or removal of FlexVols, nodes and SVMs are detected on ONTAP systems.

+
+
+
+

Preview Features

+
+

Cloud Insights regularly highlights a number of exciting new preview features. If you are interested in previewing one or more of these features, contact your NetApp Sales Team for more information.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Feature

Description

Kubernetes Namespaces Running out of Space

The Kubernetes Namespaces Running Out of Space Insight gives you a view into workloads on your Kubernetes namespaces that are at risk of running out of space, with an estimate for the number of days remaining before each space becomes full.
+Read More

Internal Volume and Volume Capacity Time-to-Full forecasting

Cloud Insights is able to prognose the number of days until capacity runs out for each Internal Volume and Volume monitored. This value can help to significantly reduce the risk of an outage.

Cloud Secure – block user access on attack

Greater protection for your business-critical data with the ability to block user access when an attack is detected.
+Access can be blocked automatically, using Automated Response Policies or manually from the alert or user details pages.
+Read More

Shared Resource Under Stress

The Shared Resource Under Stress insight uses AI/ML to automatically identify where resource contention is causing performance degradation in your environment, highlights any workloads impacted by it, and provides recommended actions to remediate, letting you solve performance issues more quickly.
+Read More

+
+
+
+
+
+

April 2022

+
+
+

Share your Feedback!

+
+

We want your input to help shape Cloud Insights. Earn points and prizes by participating in NetApp's Insights to Action program. Sign up now!

+
+
+
+

Updated Dashboard Editor

+
+

We’ve overhauled our dashboard creation tools to make it easier for you to visualize your data even more quickly. Navigate to the “Dashboards” page of Cloud Insights to edit an existing dashboard, add one from our dashboard gallery, or create a new dashboard of your own to check it out.

+
+
+

Widget Editor Improved Layout

+
+
+

A new Count aggregation method has also been introduced. When grouping data in bar chart, column chart, and pie chart widgets, you can quickly and easily show the number of relevant objects for the selected metric.

+
+
+

aggregation drop-down showing Count

+
+
+

Additionally, line charts now allow you to select one of three interpolation methods:

+
+
+
    +
  • +

    None - No interpolation is done

    +
  • +
  • +

    Linear - Interpolates a data point between the existing points

    +
  • +
  • +

    Stair - Uses the previous data point as the interpolated data point

    +
  • +
+
+
+
+

Enhanced Monitoring for Your Kubernetes Infrastructure

+
+

Cloud Insights keeps you on top of changes in your Kubernetes environment by alerting you when pods, daemonsets, and replicasets are created or removed, as well as when new deployments are created. Kubernetes monitors default to paused state, so you should enable only the specific ones you need.

+
+
+
+

Preview Features

+
+

Cloud Insights regularly highlights a number of exciting new preview features. If you are interested in previewing one or more of these features, contact your NetApp Sales Team for more information.

+
+ ++++ + + + + + + + + + + + + + + + + + + +

Feature

Description

Internal Volume and Volume Capacity Time-to-Full forecasting

Cloud Insights is able to prognose the number of days until capacity runs out for each Internal Volume and Volume monitored. This value can help to significantly reduce the risk of an outage.

Cloud Secure – block user access on attack

Greater protection for your business-critical data with the ability to block user access when an attack is detected.
+Access can be blocked automatically, using Automated Response Policies or manually from the alert or user details pages.
+Read More

Shared Resource Under Stress

The Shared Resource Under Stress insight uses AI/ML to automatically identify where resource contention is causing performance degradation in your environment, highlights any workloads impacted by it, and provides recommended actions to remediate, letting you solve performance issues more quickly.
+Read More

+
+
+

New Data Collector

+
+
    +
  • +

    Cohesity SmartFiles - This REST API-based collector will acquire a Cohesity cluster, discovering the “Views” (as CI Internal Volumes), the various nodes, as well as collecting performance metrics.

    +
  • +
+
+
+
+

Other Data Collector Updates

+
+

Collection and display of performance data has been improved on the following data collectors:

+
+
+
    +
  • +

    Brocade CLI

    +
  • +
  • +

    Dell/EMC VPlex, PowerStore, Isilon/PowerScale, VNX Block/Clariion CLI, XtremIO, Unity/VNXe

    +
  • +
  • +

    Pure FlashArray

    +
  • +
+
+
+

These performance enhancements are already available in all NetApp data collectors as well as VMware and Cisco, and will be rolled out to all other data collectors over the next few months.

+
+
+
+
+
+
+

March 2022

+
+
+

Cloud Connection for ONTAP 9.9+

+
+

The NetApp Cloud Connection for ONTAP 9.9+ data collector eliminates the need to install an external acquisition unit, thereby simplifying troubleshooting, maintenance, and initial deployment.

+
+
+
+

New FSx for NetApp ONTAP Monitors

+
+

Monitoring your FSx for NetApp ONTAP environment is easy with new system-defined monitors for both infrastructure (metrics) and workloads (logs).

+
+
+

FSx monitors for infrastructure
+FSx monitors for workloads

+
+
+
+

New Cloud Secure features available to all

+
+

Your environment is more secure than ever with the following Cloud Secure features now generally available:

+
+ ++++ + + + + + + + + + + + + + + +

Feature

Description

Data Destruction – File Deletion attack detection

Detect abnormal large-scale file deletion activity, block malicious file access by malicious users, and take automatic snapshots with automatic response policies.

Separate notifications for Warnings and Alerts

Warning and Alert notifications can be sent to separate recipients, ensuring the right team can stay informed

+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.21.2, with performance and security improvements.
+Users wishing to update can refer to the appropriate upgrade section of the Agent Installation documentation.
+Previous versions of the agent will continue to function with no user action required.

+
+
+
+

Data Collector Updates

+
+
    +
  • +

    The Broadcom Fibre Channel Switches data collector has been optimized to reduce the number of CLI commands issued with each inventory poll.

    +
  • +
+
+
+
+
+
+
+

February 2022

+
+
+

Cloud Insights addresses Apache Log4j vulnerabilities

+
+

Customer security is a top priority at NetApp. Cloud Insights includes updates to its software libraries to address the recent Apache Log4j vulnerabilities.

+
+
+

Please refer to the following on NetApp’s Product Security Advisory website:

+
+ +
+

You can read more about these vulnerabilities and NetApp's response at the NetApp Newsroom.

+
+
+
+

Kubernetes Namespace Detail Page

+
+

Exploring your Kubernetes environment is now better than ever, with informative detail pages for your cluster’s namespaces. The namespace detail page provides a summary of all the assets used by a namespace, including all the backend storage resources and their capacity utilizations.

+
+
+

Kubernetes Namespace Detail Page

+
+
+
+
+
+
+

December 2021

+
+
+

Deeper integration for ONTAP systems

+
+

Simplify alerting for ONTAP hardware failures and more with new integration with NetApp Event Management System (EMS).
+Explore and alert on low-level ONTAP messages in Cloud Insights to inform and improve troubleshooting workflows and further reduce reliance on ONTAP element management tooling.

+
+
+
+

Querying Logs

+
+

For ONTAP systems, Cloud Insights Queries include a powerful Log Explorer, allowing you to easily investigate and troubleshoot EMS log entries.

+
+
+

Log Queries

+
+
+
+

Data Collector-level notifications.

+
+

In addition to system-defined and custom-created Monitors for alerting, you can also set alert notifications for ONTAP data collectors, allowing you to specify recipients for collector-level alerts, independent of other monitor alerts.

+
+
+
+

Greater flexibility of Cloud Secure roles

+
+

Users can be granted access to Cloud Secure features based on roles set by an administrator:

+
+ ++++ + + + + + + + + + + + + + + + + + + +

Role

Cloud Secure Access

Administrator

Can perform all Cloud Secure functions, including those for Alerts, Forensics, data collectors, automated response policies, and APIs for Cloud Secure.
+An Administrator can also invite other users but can only assign Cloud Secure roles.

User

Can view and manage Alerts and view Forensics. User role can change alert status, add a note, take snapshots manually, and block user access.

Guest

Can view Alerts and Forensics. Guest role cannot change alert status, add a note, take snapshots manually, or block user access.

+
+
+

Operating System support

+
+

CentOS 8.x support is being replaced with CentOS 8 Stream support. CentOS 8.x will reach End-of-Life on December 31, 2021.

+
+
+
+

Data Collector Updates

+
+

A number of Cloud Insights data collector names have been added to reflect vendor changes:

+
+ ++++ + + + + + + + + + + + + + + + + + + +

Vendor/Model

Previous Name

Dell EMC PowerScale

Isilon

HPE Alletra 9000 / Primera

3PAR

HPE Alletra 6000

Nimble

+
+
+
+
+
+

November 2021

+
+
+

Adaptive Dashboards

+
+

New variables for attributes and the ability to use variables in widgets.

+
+
+

Dashboards are now more powerful and flexible than ever. Build adaptive dashboards with attribute variables to quickly filter dashboards on the fly. Using these and other pre-existing variables you can now create one high level dashboard to see metrics for your entire environment, and seamlessly filter down by resource name, type, location, and more. Use number variables in widgets to associate raw metrics with costs, for example cost per GB for storage as a service.

+
+
+

Variables Drop Down Showing Annotations
+Variables Attribute Filtering

+
+
+
+

Access the Reporting Database via API

+
+

Enhanced capabilities for integration with third party reporting, ITSM, and automation tools: Cloud Insights' powerful API allows users to query the Cloud Insights Reporting database directly, without going through the Cognos Reporting environment.

+
+
+
+

Pod tables on VM Landing Page

+
+

Seamless navigation between VMs and the Kubernetes Pods using them: for improved troubleshooting and performance headroom management, a table of associated Kubernetes Pods will now appear on VM landing pages.

+
+
+

Kubernetes Pod table on a VM landing page

+
+
+
+

Data Collector Updates

+
+
    +
  • +

    ECS now reports firmware for storage and node

    +
  • +
  • +

    Isilon has improved prompt detection

    +
  • +
  • +

    Azure NetApp Files collects performance data more quickly

    +
  • +
  • +

    StorageGRID now supports Single Sign-On (SSO)

    +
  • +
  • +

    Brocade CLI properly reports model for X&-4

    +
  • +
+
+
+
+

Additional Operating Systems supported

+
+

The Cloud Insights Acquisition Unit supports the following operating systems, in addition to those already supported:

+
+
+
    +
  • +

    Centos (64-bit) 8.4

    +
  • +
  • +

    Oracle Enterprise Linux (64-bit) 8.4

    +
  • +
  • +

    Red Hat Enterprise Linux (64-bit) 8.4

    +
  • +
+
+
+
+
+
+
+

October 2021

+
+
+

Filters on K8S Explorer pages

+
+

Kubernetes Explorer page filters give you focused control of the data displayed for your Kubernetes cluster, node, and pod exploration.

+
+
+

Kubernetes Explorer filtering example

+
+
+
+

K8s Data for Reporting

+
+

Kubernetes data is now available for use in Reporting, allowing you to create chargeback or other reports. In order for Kubernetes chargeback data to be passed to Reporting, you must have an active connection to, and Cloud Insights must be receiving data from, your Kubernetes cluster as well as its back-end storage. If there is no data received from the back-end storage, Cloud Insights can not send Kubernetes object data to Reporting.

+
+
+

Kubernetes data showin in a chargeback report

+
+
+
+

Dark Theme has arrived

+
+

Many of you asked for a dark theme, and Cloud Insights has answered. To switch between light and dark theme, click the drop-down next to your user name.
+Switch to Dark Theme is available in the User drop-down
+An image of a typical dashboard shown in dark theme

+
+
+
+

Data Collector Support

+
+

We’ve made some improvements in Cloud Insights Data Collectors. Here are some highlights:

+
+
+
    +
  • +

    New collector for Amazon FSx for ONTAP

    +
  • +
+
+
+
+
+
+
+

September 2021

+
+
+

Performance Policies are now Monitors

+
+

Monitors and Alerts have supplanted Performance Policies and Violations throughout Cloud Insights. Alerting with Monitors provides greater flexibility and insight into potential problems or trends in your environment.

+
+
+
+

Autocomplete Suggestions, Wildcards, and Expressions in Monitors

+
+

When creating a monitor for alerting, typing in a filter is now predictive, allowing you to easily search for and find the metrics or attributes for your monitor. Additionally, you are given the option to create a wildcard filter based on the text you type.

+
+
+

Type-ahead filters in Monitors

+
+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.19.3, with performance and security improvements.
+Users wishing to update can refer to the appropriate upgrade section of the Agent Installation documentation.
+Previous versions of the agent will continue to function with no user action required.

+
+
+
+

Data Collector Support

+
+

We’ve made some improvements in Cloud Insights Data Collectors. Here are some highlights:

+
+
+
    +
  • +

    Microsoft Hyper-V collector now uses PowerShell instead of WMI

    +
  • +
  • +

    Azure VMs and VHD collector is now up to 10 times faster due to parallel calls

    +
  • +
  • +

    HPE Nimble now supports federated and iSCSI configurations

    +
  • +
+
+
+

And since we’re always improving Data Collection, here are some other recent changes of note:

+
+
+
    +
  • +

    New collector for EMC Powerstore

    +
  • +
  • +

    New collector for Hitachi Ops Center

    +
  • +
  • +

    New collector for Hitachi Content Platform

    +
  • +
  • +

    Enhanced ONTAP collector to report Fabric Pools

    +
  • +
  • +

    Enhanced ANF with Storage Pool and Volume performance

    +
  • +
  • +

    Enhanced EMC ECS with Storage Nodes and Storage performance as well as the Object Count in buckets

    +
  • +
  • +

    Enhanced EMC Isilon with Storage Node and Qtree metrics

    +
  • +
  • +

    Enhanced EMC Symetrix with volume QOS limit metrics

    +
  • +
  • +

    Enhanced IBM SVC and EMC PowerStore with Storage Nodes parent serial number

    +
  • +
+
+
+
+
+
+
+

August 2021

+
+
+

New Audit Page User Interface

+
+

The Audit page provides a cleaner interface and now allows the export of audit events to .CSV file.

+
+
+
+

Enhanced User Role Management

+
+

Cloud Insights now allows even greater freedom for assigning user roles and access controls. Users can now be assigned granular permissions for monitoring, reporting, and Cloud Secure separately.

+
+
+

This means you can allow more users administrative access to monitoring, optimization, and reporting functions whilst restricting access to your sensitive Cloud Secure audit and activity data to only those that need it.

+
+
+

Find out more about the different levels of access in the Cloud Insights documentation.

+
+
+
+
+
+
+

June 2021

+
+
+

Autocomplete Suggestions, Wildcards, and Expressions in Filters

+
+

With this release of Cloud Insights, you no longer need to know all the possible names and values on which to filter in a query or widget. When filtering, you can simply start typing and Cloud insights will suggest values based on your text. No more looking up Application names or Kubernetes attributes ahead of time just to find the ones you want to show in your widget.

+
+
+

As you type in a filter, the filter displays a smart list of results from which you can choose, as well as the option to create a wildcard filter based on the current text. Selecting this option will return all results that match the wildcard expression. You can of course also select multiple individual values that you want added to the filter.

+
+
+

Wildcard Filter

+
+
+

Additionally, you can create expressions in a filter using NOT or OR, or you can select the "None" option to filter for null values in the field.

+
+
+

Read more about filtering options in queries and widgets.

+
+
+
+

APIs available by Edition

+
+

Cloud Insights' powerful APIs are more accessible than ever, with Alerts APIs now available in Standard and Premium Editions.
+The following APIs are available for each Edition:

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
API CategoryBasicStandardPremium

Acquisition Unit

SmallCheckMark

SmallCheckMark

SmallCheckMark

Data Collection

SmallCheckMark

SmallCheckMark

SmallCheckMark

Alerts

SmallCheckMark

SmallCheckMark

Assets

SmallCheckMark

SmallCheckMark

Data Ingestion

SmallCheckMark

SmallCheckMark

+
+
+

Kubernetes PV and Pod Visibility

+
+

Cloud Insights provides visibility into the back-end storage for your Kubernetes environments, giving you insight to your Kubernetes Pods and Persistent Volumes (PVs). You can now track PV counters such as IOPS, latency, and throughput from a single Pod’s usage through a PV counter to a PV and all the way to the back-end storage device.

+
+
+

On a Volume or Internal Volume landing page, two new tables are displayed:

+
+
+

Kubernetes PV Table
+Kubernetes Pod Table

+
+
+

Note that to take advantage of these new tables, it is recommended to uninstall your current Kubernetes agent, and install it fresh. You must also install Kube-State-Metrics version 2.1.0 or later.

+
+
+
+ +
+

On a Kubernetes Node page, you can now click to open the Node's VM page. The VM page also includes a link back to the Node itself.

+
+
+

Kubernetes Node Page showing VM link
+Kubernetes VM Page showing Node link

+
+
+
+

Alert Monitors replacing Performance Policies

+
+

To enable the added benefits of multiple thresholds, webhook and email alert delivery, alerting on all metrics using a single interface, and more, Cloud Insights will be converting Standard and Premium Edition customers from Performance Policies to Monitors during the months of July and August, 2021. Learn more about Alerts and Monitors, and stay tuned for this exciting change.

+
+
+
+

Cloud Secure supports NFS

+
+

Cloud Secure now supports NFS for ONTAP data collection. Monitor SMB and NFS user access to protect your data from ransomware attacks.
+Additionally, Cloud Secure supports Active-Directory and LDAP user directories for collection of NFS user attributes.

+
+
+
+

Cloud Secure snapshot purge

+
+

Cloud Secure automatically deletes snapshots based on the Snapshot Purge Settings, to save storage space and reduce the need for manual snapshot deletion.

+
+
+

Purge Settings

+
+
+
+

Cloud Secure data collection speed

+
+

A single data collector agent system can now post up to 20,000 events per second to Cloud Secure.

+
+
+
+
+
+
+

May 2021

+
+
+

Here are some of the changes we've made in April:

+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.17.3, with performance and security improvements.
+Users wishing to update can refer to the appropriate upgrade section of the Agent Installation documentation.
+Previous versions of the agent will continue to function with no user action required.

+
+
+
+

Add Corrective Actions to an Alert

+
+

You can now add an optional description as well as additional insights and/or corrective actions when creating or modifying a Monitor by filling in the Add an Alert Description section. The description will be sent with the alert. The insights and corrective actions field can provide detailed steps and guidance for dealing with alerts and will be displayed in the summary section of the alert landing page.

+
+
+

Alert Corrective Actions and Description

+
+
+
+

Cloud Insights APIs for All Editions

+
+

API access is now available in all editions of Cloud Insights.
+Users of Basic edition can now automate actions for Acquisition Units and Data Collectors, and Standard Edition users can query metrics and ingest custom metrics.
+Premium edition continues to allow full use of all API categories.

+
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
API CategoryBasicStandardPremium

Acquisition Unit

SmallCheckMark

SmallCheckMark

SmallCheckMark

Data Collection

SmallCheckMark

SmallCheckMark

SmallCheckMark

Assets

SmallCheckMark

SmallCheckMark

Data Ingestion

SmallCheckMark

SmallCheckMark

Data Warehouse

SmallCheckMark

+
+

For details on API usage, please refer to the API documentation.

+
+
+
+
+
+
+

April 2021

+
+
+

Easier Management of Monitors

+
+

Monitor Grouping simplifies the management of monitors in your environment. Multiple monitors can now be grouped together and paused as one. For example, if you have an update occurring on a stack of infrastructure, you can pause alerts from all those devices via one click.

+
+
+

Monitor groups is the first part of an exciting new feature bringing improved management of ONTAP devices to Cloud Insights.

+
+
+

Monitor Grouping

+
+
+
+

Enhanced Alerting Options Using Webhooks

+
+

Many commercial applications support Webhooks as a standard input interface. Cloud Insights now supports many of these delivery channels, providing default templates for Slack, PagerDuty, Teams, and Discord, in addition to providing customizable generic webhooks to support many other applications.

+
+
+

Webhooks Notifications

+
+
+
+

Improved Device Identification

+
+

To improve monitoring and troubleshooting as well as deliver accurate reporting, it is helpful to understand the names of devices rather than their IP addresses or other identifiers. Cloud Insights now incorporates an automatic way to identify the names of storage and physical host devices in the environment, using a rule-based approach called Device Resolution, available in the Manage menu.

+
+
+
+

You asked for more!

+
+

A popular ask by customers has been for more default options for visualizing the range of data, so we have added the following five new choices that are now available throughout the service via the time range picker:

+
+
+
    +
  • +

    Last 30 Minutes

    +
  • +
  • +

    Last 2 Hours

    +
  • +
  • +

    Last 6 Hours

    +
  • +
  • +

    Last 12 Hours

    +
  • +
  • +

    Last 2 Days

    +
  • +
+
+
+
+

Multiple Subscriptions in one Cloud Insights Environment

+
+

Starting April 2, Cloud Insights supports multiple subscriptions of the same edition type for a customer in a single Cloud Insights instance. This enables customers to co-term parts of their Cloud Insights subscription with infrastructure purchases. Contact NetApp Sales for assistance with multiple subscriptions.

+
+
+
+

Choose Your Path

+
+

While setting up Cloud Insights, you can now choose whether to start with Monitoring and Alerting or Ransomware and Insider Threat Detection. Cloud Insights will configure your starting environment based on the path you choose. You can configure the other path at any time afterward.

+
+
+
+

Easier Cloud Secure Onboarding

+
+

And it is easier than ever to start using Cloud Secure, with a new step-by-step setup checklist.

+
+
+

Cloud Secure Checklist

+
+
+

As always, we love to hear your suggestions! Send them to ng-cloudinsights-customerfeedback@netapp.com.

+
+
+
+
+
+
+

February 2021

+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.17.0, which includes vulnerability and bug fixes.

+
+
+
+

Cloud Cost Analyzer

+
+

Experience the power of Spot by NetApp with Cloud Cost, which provides a detailed cost analysis of past, present, and estimated spending, providing visibility into cloud usage in your environment. The Cloud Cost dashboard delivers a clear view of cloud expenses and a drill down into individual workloads, accounts, and services.

+
+
+

Cloud Cost can help with these major challenges:

+
+
+
    +
  • +

    Tracking and monitoring your cloud expenses

    +
  • +
  • +

    Identifying waste and potential optimization areas

    +
  • +
  • +

    Delivering executable action items

    +
  • +
+
+
+

Cloud Cost is focused on monitoring. Upgrade to the full Spot by NetApp account to enable automatic cost saving and environment optimization.

+
+
+
+

Querying for objects having null values using filters

+
+

Cloud Insights now allows searching for attributes and metrics having null/none values through the use of filters. You can perform this filtering on any attributes/metrics in the following places:

+
+
+
    +
  • +

    On the Query page

    +
  • +
  • +

    In Dashboard widgets and page variables

    +
  • +
  • +

    On the Alerts list page

    +
  • +
  • +

    When creating Monitors

    +
  • +
+
+
+

To filter for null/none values, simply select the None option when it appears in the appropriate filter drop-down.

+
+
+

Null filter in dropdown

+
+
+
+

Multi-Region Support

+
+

Starting today we offer the Cloud Insights service in different regions across the globe, which facilitates performance and increases security for customers based outside the United States. Cloud Insights/Cloud Secure stores information according to the region in which your environment is created.

+
+
+

Click here for more information.

+
+
+
+
+
+
+

January 2021

+
+
+

Additional ONTAP Metrics Renamed

+
+

As part of our continuing effort to improve efficiency of data-gathering from ONTAP systems, the following ONTAP metrics have been renamed.

+
+
+

If you have existing dashboard widgets or queries using any of these metrics, you will need to edit or re-create them to use the new metric names.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Previous Metric NameNew Metric Name

netapp_ontap.disk_constituent.total_transfers

netapp_ontap.disk_constituent.total_iops

netapp_ontap.disk.total_transfers

netapp_ontap.disk.total_iops

netapp_ontap.fcp_lif.read_data

netapp_ontap.fcp_lif.read_throughput

netapp_ontap.fcp_lif.write_data

netapp_ontap.fcp_lif.write_throughput

netapp_ontap.iscsi_lif.read_data

netapp_ontap.iscsi_lif.read_throughput

netapp_ontap.iscsi_lif.write_data

netapp_ontap.iscsi_lif.write_throughput

netapp_ontap.lif.recv_data

netapp_ontap.lif.recv_throughput

netapp_ontap.lif.sent_data

netapp_ontap.lif.sent_throughput

netapp_ontap.lun.read_data

netapp_ontap.lun.read_throughput

netapp_ontap.lun.write_data

netapp_ontap.lun.write_throughput

netapp_ontap.nic_common.rx_bytes

netapp_ontap.nic_common.rx_throughput

netapp_ontap.nic_common.tx_bytes

netapp_ontap.nic_common.tx_throughput

netapp_ontap.path.read_data

netapp_ontap.path.read_throughput

netapp_ontap.path.write_data

netapp_ontap.path.write_throughput

netapp_ontap.path.total_data

netapp_ontap.path.total_throughput

netapp_ontap.policy_group.read_data

netapp_ontap.policy_group.read_throughput

netapp_ontap.policy_group.write_data

netapp_ontap.policy_group.write_throughput

netapp_ontap.policy_group.other_data

netapp_ontap.policy_group.other_throughput

netapp_ontap.policy_group.total_data

netapp_ontap.policy_group.total_throughput

netapp_ontap.system_node.disk_data_read

netapp_ontap.system_node.disk_throughput_read

netapp_ontap.system_node.disk_data_written

netapp_ontap.system_node.disk_throughput_written

netapp_ontap.system_node.hdd_data_read

netapp_ontap.system_node.hdd_throughput_read

netapp_ontap.system_node.hdd_data_written

netapp_ontap.system_node.hdd_throughput_written

netapp_ontap.system_node.ssd_data_read

netapp_ontap.system_node.ssd_throughput_read

netapp_ontap.system_node.ssd_data_written

netapp_ontap.system_node.ssd_throughput_written

netapp_ontap.system_node.net_data_recv

netapp_ontap.system_node.net_throughput_recv

netapp_ontap.system_node.net_data_sent

netapp_ontap.system_node.net_throughput_sent

netapp_ontap.system_node.fcp_data_recv

netapp_ontap.system_node.fcp_throughput_recv

netapp_ontap.system_node.fcp_data_sent

netapp_ontap.system_node.fcp_throughput_sent

netapp_ontap.volume_node.cifs_read_data

netapp_ontap.volume_node.cifs_read_throughput

netapp_ontap.volume_node.cifs_write_data

netapp_ontap.volume_node.cifs_write_throughput

netapp_ontap.volume_node.nfs_read_data

netapp_ontap.volume_node.nfs_read_throughput

netapp_ontap.volume_node.nfs_write_data

netapp_ontap.volume_node.nfs_write_throughput

netapp_ontap.volume_node.iscsi_read_data

netapp_ontap.volume_node.iscsi_read_throughput

netapp_ontap.volume_node.iscsi_write_data

netapp_ontap.volume_node.iscsi_write_throughput

netapp_ontap.volume_node.fcp_read_data

netapp_ontap.volume_node.fcp_read_throughput

netapp_ontap.volume_node.fcp_write_data

netapp_ontap.volume_node.fcp_write_throughput

netapp_ontap.volume.read_data

netapp_ontap.volume.read_throughput

netapp_ontap.volume.write_data

netapp_ontap.volume.write_throughput

netapp_ontap.workload.read_data

netapp_ontap.workload.read_throughput

netapp_ontap.workload.write_data

netapp_ontap.workload.write_throughput

netapp_ontap.workload_volume.read_data

netapp_ontap.workload_volume.read_throughput

netapp_ontap.workload_volume.write_data

netapp_ontap.workload_volume.write_throughput

+
+
+

New Kubernetes Explorer

+
+

The Kubernetes Explorer provides a simple topology view of Kubernetes Clusters, allowing even non-experts to quickly identify issues & dependencies, from the cluster level down to the container and storage.

+
+
+

A wide variety of information can be explored using the Kubernetes Explorer's drill-down details for status, usage, and health of the Clusters, Nodes, Pods, Containers, and Storage in your Kubernetes environment.

+
+
+

The Kubernetes Explorer

+
+
+
+
+
+
+

December 2020

+
+
+

Simpler Kubernetes Installation

+
+

Kubernetes Agent installation has been streamlined to require fewer user interactions. Installing the Kubernetes Agent now includes Kubernetes data collection.

+
+
+
+
+
+
+

November 2020

+
+
+

Additional Dashboards

+
+

The following new ONTAP-focused dashboards have been added to the gallery and are available for import:

+
+
+
    +
  • +

    ONTAP: Aggregate Performance & Capacity

    +
  • +
  • +

    ONTAP FAS/AFF - Capacity Utilization

    +
  • +
  • +

    ONTAP FAS/AFF - Cluster Capacity

    +
  • +
  • +

    ONTAP FAS/AFF - Efficiency

    +
  • +
  • +

    ONTAP FAS/AFF - FlexVol Performance

    +
  • +
  • +

    ONTAP FAS/AFF - Node Operational/Optimal Points

    +
  • +
  • +

    ONTAP FAS/AFF - PrePost Capacity Efficiencies

    +
  • +
  • +

    ONTAP: Network Port Activity

    +
  • +
  • +

    ONTAP: Node Protocols Performance

    +
  • +
  • +

    ONTAP: Node Workload Performance (Frontend)

    +
  • +
  • +

    ONTAP: Processor

    +
  • +
  • +

    ONTAP: SVM Workload Performance (Frontend)

    +
  • +
  • +

    ONTAP: Volume Workload Performance (Frontend)

    +
  • +
+
+
+
+

Column Rename in Table Widgets

+
+

You can rename columns in the Metrics and Attributes section of a table widget by opening the widget in Edit mode and clicking the menu at the top of the column. Enter the new name and click Save, or click Reset to set the column back to the original name.

+
+
+

Note that this only affects the column's display name in the table widget; the metric/attribute name does not change in the underlying data itself.

+
+
+

Table Widget Rename Column

+
+
+
+
+
+
+

October 2020

+
+
+

Default Expansion of Integration Data

+
+

Table widget grouping now allows for default expansions of Kubernetes, ONTAP Advanced Data, and Agent Node metrics. For example, if you group Kubernetes Nodes by Cluster, you will see a row in the table for each cluster. You could then expand each cluster row to see a list of the Node objects.

+
+
+
+

Basic Edition Technical Support

+
+

Technical Support is now available for subscribers to Cloud Insights Basic Edition in addition to Standard and Premium Editions. Additionally, Cloud Insights has simplified the workflow for creating a NetApp support ticket.

+
+
+
+

Cloud Secure Public API

+
+

Cloud Secure supports REST APIs for accessing Activity and Alert information. This is accomplished through the use of API Access Tokens, created through the Cloud Secure Admin UI, which are then used to access the REST APIs. Swagger documentation for these REST APIs is integrated with Cloud Secure.

+
+
+
+
+
+
+

September 2020

+
+
+

Query Page with Integration Data

+
+

The Cloud Insights Query page supports integration data (i.e. from Kubernetes, ONTAP Advanced Metrics, etc.). When working with integration data, the query results table displays a "Split-Screen" view, with object/grouping on the left side, and object data (attributes/metrics) on the right. You can also choose multiple attributes for grouping integration data.

+
+
+

Query showing integration data

+
+
+
+

Unit Display Formatting in Table Widget

+
+

Unit display formatting is now available in Table widgets for columns that display metric/counter data (for example, gigabytes, MB/second, etc.). To change a metric's display unit, click the "three dots" menu in the column header and select "Unit Display". You can choose from any of the available units. Available units will vary according to the type of metric data in the display column.

+
+
+

Table Widget Unit Management

+
+
+
+

Acquisition Unit Detail Page

+
+

Acquisition Units now have their own landing page, providing useful detail for each AU as well as information to help with troubleshooting. The AU detail page provides links to the AU's data collectors as well as helpful status information.

+
+
+
+

Cloud Secure Docker Dependency Removed

+
+

Cloud Secure's dependency on Docker has been removed. Docker is no longer required for Cloud Secure agent installation.

+
+
+
+

Reporting User Roles

+
+

If you have Cloud Insights Premium Edition with Reporting, every Cloud Insights user in your environment also has a Single Sign-On (SSO) login to the Reporting application (i.e. Cognos); by clicking the Reports link in the menu, they will automatically be logged in to Reporting.

+
+
+

Their user role in Cloud Insights determines their Reporting user role:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + +

Cloud Insights Role

Reporting Role

Reporting Permissions

Guest

Consumer

Can view, schedule, and run reports and set personal preferences such as those for languages and time zones. Consumers cannot create reports or perform administrative tasks.

User

Author

Can perform all Consumer functions as well as create and manage reports and dashboards.

Administrator

Administrator

Can perform all Author functions as well as all administrative tasks such configuration of reports and the shutdown and restart of reporting tasks.

+
+ + + + + +
+Note + +Cloud Insights Reporting is available for environments of 500 MUs or more. +
+
+
+ + + + + +
+Important + +If you are a current Premium Edition customer and wish to retain your reports, read this important note for existing customers. +
+
+
+
+

New API Category for Data Ingestion

+
+

Cloud Insights has added a Data Ingestion API category, giving you greater control over custom data and agents. Detailed documentation for this and other API Categories can be found in Cloud Insights by navigating to Admin > API Access and clicking the API Documentation link. You can also attach a comment to the AU in the Note field, which is displayed on the AU detail page as well as the AU list page.

+
+
+
+
+
+
+

August 2020

+
+
+

Monitoring and Alerting

+
+

In addition to the current ability to set performance policies for storage objects, VMs, EC2, and ports, Cloud Insights Standard Edition now includes the ability to configure monitors for thresholds on Integration data for Kubernetes, ONTAP advanced metrics, and Telegraf plugins. You simply create a monitor for each object metric you want to trigger alerts, set the conditions for warning-level or critical-level thresholds, and specify the email recipient(s) desired for each level. You can then view and manage alerts to track trends or troubleshoot issues.

+
+
+

Monitor Conditions

+
+
+
+
+
+
+

July 2020

+
+
+

Cloud Secure Take a Snapshot Action

+
+

Cloud Secure protects your data by automatically taking a snapshot when malicious activity is detected, ensuring that your data is safely backed up.

+
+
+

You can define automated response policies that take a snapshot when ransomware attack or other abnormal user activity is detected.
+You can also take a snapshot manually from the alert page.

+
+
+

Automatic Snapshot taken:
+Alert Action Screen

+
+
+

Manual Snapshot:
+Alert Action Screen

+
+
+
+

Metric/Counter updates

+
+

The following capacity counters are available for use in Cloud Insights UI and REST API. Previously these counters were only available for the Data Warehouse / Reporting.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + +
Object TypeCounter

Storage

Capacity - Spare Raw
+Capacity - Failed Raw

Storage Pool

Data Capacity - Used
+Data Capacity - Total
+Other Capacity - Used
+Other Capacity - Total
+Capacity - Raw
+Capacity - Soft Limit

Internal Volume

Data Capacity - Used
+Data Capacity - Total
+Other Capacity - Used
+Other Capacity - Total
+Clone Saved Capacity - Total

+
+
+

Cloud Secure Potential Attack Detection

+
+

Cloud Secure now detects potential attacks such as ransomware. Click on an alert in the Alerts list page to open a detail page showing the following:

+
+
+
    +
  • +

    Time of attack

    +
  • +
  • +

    Associated user and file activity

    +
  • +
  • +

    Action taken

    +
  • +
  • +

    Additional information to assist with tracking down possible security breaches

    +
  • +
+
+
+

Alerts page showing potential ransomware attack:
+Ransomware Alert Example

+
+
+

Detail page for potential ransomware attack:
+Ransomware Detail Page Example

+
+
+
+

Subscribe to Premium Edition through AWS

+
+

During your trial of Cloud Insights, you can self-subscribe through AWS Marketplace to either Cloud Insights Standard Edition or Premium Edition. Previously, you could only self-subscribe through AWS Marketplace to Standard Edition only.

+
+
+
+

Enhanced Table Widget

+
+

The dashboard/asset page Table widget includes the following enhancements:

+
+
+
    +
  • +

    "Split-Screen" view: Table widgets display the object/grouping on the left side, and the object data (attributes/metrics) on the right.

    +
    +

    Table Widget showing left and right panes

    +
    +
  • +
  • +

    Multiple attribute grouping: For Integration data (Kubernetes, ONTAP Advanced Metrics, Docker, etc.), you can choose multiple attributes for grouping. Data is displayed according to the grouping attributes/you choose.

    +
    +

    Grouping with Integration Data (shown in Edit mode):
    +Integration Data Grouping in Table Widget

    +
    +
  • +
  • +

    Grouping for Infrastructure data (storage, EC2, VM, ports, etc.) is by a single attribute as before. When grouping by an attribute which is not the object, the table will allow you to expand the group row to see all the objects within the group.

    +
    +

    Grouping with Infrastructure data (shown in display mode):
    +Infrastructure Data Grouping in Table Widget

    +
    +
  • +
+
+
+
+

Metrics Filtering

+
+

In addition to filtering on an object's attributes in a widget, you can now filter on metrics as well.

+
+
+

Metrics Filtering

+
+
+

When working with integration data (Kubernetes, ONTAP Advanced Data, etc.), metric filtering removes the individual/unmatched data points from the plotted data series, unlike infrastructure data (storage, VM, ports etc.) where filters work on the aggregated value of the data series and potentially remove the entire object from the chart.

+
+
+

Integration Metric Filtering

+
+
+
+

ONTAP Advanced Counter Data

+
+

Cloud Insights takes advantage of NetApp's ONTAP-specific Advanced Counter Data, which provides a host of counters and metrics collected from ONTAP devices. ONTAP Advanced Counter Data is available to all NetApp ONTAP customers. These metrics enable customized and wide-ranging visualization in Cloud Insights widgets and dashboards.

+
+
+

ONTAP Advanced Counters can be found by searching for "netapp_ontap" in the widget's query, and selecting from among the counters.

+
+
+

Searching for ONTAP Advanced Counters

+
+
+

You can refine your search by typing additional parts of the counter name. For example:

+
+
+
    +
  • +

    lif

    +
  • +
  • +

    aggregate

    +
  • +
  • +

    offbox_vscan_server

    +
  • +
  • +

    and more

    +
  • +
+
+
+

ONTAP Widget Example - WAFL
+ONTAP Widget Example - Cp Reads

+
+
+

Please note the following:

+
+
+
    +
  • +

    Advanced Data collection will be enabled by default for new ONTAP data collectors. To enable Advanced Data collection for your existing ONTAP data collectors, edit the data collector and expand the Advanced Configuration section.

    +
  • +
  • +

    Advanced Data collection is not available for 7-mode ONTAP.

    +
  • +
+
+
+
+

Advanced Counter Dashboards

+
+

Cloud Insights comes with a variety of pre-designed dashboards to help get you started on visualizing ONTAP Advanced Counters for topics such as Aggregate Performance, Volume Workload, Processor Activity, and more. If you have at least one ONTAP data collector configured, these can be imported from the Dashboard Gallery on any dashboard list page.

+
+
+
+

Learn More

+
+

More information on ONTAP Advanced Data can be found at the following links:

+
+
+ +
+
+
+

Policies and Violations Menu

+
+

Performance Policies and Violations are now found under the Alerts menu. Policy and Violation functionality are unchanged.

+
+
+

Policies and Violations Menu

+
+
+
+

Updated Telegraf Agent

+
+

The agent for ingestion of telegraf integration data has been updated to version 1.14, which includes bugs fixes, security fixes, and new plugins.

+
+
+

Note: When configuring a Kubernetes data collector on the Kubernetes platform, you may see an "HTTP status 403 Forbidden" error in the log, due to insufficient permissions in the "clusterrole" attribute.

+
+
+

To work around this issue, add the following highlighted lines to the rules: section of the endpoint-access clusterrole, and then restart the Telegraf pods.

+
+
+
+
rules:
+- apiGroups:
+  - ""
+  - apps
+  - autoscaling
+  - batch
+  - extensions
+  - policy
+  - rbac.authorization.k8s.io
+  attributeRestrictions: null
+  resources:
+  - nodes/metrics
+  - nodes/proxy     <== Add this line
+  - nodes/stats
+  - pods            <== Add this line
+  verbs:
+  - get
+  - list            <== Add this line
+
+
+
+
+
+
+
+

June 2020

+
+
+

Simplified Data Collector Error Reporting

+
+

Reporting a data collector error is easier with the Send Error Report button on the data collector page. Clicking the button sends basic information about the error to NetApp and prompts investigation into the problem. Once pressed, Cloud Insights acknowledges that NetApp has been notified, and the Error Report button is disabled to indicate that an error report for that data collector has been sent. The button remains disabled until the browser page is refreshed.

+
+
+

Error Report Button

+
+
+
+

Widget Improvements

+
+

The following improvements have been made in dashboard widgets. These improvements are considered Preview functionality and may not be available for all Cloud Insights environments.

+
+
+
    +
  • +

    New object/metric chooser: Objects (Storage, Disk, Ports, Nodes, etc.) and their associated metrics (IOPS, Latency, CPU Count, etc.) are now available in widgets in a single inclusive drop-down with powerful search capability. You can enter multiple partial terms in the drop-down, and Cloud Insights will list all object metrics meeting those terms.

    +
  • +
+
+
+

Object/Metric Chooser

+
+
+
    +
  • +

    Multiple tags grouping: When working with integration data (Kubernetes, etc.), you may group the data by multiple tags/attributes. For example, Sum memory usage by Kubernetes Namespace and Container name.

    +
  • +
+
+
+

Multiple grouping when displaying integration data

+
+
+
+
+
+
+

May 2020

+
+
+

Reporting User Roles

+
+

The following roles have been added for Reporting:

+
+
+
    +
  • +

    Cloud Insights Consumers: can run and view reports

    +
  • +
  • +

    Cloud Insights Authors: can perform the Consumer functions as well as create and manage reports and dashboards

    +
  • +
  • +

    Cloud Insights Administrators: can perform the Author functions as well as all administrative tasks

    +
  • +
+
+
+
+

Cloud Secure Updates

+
+

Cloud Insights includes the following recent Cloud Secure changes.

+
+
+

In the Forensics > Activity Forensics page, we provide two views to analyze and investigate user activity:

+
+
+
    +
  • +

    Activity view, focused on user activity (What operation? Where performed?)

    +
  • +
  • +

    Entities view, focused on what files the user accessed.

    +
  • +
+
+
+

Entities Page Example

+
+
+

Additionally, the Alert email notification now contains a direct link to the alert page.

+
+
+
+

Dashboard Grouping

+
+

Dashboard grouping allows better management of dashboards that are relevant to you. You can add related dashboards to a group for "one-stop" management of, for example, your storage or virtual machines.

+
+
+

Groups are customized per user, so one person's groups can be different from someone else's. You can have as many groups as you need, with as few or as many dashboards in each group as you like.

+
+
+

Dashboard Groups

+
+
+
+

Dashboard Pinning

+
+

You can pin dashboards so favorites always appear at the top of the list.

+
+
+

Dashboard Pins

+
+
+
+

TV Mode and Auto-Refresh

+
+

TV Mode and Auto-Refresh allow for near-real-time display of data on a dashboard or asset page:

+
+
+
    +
  • +

    TV Mode provides an uncluttered display; the navigation menu is hidden, providing more screen real estate for your data display.

    +
  • +
  • +

    Data in widgets on Dashboards and Asset Landing Pages Auto-Refresh according a refresh interval (as little as every 10 seconds) determined by the Dashboard Time Range selected (or widget time range, if set to override the dashboard time).

    +
  • +
+
+
+

Combined, TV Mode and Auto-Refresh provide a live view of your Cloud Insights data, perfect for seamless demonstrations or in-house monitoring.

+
+
+
+
+
+
+

April 2020

+
+
+

New Dashboard Time Range Choices

+
+

Time range choices for dashboards and other Cloud insights pages now include Last 1 Hour and Last 15 Minutes.

+
+
+
+

Cloud Secure Updates

+
+

Cloud Insights includes the following recent Cloud Secure changes.

+
+
+
    +
  • +

    Better file and folder metadata change recognition to detect if the user changed Permission, Owner, or Group Ownership.

    +
  • +
  • +

    Export user activity report to CSV.

    +
  • +
+
+
+

Cloud Secure monitors and audits all user access operations on files and folders. Activity auditing allows you to comply with internal security policies, meet external compliance requirements such as PCI, GDPR, and HIPAA, and conduct data breach and security incident investigations.

+
+
+
+

Default Dashboard Time

+
+

The default time range for dashboards is now 3 Hours instead of 24 hours.

+
+
+
+

Optimized Aggregation Times

+
+

Optimized time aggregation intervals in time-series widgets (Line, Spline, Area, and Stacked Area charts) are more frequent for 3-hour and 24-hour dashboard/widget time ranges, allowing for faster charting of data.

+
+
+
    +
  • +

    3 hour time range optimizes to a 1 minute aggregation interval. Previously this was 5 minutes.

    +
  • +
  • +

    24 hour time range optimizes to a 30 minute aggregation interval. Previously this was 1 hour.

    +
  • +
+
+
+

You can still override the optimized aggregation by setting a custom interval.

+
+
+
+

Display Unit Auto-Format

+
+

In most widgets, Cloud Insights knows the base unit in which to display values, for example Megabytes, Thousands, Percentage, Milliseconds (ms), etc., and now automatically formats the widget to the most readable unit. For example a data value of 1,234,567,890 bytes would be auto formatted to 1.23 gibibytes. In many cases, Cloud Insights knows the best format for the data being acquired. In cases where the best format is not known, or in widgets where you want to override the automatic formatting, you can choose the format you want.

+
+
+

Auto Format in Widgets

+
+
+
+

Import Annotations Using API

+
+

With Cloud Insights Premium Edition's powerful API, you can now import annotations and assign them to objects using a .CSV file. You can also import applications and assign business entities in the same way.

+
+
+

Importing Annotations

+
+
+
+

Simpler Widget Selector

+
+

Adding widgets to dashboards and asset landing pages is easier with a new widget selector that shows all widget types in a single all-at-once view, so the user no longer needs to scroll through a list of widget types to find the one they want to add. Related widgets are color-coordinated and grouped by proximity in the new selector.

+
+
+

New widget selector

+
+
+
+
+
+
+

February 2020

+
+
+

API with Premium Edition

+
+

Cloud Insights Premium Edition comes with a powerful API that can be used to integrate Cloud Insights with other applications, such as CMDB’s or other ticketing systems.

+
+
+

Detailed, Swagger-based information is found in Admin > API Acccess, under the API Documentation link. Swagger provides a brief description and usage information for the API, and allows you to try each API out in your environment.

+
+
+

The Cloud Insights API uses Access Tokens to provide permission-based access to categories of API, such as ASSETS or COLLECTION.

+
+
+

API Documentation

+
+
+
+

Initial Polling After Adding A Data Collector

+
+

Previously, after configuring a new data collector, Cloud Insights would poll the data collector immediately to gather inventory data, but would wait until the configured performance poll interval (typically 15 minutes) to gather initial performance data. It would then wait for another interval before initiating the second performance poll, which meant it would take up to 30 minutes before meaningful data was acquired from a new data collector.

+
+
+

Data collector polling has been greatly improved, such that the initial performance poll occurs immediately after the inventory poll, with the second performance poll occurring within a few seconds after completion of the first performance poll. This allows Cloud Insights to begin showing useful data on dashboards and graphs within a very short time.

+
+
+

This poll behavior also occurs after editing the configuration of an existing data collector.

+
+
+
+

Easier Widget Duplication

+
+

It is easier than ever to create a copy of a widget on a dashboard or landing page. In dashboard Edit mode, click the menu on the widget and select Duplicate. The widget editor is launched, pre-filled with the original widget's configuration and with a “copy” suffix in the widget name. You can easily make any necessary changes and Save the new widget. The widget will be placed at the bottom of your dashboard, and you can position it as needed. Remember to Save your dashboard when all changes are complete.

+
+
+

Duplicate a widget

+
+
+
+

Single Sign-On (SSO)

+
+

With Cloud Insights Premium Edition, administrators can enable Single Sign-On (SSO) access to Cloud Insights for all users in their corporate domain, without having to invite them individually. With SSO enabled, any user with the same domain email address can log into Cloud Insights using their corporate credentials.

+
+
+ + + + + +
+Note + +SSO is only available in Cloud Insights Premium Edition, and must be configured before it can be enabled for Cloud Insights. SSO configuration includes Identity Federation through NetApp Cloud Central. Federation allows single sign-on users to access your NetApp Cloud Central accounts using credentials from your corporate directory. +
+
+
+
+
+
+
+

January 2020

+
+
+

Swagger documentation for REST API

+
+

Swagger explains each available REST API in Cloud Insights, as well as its usage and syntax. Information on Cloud Insights APIs is available in documentation.

+
+
+
+

Feature Tutorials Progress Bar

+
+

The feature tutorials checklist has been moved to the top banner and now features a progress indicator. Tutorials are available for each user until dismissed, and are always available in Cloud Insights documentation.

+
+
+

Tutorial Checklist Progress

+
+
+
+

Acquisition Unit Changes

+
+

When installing an Acquisition Unit (AU) on a host or VM that has the same name as an already-installed AU, Cloud Insights assures a unique name by appending the AU name with "_1", "_2", etc. This is also the case when uninstalling and reinstalling an AU from the same VM without first removing it from Cloud Insights. Want a different AU name altogether? No problem; AU's can be renamed after installation.

+
+
+
+

Optimized Time Aggregation in Widgets

+
+

In widgets, you can choose between an Optimized time aggregation interval or a Custom interval that you set. Optimized aggregation automatically selects the right time interval based on the selected dashboard time range (or widget time range, if overriding the dashboard time). The interval dynamically changes as the dashboard or widget time range is changed.

+
+
+
+

Simplified "Getting Started with Cloud Insights" process

+
+

The process for getting started using Cloud Insights has been simplified to make your first-time setup smoother and easier. Simply select an initial data collector and follow the instructions. Cloud Insights will walk you through configuring the data collector and any agent or acquisition unit required. In most cases it will even import one or more initial dashboards so you can start gaining insight into your environment quickly (but please allow up to 30 minutes for Cloud Insights to collect meaningful data).

+
+
+

Additional improvements:

+
+
+
    +
  • +

    Acquisition Unit installation is simpler and runs faster.

    +
  • +
  • +

    Alphabetical Data Collectors choices make it easier to find the one you’re looking for.

    +
  • +
  • +

    Improved Data Collector setup instructions are easier to follow.

    +
  • +
  • +

    Experienced users can skip the getting started process with the click of a button.

    +
  • +
  • +

    A new Progress bar shows you where you are in the process.

    +
    +

    Progress Bar

    +
    +
  • +
+
+
+
+
+
+
+

December 2019

+
+
+

Business Entity can be used in filters

+
+

Business Entity annotations can be used in filters for queries, widgets, performance policies, and landing pages.

+
+
+
+

Drill-down available for Single-Value and Gauge widgets, and any widgets rolled to by "All"

+
+

Clicking the value in a single-value or gauge widget opens a query page showing the results of the first query used in the widget. Additionally, clicking the legend for any widget whose data is rolled up by "All" will also open a query page showing the results of the first query used in the widget.

+
+
+
+

Trial period extended

+
+

New users who sign up for a free trial of Cloud Insights now have 30 days to evaluate the product. This is an increase from the previous 14-day trial period.

+
+
+
+

Managed Unit calculation

+
+

The calculation of Managed Units (MUs) in Cloud Insights has been changed to the following:

+
+
+
    +
  • +

    1 Managed Unit = 2 hosts (any virtual or physical machine)

    +
  • +
  • +

    1 Managed Unit = 4 TB of unformatted capacity of physical or virtual disks

    +
  • +
+
+
+

This change effectively doubles the environment capacity that you can monitor using your existing Cloud Insights subscription.

+
+
+
+
+
+
+

November 2019

+
+
+

Editions Feature Comparison Table

+
+

The Admin > Subscription page comparison table has been updated to list the feature sets available in Basic, Standard, and Premium Editions of Cloud Insights. NetApp is constantly improving its Cloud Services, so check this page often to find the Edition that's right for your evolving business needs.

+
+
+
+
+
+
+

October 2019

+
+
+

Reporting

+
+

Cloud Insights Reporting is a business intelligence tool that enables you to view pre-defined reports or create custom reports. With Reporting you can perform the following tasks:

+
+
+
    +
  • +

    Run a pre-defined report

    +
  • +
  • +

    Create a custom report

    +
  • +
  • +

    Customize the report format and delivery method

    +
  • +
  • +

    Schedule reports to run automatically

    +
  • +
  • +

    Email reports

    +
  • +
  • +

    Use colors to represent thresholds on data

    +
  • +
+
+
+

Cloud Insights Reporting can generate custom reports for areas like chargeback, consumption analysis, and forecasting, and can help answer questions such as the following:

+
+
+
    +
  • +

    What inventory do I have?

    +
  • +
  • +

    Where is my inventory?

    +
  • +
  • +

    Who is using our assets?

    +
  • +
  • +

    What is the chargeback for allocated storage for a business unit?

    +
  • +
  • +

    How long until I need to acquire additional storage capacity?

    +
  • +
  • +

    Are business units aligned along the proper storage tiers?

    +
  • +
  • +

    How is storage allocation changing over a month, quarter, or year?

    +
  • +
+
+
+

Reporting is available with Cloud Insights Premium Edition.

+
+
+
+

Active IQ Enhancements

+
+

Active IQ Risks are now available as objects that can be queried as well as used in dashboard table widgets. The following Risks object attributes are included:
+* Category
+* Mitigation Category
+* Potential Impact
+* Risk Detail
+* Severity
+* Source
+* Storage
+* Storage Node
+* UI Category

+
+
+
+
+
+
+

September 2019

+
+
+

New Gauge Widgets

+
+

Two new widgets are available for displaying single-value data on your dashboards in eye-catching colors based on thresholds you specify. You can display values using either a Solid Gauge or Bullet Gauge. Values that land inside the Warning range are displayed in orange. Values in the Critical range are displayed in red. Values below the Warning threshold are displayed in green.

+
+
+

Solid/Traditional Gauge
+Bullet Gauge

+
+
+
+

Conditional Color Formatting for Single Value Widget

+
+

You can now display the Single-Value widget with a colored background based on thresholds you set.

+
+
+

Single-Value widgets with formatting

+
+
+
+

Invite Users During Onboarding

+
+

At any point during the onboarding process, you can click on Admin > User Management > +User to invite additional users to your Cloud Insights environment. Be aware that users with Guest or User roles will see greater benefit once onboarding is complete and data has been collected.

+
+
+
+

Data Collector Detail Page improvement

+
+

The data collector detail page has been improved to display errors in a more readable format. Errors are now displayed in a separate table on the page, with each error displayed on a separate line in the case of multiple errors for the data collector.

+
+
+
+
+
+
+

August 2019

+
+
+

All vs. Available Data Collectors

+
+

When adding data collectors to your environment, you can set a filter to show only the data collectors available to you based on your subscription level, or all data collectors.

+
+
+
+

ActiveIQ Integration

+
+

Cloud Insights collects data from NetApp ActiveIQ, which provides a series of visualizations, analytics, and other support related services to NetApp customers and their hardware / software systems. Cloud Insights integrates with ONTAP Data Management systems. See Active IQ for more information.

+
+
+
+
+
+
+

July 2019

+
+
+

Dashboard Improvements

+
+

Dashboards and Widgets have been improved with the following changes:

+
+
+
    +
  • +

    In addition to Sum, Min, Max, and Avg, Count is now an option for roll up in Single-Value widgets. When rolling up by “Count”, Cloud Insights checks if an object is active or not, and only adds the active ones to the count. The resulting number is subject to aggregation and filters.

    +
  • +
  • +

    In the Single-Value widget, you now have a choice to display the resulting number with 0, 1, 2, 3, or 4 decimal places.

    +
  • +
  • +

    Line charts show an axis label and units when a single counter is being plotted.

    +
  • +
  • +

    Transform option is available for Services integration data now in all time-series widgets for all metrics. For any services integration (Telegraf) counter or metric in time-series widgets (Line, Spline, Area, Stacked Area), you are given a choice of how you want to Transform the values. None (display value as-is), Sum, Delta, Cumulative, etc.

    +
  • +
+
+
+
+

Downgrading to Basic Edition

+
+

Downgrade to Basic Edition fails with an error message if there is no available NetApp device configured that has successfully completed a poll in the last 7 days.

+
+
+
+

Collecting Kube-State-Metrics

+
+

The Kubernetes Data Collector now collects objects and counters from the kube-state-metrics plugin, greatly expanding the number and scope of metrics available for monitoring in Cloud Insights.

+
+
+
+
+
+
+

June 2019

+
+
+

Cloud Insights Editions

+
+

Cloud Insights is available in different Editions to fit your budget and business needs. Existing NetApp customers with an active NetApp support account can enjoy 7 days of data retention and access to NetApp data collectors with the free Basic Edition, or get increased data retention, access to all supported data collectors, expert technical support and more with Standard Edition. For more information on available features, see NetApp's Cloud Insights site.

+
+
+
+

New Infrastructure Data Collector: NetApp HCI

+
+
    +
  • +

    NetApp HCI Virtual Center has been added as an Infrastructure data collector. The HCI Virtual Center data collector collects NetApp HCI Host information and requires read-only privileges on all objects within the Virtual Center.

    +
  • +
+
+
+

Note that the HCI data collector acquires from the HCI Virtual Center only. To collect data from the storage system, you must also configure the NetApp SolidFire data collector.

+
+
+
+
+
+
+

May 2019

+
+
+

New Service Data Collector: Kapacitor

+
+
    +
  • +

    Kapacitor has been added as a data collector for services.

    +
  • +
+
+
+
+

Integration with Services via Telegraf

+
+

In addition to acquisition of data from infrastructure devices such as switches and storage, Cloud Insights now collects data from a variety of Operating Systems and Services, using Telegraf as its agent for collection of integration data. Telegraf is a plugin-driven agent that can be used to collect and report metrics. Input plugins are used to collect the desired information into the agent by accessing the system/OS directly, by calling third-party APIs, or by listening to configured streams.

+
+
+

Documentation for currently supported integrations can be found in the menu to the left under Reference and Support.

+
+
+
+

Storage Virtual Machine Assets

+
+
    +
  • +

    Storage Virtual Machines (SVMs) are available as assets in Cloud Insights. SVMs have their own Asset Landing Pages, and can be displayed and used in searches, queries, and filters. SVMs can also be used in dashboard widgets as well as associated with annotations.

    +
  • +
+
+
+
+

Reduced Acquisition Unit System Requirements

+
+
    +
  • +

    The system CPU and memory requirements for the Acquisition Unit (AU) software have been reduced. The new requirements are:

    +
  • +
+
+ +++++ + + + + + + + + + + + + + + + + + +

Component

Old Requirement

New Requirement

CPU Cores

4

2

Memory

16 GB

8 GB

+
+
+

Additional Platforms Supported

+
+ +
+ ++++ + + + + + + + + + + +

Linux

Windows

CentOS 7.3 64-bit
+CentOS 7.4 64-bit
+CentOS 7.6 64-bit
+Debian 9 64-bit
+Red Hat Enterprise Linux 7.3 64-bit
+Red Hat Enterprise Linux 7.4 64-bit
+Red Hat Enterprise Linux 7.6 64-bit
+Ubuntu Server 18.04 LTS

Microsoft Windows 10 64-bit
+Microsoft Windows Server 2008 R2
+Microsoft Windows Server 2019

+
+
+
+
+
+

April 2019

+
+
+

Filter Virtual Machines by Tags

+
+

When configuring the following data collectors, you can filter to include or exclude virtual machines from data collection according to their Tags or Labels.

+
+
+ +
+
+
+
+
+
+

March 2019

+
+
+ +
+
    +
  • +

    You can select recipients for email notifications when subscription-related events occur, such as upcoming trial expiration or subscribed account changes. You can choose recipients for these notifications from among following:

    +
    +
      +
    • +

      All Account Owners

      +
    • +
    • +

      All Administrators

      +
    • +
    • +

      Additional Email Addresses that you specify

      +
    • +
    +
    +
  • +
+
+
+
+

Additional Dashboards

+
+
    +
  • +

    The following new AWS-focused dashboards have been added to the gallery and are available for import:

    +
    +
      +
    • +

      AWS Admin - Which EC2 are in high demand?

      +
    • +
    • +

      AWS EC2 Instance Performance by Region

      +
    • +
    +
    +
  • +
+
+
+
+
+
+
+

February 2019

+
+
+

Collecting from AWS Child Accounts

+
+
    +
  • +

    Cloud Insights supports collection from AWS child accounts within a single data collector. Your AWS environment must be configured to allow Cloud Insights to collect from child accounts.

    +
  • +
+
+
+
+

Data Collector Naming

+
+
    +
  • +

    Data Collector names can now include periods (.), hyphens (-), and spaces ( ) in addition to letters, numbers, and underscores. Names may not begin or end with a space, period, or hyphen.

    +
  • +
+
+
+
+

Acquisition Unit for Windows

+
+ +
+
+
+
+
+
+

January 2019

+
+
+

"Owner" field is more readable

+
+
    +
  • +

    In Dashboard and Query lists, the data for the "Owner" field was previously an authorization ID string, instead of a user-friendly owner name. The "Owner" field now shows a simpler and more readable owner name.

    +
  • +
+
+
+
+

Managed Unit Breakdown on Subscription Page

+
+
    +
  • +

    For each data collector listed on the Admin > Subscription page, you can now see a breakdown of Managed Unit (MU) counts for hosts and storage, as well as the total.

    +
  • +
+
+
+
+
+
+
+

December 2018

+
+
+

Improvement of UI Load Time

+
+
    +
  • +

    The initial loading time for the Cloud Insights user interface (UI) has been significantly improved. Refresh time for the UI also benefits from this improvement in circumstances where metadata is loaded.

    +
  • +
+
+
+
+

Bulk Edit Data Collectors

+
+
    +
  • +

    You can edit information for multiple data collectors at the same time. On the Observability > Collectors page, select the data collectors to modify by checking the box to the left of each and click the Bulk Actions button. Choose Edit and modify the necessary fields.

    +
    +

    The data collectors selected must be the same vendor and model, and reside on the same Acquisition Unit.

    +
    +
  • +
+
+
+
+

Support and Subscription pages are Available During Onboarding

+
+
    +
  • +

    During the onboarding workflow, you can navigate to the Help > Support and Admin > Subscription pages. Returning from those pages returns you to the onboarding workflow, providing you have not closed the browser tab.

    +
  • +
+
+
+
+
+
+
+

November 2018

+
+
+

Subscribe through NetApp Sales or AWS Marketplace

+
+
    +
  • +

    Cloud Insights subscription and billing is now available directly through NetApp. This is in addition to the self-serve subscription available through AWS Marketplace. A new Contact Sales link is presented on the Admin > Subscription page. For customers whose environments have or are expected to have 1,000 or more Managed Units (MUs), it is recommended to contact NetApp sales via the Contact Sales link.

    +
  • +
+
+
+
+ +
+
    +
  • +

    Text-type annotations can now include hyperlinks.

    +
  • +
+
+
+
+

Onboarding Walkthrough

+
+
    +
  • +

    Cloud Insights now features an onboarding walkthrough for the first user (administrator or account owner) to log in to a new environment. The walkthrough takes you through installing an Acquisition Unit, configuring an initial data collector, and selecting one or more useful dashboards.

    +
  • +
+
+
+
+ +
+
    +
  • +

    In addition to selecting dashboards during onboarding, you can import dashboards via Dashboards > Show All Dashboards and clicking +From Gallery.

    +
  • +
+
+
+
+

Duplicating Dashboards

+
+
    +
  • +

    The ability to duplicate a dashboard has been added to the dashboard list page as a choice in the options menu for each dashboard, and on a dashboard's main page itself from the Save menu.

    +
  • +
+
+
+
+

Cloud Central products menu

+
+
    +
  • +

    The menu allowing you to switch to other NetApp Cloud Central products has moved to the upper right corner of the screen.

    +
  • +
+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/concept_ws_integration_with_ontap_access_denied.html b/concept_ws_integration_with_ontap_access_denied.html new file mode 100644 index 0000000000..8e3af8e41a --- /dev/null +++ b/concept_ws_integration_with_ontap_access_denied.html @@ -0,0 +1,4196 @@ + + + + Integration with ONTAP Access Denied + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Integration with ONTAP Access Denied

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The ONTAP Access Denied feature uses workload analysis in NAS environments (NFS and SMB) to proactively detect and warn about failed file operations (i.e., a user trying to perform an operation for which they do not have permission). These failed file operation notifications—​especially in cases of security-related failures—​will further help in blocking insider attacks at early stages.

+
+
+

Cloud Insights Workload Security integrates with ONTAP to receive Access Denied events and provide an additional analytic and automatic response layer.

+
+
+

Prerequisites

+
+
+
    +
  • +

    Minimum ONTAP version: 9.13.0.

    +
  • +
  • +

    A Workload Security administrator must enable the Access Denied feature while adding a new collector or editing existing collector, by selecting the Monitor Access Denied Events checkbox under Advanced Configuration.

    +
  • +
+
+
+

Enable Access Denied in the ONTAP collector Advanced Configuration

+
+
+
+
+

User permissions required

+
+
+

If the Data Collector is added using cluster administration credentials, no new permissions are needed.

+
+
+

If the Collector is added using a custom user (for example, csuser) with permissions given to the user, follow the steps below to give Workload Security the necessary permission to register for Access Denied events with ONTAP.

+
+
+

For csuser with cluster credentials, execute the following commands from the ONTAP command line. Note that csrestrole is custom role and csuser is ontap custom user.

+
+
+
+
 security login rest-role create -role csrestrole -api /api/protocols/fpolicy -access all -vserver <cluster_name>
+ security login create -user-or-group-name csuser -application http -authmethod password -role csrestrole
+
+
+
+

For csuser with SVM credentials, execute the following commands from the ONTAP command line:

+
+
+
+
 security login rest-role create -role csrestrole -api /api/protocols/fpolicy -access all -vserver <svm_name>
+ security login create -user-or-group-name csuser -application http -authmethod password -role csrestrole -vserver <svm_name>
+
+
+
+

Read more about configuring other ONTAP permissions.

+
+
+
+
+

Access Denied events

+
+
+

Once events have been acquired from the ONTAP system, the Workload Security Forensics page will show Access Denied events. In addition to the information displayed, you can view the missing user permissions for a particular operation by adding the Desired Activity column to the table from the gear icon.

+
+
+

Example Access Denied Event

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/cs_alert_data.html b/cs_alert_data.html new file mode 100644 index 0000000000..d6b4f59688 --- /dev/null +++ b/cs_alert_data.html @@ -0,0 +1,4398 @@ + + + + Alerts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Alerts

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Workload Security Alerts page shows a timeline of recent attacks and/or warnings and allows you to view details for each issue.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+

Alerts list

+
+
+
+
+

Alert

+
+
+

The Alert list displays a graph showing the total number of Potential Attacks and/or Warnings that have been raised in the selected time range, followed by a list of the attacks and/or warnings that occurred in that time range. You can change the time range by adjusting the start time and end time sliders in the graph.

+
+
+

The following is displayed for each alert:

+
+
+

Potential Attacks:

+
+
+
    +
  • +

    The Potential Attack type (for example, Ransomware or Sabotage)

    +
  • +
  • +

    The date and time the potential attack was Detected

    +
  • +
  • +

    The Status of the alert:

    +
    +
      +
    • +

      New: This is the default for new alerts.

      +
    • +
    • +

      In Progress: The alert is under investigation by a team member or members.

      +
    • +
    • +

      Resolved: The alert has been marked as resolved by a team member.

      +
    • +
    • +

      Dismissed: The alert has been dismissed as false positive or expected behavior.

      +
      +

      An administrator can change the status of the alert and add a note to assist with investigation.

      +
      +
      +

      Change Alert Status

      +
      +
    • +
    +
    +
  • +
  • +

    The User whose behavior triggered the alert

    +
  • +
  • +

    Evidence of the attack (for example, a large number of files was encrypted)

    +
  • +
  • +

    The Action Taken (for example, a snapshot was taken)

    +
  • +
+
+
+

Warnings:

+
+
+
    +
  • +

    The Abnormal Behavior that triggered the warning

    +
  • +
  • +

    The date and time the behavior was Detected

    +
  • +
  • +

    The Status of the alert (New, In progress, etc.)

    +
  • +
  • +

    The User whose behavior triggered the alert

    +
  • +
  • +

    A description of the Change (for example, an abnormal increase in file access)

    +
  • +
  • +

    The Action Taken

    +
  • +
+
+
+
+
+

Filter Options

+
+
+

You can filter Alerts by the following:

+
+
+
    +
  • +

    The Status of the alert

    +
  • +
  • +

    Specific text in the Note

    +
  • +
  • +

    The type of Attacks/Warnings

    +
  • +
  • +

    The User whose actions triggered the alert/warning

    +
  • +
+
+
+
+
+

The Alert Details page

+
+
+

You can click an alert link on the Alerts list page to open a detail page for the alert. Alert details may vary according to the type of attack or alert. For example, a Ransomware Attack detail page may show the following information:

+
+
+

Summary section:

+
+
    +
  • +

    Attack type (Ransomware, Sabotage) and Alert ID (assigned by Workload Security)

    +
  • +
  • +

    Date and Time the attack was detected

    +
  • +
  • +

    Action Taken (for example, an automatic snapshot was taken. Time of snapshot is shown immediately below the summary section))

    +
  • +
  • +

    Status (New, In Progress, etc.)

    +
  • +
+
+
+
+

Attack Results section:

+
+
    +
  • +

    Counts of Affected Volumes and Files

    +
  • +
  • +

    An accompanying summary of the detection

    +
  • +
  • +

    A graph showing file activity during the attack

    +
  • +
+
+
+
+ +
+

This section shows details about the user involved in the potential attack, including a graph of Top Activity for the user.

+
+
+

Alerts page (this example shows a potential ransomware attack):
+Ransomware Alert Example

+
+
+

Detail page (this example shows a potential ransomware attack):
+Ransomware Detail Page Example

+
+
+
+
+
+

Take a Snapshot Action

+
+
+

Workload Security protects your data by automatically taking a snapshot when malicious activity is detected, ensuring that your data is safely backed up.

+
+
+

You can define automated response policies that take a snapshot when ransomware attack or other abnormal user activity is detected.
+You can also take a snapshot manually from the alert page.

+
+
+

Automatic Snapshot taken:
+Alert Action Screen

+
+
+

Manual Snapshot:
+Alert Action Screen

+
+
+
+
+

Alert Notifications

+
+
+

Email notifications of alerts are sent to an alert recipient list for every action on the alert. To configure alert recipients, click on Admin > Notifications and enter an email addresses for each recipient.

+
+
+
+
+

Retention Policy

+
+
+

Alerts and Warnings are retained for 13 months. Alerts and Warnings older than 13 months will be deleted.
+If the Workload Security environment is deleted, all data associated with the environment is also deleted.

+
+
+
+
+

Troubleshooting

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Problem:Try This:

There is a situation where, ONTAP takes hourly snapshots per day. Will Workload Security (WS) snapshots affect it? Will WS snapshot take the hourly snapshot place? Will the default hourly snapshot get stopped?

Workload Security snapshots will not affect the hourly snapshots. WS snapshots will not take the hourly snapshot space and that should continue as before. The default hourly snapshot will not get stopped.

What will happen if the maximum snapshot count is reached in ONTAP?

If the maximum Snapshot count is reached, subsequent Snapshot taking will fail and Workload Security will show an error message noting that Snapshot is full.
+User needs to define Snapshot policies to delete the oldest snapshots, otherwise snapshots will not be taken.
+In ONTAP 9.3 and earlier, a volume can contain up to 255 Snapshot copies. In ONTAP 9.4 and later, a volume can contain up to 1023 Snapshot copies.
+
+See the ONTAP Documentation for information on setting Snapshot deletion policy.

Workload Security is unable to take snapshots at all.

Make sure that the role being used to create snapshots has link: proper rights assigned.
+Make sure csrole is created with proper access rights for taking snapshots:
+
+ security login role create -vserver <vservername> -role csrole -cmddirname "volume snapshot" -access all

Snapshots are failing for older alerts on SVMs which were removed from Workload Security and subsequently added back again. For new alerts which occur after SVM is added again, snapshots are taken.

This is a rare scenario. In the event you experience this, log in to ONTAP and take the snapshots manually for the older alerts.

In the Alert Details page, the message “Last attempt failed” error is seen below the Take Snapshot button.
+Hovering over the error displays “Invoke API command has timed out for the data collector with id”.

This can happen when a data collector is added to Workload Security via SVM Management IP, if the LIF of the SVM is in disabled state in ONTAP.
+Enable the particular LIF in ONTAP and trigger Take Snapshot manually from Workload Security. The Snapshot action will then succeed.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/cs_automated_response_policies.html b/cs_automated_response_policies.html new file mode 100644 index 0000000000..2881eaebac --- /dev/null +++ b/cs_automated_response_policies.html @@ -0,0 +1,4169 @@ + + + + Automated Response Policies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Automated Response Policies

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Response Policies trigger actions such as taking a snapshot or restricting user access in the event of an attack or abnormal user behavior.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+

You can set policies on specific devices or all devices. To set a response policy, select Admin > Automated Response Policies and click the appropriate +Policy button. You can create policies for Attacks or for Warnings.

+
+
+

Create Attack Policy

+
+
+

You must save the policy with a unique name.

+
+
+

To disable an automated response action (for example, Take Snapshot), simply un-check the action and save the policy.

+
+
+

When an alert is triggered against the specified devices (or all devices, if selected), the automated response policy takes a snapshot of your data. You can see snapshot status on the Alert detail page.

+
+
+

See the Restrict User Access page for more details on restricting user access by IP.

+
+
+

You can modify or pause an Automated Response Policy by choosing the option in the policy's drop-down menu.

+
+
+

Workload Security will automatically delete snapshots once per day based on the Snapshot Purge settings.

+
+
+

Snapshot Purge Settings

+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/cs_intro.html b/cs_intro.html new file mode 100644 index 0000000000..6166120465 --- /dev/null +++ b/cs_intro.html @@ -0,0 +1,4178 @@ + + + + About Storage Workload Security + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

About Storage Workload Security

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Cloud Insights Storage Workload Security (formerly Cloud Secure) helps protect your data with actionable intelligence on insider threats. It provides centralized visibility and control of all corporate data access across hybrid cloud environments to ensure security and compliance goals are met.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+
+
+

Visibility

+
+
+

Gain centralized visibility and control of user access to your critical corporate data stored on-premise or in the cloud.

+
+
+

Replace tools and manual processes that fail to provide timely and accurate visibility into data access and control. Workload Security uniquely operates on both cloud and on-premise storage systems to give you real-time alerts of malicious user behavior.

+
+
+
+
+

Protection

+
+
+

Protect organizational data from being misused by malicious or compromised users through advanced machine learning and anomaly detection.

+
+
+

Alerts you to any abnormal data access through advanced machine learning and anomaly detection of user behavior.

+
+
+
+
+

Compliance

+
+
+

Ensure corporate compliance by auditing user data access to your critical corporate data stored on-premise or in the cloud.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/cs_notifications_email.html b/cs_notifications_email.html new file mode 100644 index 0000000000..b413aabfca --- /dev/null +++ b/cs_notifications_email.html @@ -0,0 +1,4232 @@ + + + + Configuring Email Notifications for Alerts, Warnings, and Agent/Data Source Collector health + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Configuring Email Notifications for Alerts, Warnings, and Agent/Data Source Collector health

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

To configure Workload Security alert recipients, click on Admin > Notifications and enter an email addresses in the appropriate section(s) for each recipient.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+
+
+

Potential Attack Alerts and Warnings

+
+
+

To send Potential Attack alert notifications, enter the recipients' email addresses in the Send Potential Attack Alerts section.
+Email notifications are sent to the alert recipient list for every action on the alert.

+
+
+

To send Warning notifications, enter the recipients' email addresses in the Send Warning Alerts section.

+
+
+
+
+

Agent and Data Collector Health monitoring

+
+
+

You can monitor the health of Agents and Data Sources through notifications.

+
+
+

In order to receive notifications in the event that an Agent or Data Source collector is not functioning, enter the email addresses of the recipients in the Data Collection Health Alerts section.

+
+
+

Keep the following in mind:

+
+
+
    +
  • +

    Health alerts will be sent only after the agent/collector stops reporting for at least one hour.

    +
  • +
  • +

    Only one email notification is sent to the intended recipients in a given 24 hour period, even If the Agent or Data collector is disconnected for a longer duration.

    +
  • +
  • +

    In case of an Agent failure, one alert will be sent (not one per collector). The email will include a list of all impacted SVMs.

    +
  • +
  • +

    Active directory collection failure is reported as a warning; it does not impact Ransomware detection.

    +
  • +
  • +

    The Getting Started setup list now includes a new Configure email notifications phase.

    +
  • +
+
+
+
+
+

Receiving Agent And Data Collector Upgrade Notifications

+
+
+
    +
  • +

    Enter the email ID(s) in the “Data Collection Health Alerts”.

    +
  • +
  • +

    The “Enable upgrade notifications” check box becomes enabled.

    +
  • +
  • +

    Agent and Data Collector upgrade email notifications are sent to the email IDs one day in advance of the planned upgrade.

    +
  • +
+
+
+
+
+

Troubleshooting

+
+ ++++ + + + + + + + + + + + + +
Problem:Try this:

Email IDs are present in the “Data Collector Health Alerts”, however I am not receiving notifications.

Notification emails are sent from the NetApp Cloud Insights domain, i.e from accounts@service.cloudinsights.netapp.com. Some companies block incoming emails if they are from an external domain. Ensure that external notifications from NetApp Cloud Insights domains are whitelisted.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/cs_restrict_user_access.html b/cs_restrict_user_access.html new file mode 100644 index 0000000000..e7e09bf8f5 --- /dev/null +++ b/cs_restrict_user_access.html @@ -0,0 +1,4465 @@ + + + + Blocking User Access + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Blocking User Access

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Once an attack is detected, Workload Security can stop the attack by blocking user access to the file system. Access can be blocked automatically, using Automated Response Policies or manually from the alert or user details pages.

+
+
+ + + + + +
+Note + +Workload Security is not available in Cloud Insights Federal Edition. +
+
+
+

When blocking user access, you should define a blocking time period. After the selected time period ends, user access is automatically restored.
+Access blocking is supported for both SMB and NFS protocols.

+
+
+

User is directly blocked for SMB and IP address of the host machines causing the attack will be blocked for NFS. Those machine IP addresses will be blocked from accessing any of the Storage Virtual Machines (SVMs) monitored by Workload Security.

+
+
+

For example, let’s say Workload Security manages 10 SVMs and the Automatic Response Policy is configured for four of those SVMs. If the attack originates in one of the four SVMs, the user’s access will be blocked in all 10 SVMs. A Snapshot is still taken on the originating SVM.

+
+
+

If there are four SVMs with one SVM configured for SMB, one configured for NFS, and the remaining two configured for both NFS and SMB, all the SVMs will be blocked if the attack originates in any of the four SVMs.

+
+
+
+
+

Prerequisites for User Access Blocking

+
+
+

Cluster level credentials are needed for this feature to work.

+
+
+

If you are using cluster administration credentials, no new permissions are needed.

+
+
+

If you are using a custom user (for example, csuser) with permissions given to the user, then follow the steps below to give permissions to Workload Security to block user.

+
+
+

For csuser with cluster credentials, do the following from the ONTAP command line:

+
+
+
+
security login role create -role csrole -cmddirname "vserver export-policy rule" -access all
+security login role create -role csrole -cmddirname set -access all
+security login role create -role csrole -cmddirname "vserver cifs session" -access all
+security login role create -role csrole -cmddirname "vserver services access-check authentication translate" -access all
+security login role create -role csrole -cmddirname "vserver name-mapping" -access all
+
+
+
+

Be sure to review the Permissions section of the Configuring the ONTAP SVM Data Collector page as well.

+
+
+
+
+

How to enable the feature?

+
+
+
    +
  • +

    In Workload Security, navigate to Workload Security > Policies > Automated Response Policies. Choose +Attack Policy.

    +
  • +
  • +

    Select (check) Block User File Access.

    +
  • +
+
+
+
+
+

How to set up Automatic user access blocking?

+
+
+
    +
  • +

    Create a new Attack Policy or edit an existing Attack policy.

    +
  • +
  • +

    Select the SVMs on which the attack policy should be monitored.

    +
  • +
  • +

    Click on the checkbox “Block User File Access”. The feature will be enabled when this is selected.

    +
  • +
  • +

    Under “Time Period” select the time until which the blocking should be applied.

    +
  • +
  • +

    To test automatic user blocking,, you can simulate an attack via a simulated script.

    +
  • +
+
+
+
+
+

How to know if there are blocked users in the system?

+
+
+
    +
  • +

    In the alert lists page, a banner on the top of screen will be displayed in case any user is blocked.

    +
  • +
  • +

    Clicking on the banner will take you to the “Users” page, where the list of blocked users can be seen.

    +
  • +
  • +

    In the “Users” page, there in a column named “User/IP Access”. In that column, the current state of user blocking will be displayed.

    +
  • +
+
+
+
+
+

Restrict and manage user access manually

+
+
+
    +
  • +

    You can go to the alert details or user details screen and then manually block or restore a user from those screens.

    +
  • +
+
+
+
+
+

User Access Limitation History

+
+
+

In the alert details and user details page, in the user panel, you can view an audit of the user’s access limitation history: Time, Action (Block, Unblock), duration, action taken by, manual/automatic, and affected IPs for NFS.

+
+
+
+
+

How to disable the feature?

+
+
+

At any time, you can disable the feature. If there are restricted users in the system, you must restore their access first.

+
+
+
    +
  • +

    In Workload Security, navigate to Workload Security > Policies > Automated Response Policies. Choose +Attack Policy.

    +
  • +
  • +

    De-select (uncheck) Block User File Access.

    +
  • +
+
+
+

The feature will be hidden from all pages.

+
+
+
+
+

Manually Restore IPs for NFS

+
+
+

Use the following steps to manually restore any IPs from ONTAP if your Workload Security trial expires, or if the agent/collector is down.

+
+
+
    +
  1. +

    List all export policies on an SVM.

    +
    +
    +
    contrail-qa-fas8020::> export-policy rule show -vserver <svm name>
    +             Policy          Rule    Access   Client                RO
    +Vserver      Name            Index   Protocol Match                 Rule
    +------------ --------------- ------  -------- --------------------- ---------
    +svm0        default         1       nfs3,    cloudsecure_rule,     never
    +                                    nfs4,    10.11.12.13
    +                                    cifs
    +svm1        default         4       cifs,    0.0.0.0/0             any
    +                                    nfs
    +svm2        test            1       nfs3,    cloudsecure_rule,     never
    +                                    nfs4,    10.11.12.13
    +                                    cifs
    +svm3        test            3       cifs,    0.0.0.0/0             any
    +                                    nfs,
    +                                    flexcache
    +4 entries were displayed.
    +
    +
    +
  2. +
  3. +

    Delete the rules across all policies on the SVM which have “cloudsecure_rule” as Client Match by specifying its respective RuleIndex. Workload Security rule will usually be at 1.

    +
    +
    +
    contrail-qa-fas8020::*> export-policy rule delete -vserver <svm name> -policyname * -ruleindex 1
    +
    +
    +
  4. +
  5. +

    Ensure Workload Security rule is deleted (optional step to confirm).

    +
    +
    +
    contrail-qa-fas8020::*> export-policy rule show -vserver <svm name>
    +             Policy          Rule    Access   Client                RO
    +Vserver      Name            Index   Protocol Match                 Rule
    +------------ --------------- ------  -------- --------------------- ---------
    +svm0         default         4       cifs,    0.0.0.0/0             any
    +                                    nfs
    +svm2         test            3       cifs,    0.0.0.0/0             any
    +                                    nfs,
    +                                    flexcache
    +2 entries were displayed.
    +
    +
    +
  6. +
+
+
+
+
+

Manually Restore Users for SMB

+
+
+

Use the following steps to manually restore any users from ONTAP if your Workload Security trial expires, or if the agent/collector is down.

+
+
+

You can get the list of users blocked in Workload Security from the users list page.

+
+
+
    +
  1. +

    Login to the ONTAP cluster (where you want to unblock users) with cluster admin credentials. (For Amazon FSx, login with FSx credentials).

    +
  2. +
  3. +

    Run the following command to list all users blocked by Workload Security for SMB in all SVMs:

    +
    +
    +
    vserver name-mapping show -direction win-unix -replacement " "
    +
    +
    +
    +
    +
    Vserver:   <vservername>
    +Direction: win-unix
    +Position Hostname         IP Address/Mask
    +-------- ---------------- ----------------
    +1       -                 -                   Pattern: CSLAB\\US040
    +                                         Replacement:
    +2       -                 -                   Pattern: CSLAB\\US030
    +                                         Replacement:
    +2 entries were displayed.
    +
    +
    +
  4. +
+
+
+

In the above output, 2 users were blocked (US030, US040) with domain CSLAB.

+
+
+
    +
  1. +

    Once we identify the position from the above output, run the following command to unblock the user:

    +
    +
    +
    vserver name-mapping delete -direction win-unix -position <position>
    +
    +
    +
  2. +
  3. +

    Confirm the users are unblocked by running the command:

    +
    +
    +
    vserver name-mapping show -direction win-unix -replacement " "
    +
    +
    +
  4. +
+
+
+

No entries should be displayed for the users previously blocked.

+
+
+
+
+

Troubleshooting

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProblemTry This

Some of the users are not getting restricted, though there is an attack.

1. Make sure that the Data Collector and Agent for the SVMs are in Running state. Workload Security won’t be able to send commands if the Data Collector and Agent are stopped.
+
+2. This is because the user may have accessed the storage from a machine with a new IP which has not been used before.
+Restricting happens via IP address of the host through which the user is accessing the storage. Check in the UI (Alert Details > Access Limitation History for This User > Affected IPs) for the list of IP addresses which are restricted. If the user is accessing storage from a host which has an IP different from the restricted IPs, then the user will still be able to access the storage through the non-restricted IP. If the user is trying to access from the hosts whose IPs are restricted, then the storage won’t be accessible.

Manually clicking on Restrict Access gives “IP addresses of this user have already been restricted”.

The IP to be restricted is already being restricted from another user.

Policy could not be modified. Reason: not authorized for that command.

Check if using csuser, permissions are given to the user as mentioned above.

User (IP Address) blocking for NFS works, but for SMB / CIFS, I see an error message: “SID to DomainName transformation failed. Reason timeout: socket is not established”

This can happen is csuser does not have permission to perform ssh. (Ensure connection at cluster level, then ensure user can perform ssh). csuser role requires these permissions.
+
+ https://docs.netapp.com/us-en/cloudinsights/cs_restrict_user_access.html#prerequisites-for-user-access-blocking
+
+For csuser with cluster credentials, do the following from the ONTAP command line:
+
+ security login role create -role csrole -cmddirname "vserver export-policy rule" -access all
+ security login role create -role csrole -cmddirname set -access all
+ security login role create -role csrole -cmddirname "vserver cifs session" -access all
+ security login role create -role csrole -cmddirname "vserver services access-check authentication translate" -access all
+ security login role create -role csrole -cmddirname "vserver name-mapping" -access all
+
+If csuser is not used and if admin user at cluster level is used, make sure that the admin user has ssh permission to ONTAP.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/css/fonts/FontAwesome.otf b/css/fonts/FontAwesome.otf new file mode 100644 index 0000000000..401ec0f36e Binary files /dev/null and b/css/fonts/FontAwesome.otf differ diff --git a/css/fonts/fontawesome-webfont.eot b/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000..e9f60ca953 Binary files /dev/null and b/css/fonts/fontawesome-webfont.eot differ diff --git a/css/fonts/fontawesome-webfont.svg b/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000..855c845e53 --- /dev/null +++ b/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/fonts/fontawesome-webfont.ttf b/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000..35acda2fa1 Binary files /dev/null and b/css/fonts/fontawesome-webfont.ttf differ diff --git a/css/fonts/fontawesome-webfont.woff b/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000..400014a4b0 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff differ diff --git a/css/fonts/fontawesome-webfont.woff2 b/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000..4d13fc6040 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff2 differ diff --git a/css/ie-api-explorer.css b/css/ie-api-explorer.css new file mode 100644 index 0000000000..fc50ad6aa6 --- /dev/null +++ b/css/ie-api-explorer.css @@ -0,0 +1 @@ +#sidePanel{border-left:1px solid rgba(217,217,214,0.8);box-shadow:-3px 0px 7px 0px rgba(0,0,0,0.1);width:0;min-width:0;z-index:3}.api-doc-operation{margin:0px;padding:4px;margin-right:10px;border-radius:5px;font-size:15px;vertical-align:middle}.api-doc-side-panel{width:0;position:fixed;z-index:2;right:0;top:52px;bottom:0;background-color:white;color:black;transition:0.25s;overflow-y:auto;height:initial}#api-login-overlay{display:none;height:100%}#api-login-container{height:200px;width:300px;margin:-200px -150px;position:relative;top:52%;left:50%;text-align:center}button.api-btn{background:#0067C5;border-radius:2px;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 24px;position:relative;width:152px;height:40px;border:0px}button#api-btn-login{margin-left:83px;margin-right:-50px}.api-btn>span{color:#ffffff;width:100px;height:24px;font-weight:590;font-size:18px;text-align:center}span#api-btn-close-text:after{display:inline-block;margin-left:4px;content:"\276f";font-size:16px;cursor:pointer}#api-btn-close-text{display:inline-block;position:absolute;top:10px;font-size:16px;right:25px;font-weight:700;cursor:pointer}.side-panel-container{padding:5%;display:block}.api-doc-side-panel h2{margin-top:30px}.side-panel-container label{width:40%;float:left;padding-top:5px;padding-bottom:5px;overflow-wrap:break-word}.api-explorer-code{display:block;font-size:13px;padding:0px;overflow:auto;background-color:#111925;color:#fff;border:1px solid rgba(217,217,214,0.8);border-radius:5px;white-space:normal}.side-panel-container input{width:60%;float:left;padding:5px}.side-panel-container select{width:60%;float:left;padding:5px}.row{margin-top:7px;display:flex;align-items:center}.row:after{content:"";display:table;clear:both}.tabbed-block{margin-left:20px}.list-item-container{border-top:1px solid #808080;margin-top:7px}#explorer-login-title{display:block;font-size:1.17em;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;font-weight:bold}#explorer-title{font-weight:500;font-size:27px;padding-bottom:0.3rem;border-bottom:1px solid #eaecef;margin-top:30px;margin-bottom:20px}#explorer-parameters{display:none}#explorer-headers{display:none}#explorer-body{display:none}#explorer-response{display:none}#explorer-code{display:none}.explorer-object{background-color:#111925;color:#fff;border:1px solid rgba(217,217,214,0.8);border-radius:5px;height:15vh;width:60%;overflow-x:auto;white-space:nowrap;font-size:13px;padding:6px}.explorer-field-error{border:2px solid #e68480}.explorer-row{position:relative}.explorer-field-required{position:absolute;right:0;top:-20px;font-size:12px;color:#D82841}.explorer-field-error-message{color:#D82841;display:inline-block;font-size:12px;line-height:15px;margin:5px 0 0}.api-wrap{flex-wrap:wrap}.api-doc h2{border-bottom:none}.api-section-title{margin-bottom:16px}@media screen and (min-width: 768px){.api-doc-side-panel{top:60px}#api-login-container{top:53%}} diff --git a/css/ie-landing-page.css b/css/ie-landing-page.css new file mode 100644 index 0000000000..65f03e6e10 --- /dev/null +++ b/css/ie-landing-page.css @@ -0,0 +1 @@ +.n-band.n-band--docs.n-band--belted{padding:0}a,a:hover{color:#0065B3}.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block{border:1px solid rgba(217,217,214,0.8);box-shadow:0 3px 7px 0 rgba(0,0,0,0.1);height:auto;padding:15px;flex:none;width:calc(100% / 3 - 10px);margin:0 10px 10px 0;min-width:auto;background:#fff;max-width:none}.ie-feature-block__header{align-items:center;border-bottom:2px solid #efefed;display:block;font-weight:600;font-size:16px;line-height:16px;text-align:left;padding-bottom:6px}.ie-feature-block__text{align-items:center;padding-bottom:0px;display:flex;line-height:16px}.ie-feature-block__image{display:inline-block;align-self:center !important;margin-right:4px}.ie-feature-block__section{display:block;margin-top:15px;line-height:1.15em;text-align:left;padding-right:15px}.ie-feature-block__link{font-size:14px;font-weight:500}.ie-feature-block__summary{font-size:14px;overflow-wrap:break-word}.ie-layout-flex{justify-content:normal}@media screen and (max-width: 1300px){.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block{min-width:47%;margin:10px 15px 10px 0px}}@media screen and (max-width: 1024px){.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block{min-width:45%}}@media screen and (max-width: 889px){.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block{min-width:95%;margin:0 10px 20px}} diff --git a/css/ie-netappdocs.css b/css/ie-netappdocs.css new file mode 100644 index 0000000000..690f81c7ba --- /dev/null +++ b/css/ie-netappdocs.css @@ -0,0 +1 @@ +@import url("https://cloud.typography.com/6091132/651206/css/fonts.css");@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,700;1,400&display=swap");@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400&display=swap");body,html{overscroll-behavior:none}@font-face{font-family:"FontAwesome";src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}article,footer,header,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}script{display:none !important}body,html{font-family:"Source Sans Pro", sans-serif;font-style:normal;letter-spacing:0;text-align:inherit;text-indent:0;text-shadow:none;text-transform:none;font-size:16px;font-weight:400;line-height:1.5;box-sizing:border-box;color:#454545;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;tab-size:4;background:#fff;position:relative;cursor:auto}html{-webkit-box-sizing:border-box;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.skip-to-main{background:#fff;height:30px;left:15%;padding:4px 5px;position:absolute;transform:translateY(-100%);transition:transform 0.3s;z-index:3}.skip-to-main:focus-within{transform:translateY(0%);text-decoration:underline}a{background:transparent}a:active,a:hover{outline:0}a:active,a:hover,a:focus{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,pre,samp{font-family:monospace;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}a:hover{cursor:pointer}img,object,embed{max-width:100%;height:auto}object,embed{height:100%}img{-ms-interpolation-mode:bicubic}.left{float:left !important}.right{float:right !important}.hide{display:none}img,object,svg{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.center{margin-left:auto;margin-right:auto}p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:24px;line-height:34px;font-weight:300}.subheader,.admonitionblock td.content>.title,.exampleblock>.title,.listingblock>.title,.literalblock>.title,.openblock>.title,.paragraph>.title,table.tableblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.hdlist>.title{line-height:1.45;color:#000000;font-weight:bold;margin-top:0;margin-bottom:0.25em}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,th,td{margin:0;padding:0;direction:ltr}a{color:#2156a5;text-decoration:none;line-height:inherit}a:hover{text-decoration:underline}a:focus{color:#1d4b8f}a img{border:none}p{font-weight:300;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}p aside{font-size:0.875em;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-style:normal;color:#454545;text-rendering:optimizeLegibility;margin-top:0.5em;margin-bottom:0.5em;line-height:1.0125em}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}h1{font-size:40px}h2{font-size:32px}h3{font-size:1.375em}h4,h5{font-size:1.125em}h6{font-size:1em}hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:"Consolas", "Courier New", "Droid Sans Mono", "DejaVu Sans Mono", monospace;font-weight:400;color:rgba(0,0,0,0.9)}ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside}ul,ol{margin-left:1.5em}ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}dl dt{margin-bottom:0.3125em;font-weight:bold}table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}table thead,table tfoot{font-weight:bold;background:#fff}table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:0.5em 0.625em 0.625em;font-size:inherit;color:rgba(0,0,0,0.8);text-align:left}table tr th,table tr td{padding:0.5625em 0.625em;font-size:inherit;color:rgba(0,0,0,0.8)}table tr.even,table tr.alt,table tr:nth-of-type(even){background:inherit}table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}h1,h2,h3,h4,h5,h6{line-height:1.2;word-spacing:-0.05em}h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong{font-weight:400}*:not(pre)>code{font-size:0.9375em;font-style:normal !important;letter-spacing:0;padding:0.1em 0.5ex;word-spacing:-0.15em;background-color:#f7f7f8;display:inline-block;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}pre,pre>code{line-height:1.45;color:rgba(0,0,0,0.9);font-family:"Consolas", "Courier New", "Droid Sans Mono", "DejaVu Sans Mono", monospace;font-weight:400;text-rendering:optimizeSpeed}.menu{color:rgba(0,0,0,0.8)}b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}b.button:before{content:"[";padding:0 3px 0 2px}b.button:after{content:"]";padding:0 2px 0 3px}p a>code:hover{color:rgba(0,0,0,0.9)}.sect1{padding-bottom:0.625em}.literalblock,.listingblock,.videoblock,.audioblock,.imageblock,.stemblock,.videoblock{margin-bottom:1.25em}.admonitionblock td.content>.title,.exampleblock>.title,.listingblock>.title,.literalblock>.title,.openblock>.title,.paragraph>.title,table.tableblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-size:1.1em;font-style:normal;margin-top:1em;margin-bottom:1em}table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:#454545}table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}.admonitionblock>table td.icon{text-align:center;width:80px}.admonitionblock>table td.icon img{max-width:none;font-size:2.5em;width:1em}.admonitionblock>table td.icon .title{font-weight:bold;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:#454545}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0}.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child{margin-bottom:0}.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:0.8125em}.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,0.9)}.listingblock pre.highlightjs{padding:0}.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}.listingblock pre.prettyprint{border-width:0}.listingblock>.content{position:relative}.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:0.75em;top:0.425rem;right:0.5rem;line-height:1;text-transform:uppercase;color:#999}.listingblock:hover code[data-lang]:before{display:block}.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:0.5em;color:#999}.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}table.tableblock,th.tableblock,td.tableblock{border:0 solid #E0E0E0}table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}table.frame-all{display:block;width:fit-content;height:fit-content;overflow:auto;border-width:1px 0}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}th.halign-left,td.halign-left{text-align:left}th.halign-right,td.halign-right{text-align:right}th.halign-center,td.halign-center{text-align:center}th.valign-top,td.valign-top{vertical-align:top}th.valign-bottom,td.valign-bottom{vertical-align:bottom}th.valign-middle,td.valign-middle{vertical-align:middle}table thead th,table tfoot th{font-weight:bold}tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,0.8);font-weight:bold}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em}td>div.verse{white-space:pre}ol{margin-left:1.75em}ul li ol{margin-left:1.5em}dl dd{margin-left:1.125em;margin-bottom:12px}dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:0.625em}ul.checklist,ul.none{list-style-type:none}ul.checklist{margin-left:0.625em}ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}ul.inline{margin:0 auto 0.625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}ul.inline>li>*{display:block}ol.decimal{list-style-type:decimal-leading-zero}ol.loweralpha{list-style-type:lower-alpha}ol.upperalpha{list-style-type:upper-alpha}ol.lowerroman{list-style-type:lower-roman}ol.upperroman{list-style-type:upper-roman}ol.lowergreek{list-style-type:lower-greek}.hdlist>table{border:0;background:none}.hdlist>table>tbody>tr{background:none}td.hdlist1,td.hdlist2{vertical-align:top;padding:0 0.625em}td.hdlist1{font-weight:bold;padding-bottom:1.25em}.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}.image.left,.image.right{margin-top:0.25em;margin-bottom:0.25em;display:inline-block;line-height:0}.image.left{margin-right:0.625em}.image.right{margin-left:0.625em}a.image{text-decoration:none;display:inline-block}a.image object{pointer-events:none}.big{font-size:larger}.small{font-size:smaller}.underline{text-decoration:underline}.overline{text-decoration:overline}.black{color:#000}.blue{color:#0000bf}.green{color:#006000}.red{color:#bf0000}.white{color:#bfbfbf}.yellow{color:#bfbf00}span.icon>.fa{cursor:default}.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,0.5);cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c;font-family:"FontAwesome"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,0.8);color:#111;font-family:"FontAwesome"}.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900;font-family:"FontAwesome"}.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400;font-family:"FontAwesome"}.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000;font-family:"FontAwesome"}dt,th.tableblock,td.content{text-rendering:optimizeLegibility}h1,h2,p,td.content,span.alt{letter-spacing:-0.01em}p strong,td.content strong{letter-spacing:-0.005em}p,dt,td.content,span.alt{font-size:16px;line-height:1.5}p{margin-bottom:1.25rem}p.tableblock{font-size:1em}.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}div.paragraph.quick-margin-para p{margin-left:58px}div.olist.quick-margin-list ol{margin-left:75px}div.ulist.quick-margin-list ul{margin-left:75px}.n-pdf-button>span{padding-right:4px}.n-list__term,.fonts-loaded body,button,.luci-link__text,h1,h2,h3,h4,h5,h6,ul,.n-band .n-band__heading,p{font-family:"Source Sans Pro",sans-serif !important}a,a:hover{color:#0065b3}code{margin:0;margin-bottom:0}.ie-site-nav{width:200px;float:left}.ie-page-toolbar{width:200px;float:right}.sect1{padding-bottom:1.25em}.sect1>h1,.sect1>h2,.sect1>h3,.sect1>h4{margin-bottom:0.5em;font-weight:500}.sect1>h1,.sect1>h2{margin-top:0.5em}.sect1>h3,.sect1>h4{margin-top:0px}.sect1>h2{line-height:33.75px}ul,ol{margin-left:1.5em}.ulist,.olist{margin-bottom:24px}dl dt{margin-bottom:0.3125em;font-weight:bold}.n-list,ol,ul{font-family:"Source Sans Pro", sans-serif}.content>.paragraph:last-child>p{margin-bottom:0px}article a[target="_blank"]:not(.ext-link-indicator):not(.page-nav-contribute-link):not(.page-nav-contribute-link):not(.pdf-download-link):after{content:"";background:url("/us-en/cloudinsights/images/external_lg_v2.png") left center no-repeat;vertical-align:middle;background-size:14px auto;padding-top:4px;padding-left:16px;margin-left:3px}a.ext-link-indicator:hover{color:transparent}.ext-link-indicator>img{margin-bottom:3px}details{margin-bottom:24px}.page-content details{margin-left:1rem}.page-content details>summary{display:block;position:relative;line-height:1.6;line-height:var(--doc-line-height);margin-bottom:0.5rem}summary{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;font-weight:bold;font-size:1.1em}.page-content details>summary::before{content:"\276f";transform:rotate(360deg);display:block;position:absolute;color:#444;top:0.5em;top:calc((var(--doc-line-height) * 0.5 - 0.3) * 1em);left:-1rem;font-weight:normal}.page-content details[open]>summary::before{content:"\276f";transform:rotate(90deg);display:block;position:absolute;color:#444;top:0.5em;top:calc((var(--doc-line-height) * 0.5 - 0.3) * 1em);left:-1rem}#toctitle{color:inherit}p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:18px;line-height:2rem}li.n-footer__language svg{vertical-align:inherit}.rss{font-size:13px;padding:6px 12px}time+span{border-left:solid 1px #686868;margin-left:12px;padding-left:12px}span+a.ext-link-indicator:before{content:'';margin-left:12px;border-left:solid 1px #686868;padding:1px 12px 1px 0px}time+a{border-left:solid 1px #686868;margin-left:12px;padding-left:12px}time+span+span{border-left:solid 1px #686868;margin-left:12px;padding-left:12px}.n-footer{position:relative;z-index:1}.image:after{display:none !important}.videoblock{max-width:848px}.videoblock .content{max-width:inherit;position:relative;padding-bottom:56.25%;height:0}.videoblock video{position:absolute;top:0;left:0;width:100%;height:100%;max-width:848px;margin:0px}.videoblock iframe{position:absolute;top:0;left:0;width:100%;height:100%;margin:0px}.image img{max-width:100%;height:auto;width:100%;width:initial}.ie-component-list{float:left;clear:both}.n-pdf-button{width:100%;font-weight:700}ul#toggleContainerPdf{border:1px solid #e3e3e3;border-bottom:none}.zip-pdf-link-container{font-weight:bold;font-size:14px;line-height:17px;padding:15px 15px 10px 15px;border:1px solid #e3e3e3;border-top:none}.n-pdf-body-container{margin-top:2px;width:240px;position:absolute;background:#fff;z-index:1}.n-pdf-body-container.block{margin-left:0px}.n-pdf-body li a{font-size:13px;line-height:16px;padding:3px 0px;display:flex;flex-direction:row;align-items:end}.n-pdf-body-container ul{margin-left:0}.n-pdf-section{display:inline-table;margin-bottom:0px;padding-left:0}.n-pdf-section.secound-level{padding-left:32px}#zipPdf{display:flex;align-items:center}#zipPdf pre{font-family:"Source Sans Pro", sans-serif !important;font-size:13px;line-height:1.35 !important;color:#0065b3 !important}#zipPdf pre>span{margin-left:2px}#zipPdf img{float:left;width:16px;font-weight:bold;margin-right:9px}img.adobe-icon{margin-right:16px}#toggleContainerPdf,#toggleContainerPdf li{list-style:none;margin:0}#toggleContainerPdf li{padding-left:9px;border:1px dotted lightgrey;border-width:0 0 1px 1px;margin-left:12px}#toggleContainerPdf>li.pdf-ux-container:first-child,#toggleContainerPdf>li:first-child{border:0;margin-left:6px}#toggleContainerPdf li.pdf-ux-container{border-bottom:0;margin:0}#toggleContainerPdf>li.pdf-ux-container>ul{border-top:none}#toggleContainerPdf li.pdf-ux-container ul[style^="display"]{border-top:1px solid lightgrey}#toggleContainerPdf li a{display:flex;align-items:center;margin:0;background:white;position:relative;text-decoration:none;top:12px}#toggleContainerPdf li a:hover{text-decoration:underline}#toggleContainerPdf li ul{margin-left:-15px;padding-left:4px}#toggleContainerPdf ul li:last-child ul{border-left:1px solid white}#toggleContainerPdf .pdf-hide{display:none}.ie-component-detail-content{float:left;margin-left:0px;margin-right:auto;margin-bottom:0px;margin-top:0px;overflow-wrap:break-word;word-wrap:break-word}#n-main-content{min-height:calc(100vh - 60px - 72px)}.ie-info-disclaimer{background-color:#EDF6FF;margin-bottom:24px;border-left:5px solid #518BEC;padding-top:16px;padding-bottom:16px;padding-right:24px;width:auto}.ie-info-disclaimer-icon{float:left;width:24px;margin:0px 16px 0px 16px}.ie-info-disclaimer-content{width:calc(100% - 30px);font-weight:600}.ie-info-disclaimer-content svg{display:block;margin:auto}.ie-info-disclaimer-container{display:flex}#toggleContainerPdf img{margin-right:9px}#zip-link-popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);display:flex;justify-content:center;align-items:center;z-index:9999}#zip-link-popup .inner-modal{width:45%;max-width:560px;min-width:300px;background-color:#ffffff;padding:40px;text-align:center;font-size:18px;font-weight:500;line-height:1.2}#zip-link-popup h1{margin-bottom:5px}#zip-link-popup .spinner{margin:20px auto}#zip-link-popup .cancel-download-btn{background-color:#ffffff;border:2px solid;font-weight:600;padding:10px 20px;margin-top:35px}#zip-link-popup .done-icon{margin:30px}#zip-link-popup .done-icon svg path{fill:#90ee90}#zip-link-popup.hide{display:none !important}.page-details{color:#5e5e5e;font-size:13px;padding:10px 0;line-height:24px;margin-right:35px}h1.ie-component-detail-heading{margin-bottom:0.1em}div#version-dropdown-new{width:auto;border:2px solid #ecf6ff}img.custom-icon.chevronup.version,img.custom-icon.chevrondown.version,img.custom-icon.chevronup.flavor,img.custom-icon.chevrondown.flavor,.custom-dropdown-select-contrib>img.custom-icon.chevronup,.custom-dropdown-select-contrib>img.custom-icon.chevrondown{filter:invert(27%) sepia(98%) saturate(6571%) hue-rotate(198deg) brightness(96%) contrast(101%)}img.custom-icon.chevronup.version,img.custom-icon.chevrondown.version{margin-top:2px;margin-left:6px}div#version-dropdown-new ul{left:-25px;width:75px}.col-md-3{position:absolute;top:30px;top:0px;left:-92%;width:89%;max-height:88vh}.luci-icon{height:24px;width:24px;background-color:transparent;fill:#2d6dde}.luci-icon:hover{fill:#1e4a93}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}head svg{display:none}ul,ol,p{font-style:normal;font-weight:300;letter-spacing:0;line-height:1.5;text-align:inherit;text-indent:0;text-shadow:none;text-transform:none;font-size:16px;margin:0}hr{border:0;border-top:1px solid #9c9c9c;display:block;height:1px;margin:48px 0;opacity:0.5;padding:0}blockquote,figure{margin:0;padding:0}ol{list-style:decimal}picture{display:block}.h1,.h2,.h3,.h4,.h5,.h6,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}.fonts-loaded body{font-family:proxima-nova}*,:after,:before{box-sizing:inherit}head svg{display:none}b,strong{font-weight:700}.n-pull-right{float:right}hr{background:#f2f2f2;border:0;height:1px;margin-top:24px}.h1,.h2,.h3,.h4,h1,h2,h3,h4,hr{margin-bottom:24px}img{max-width:100%}p{font-style:normal;font-weight:300;letter-spacing:0;line-height:1.5;text-align:inherit;text-indent:0;text-shadow:none;text-transform:none;font-size:16px;color:#454545;margin-bottom:24px}a{color:#0067c5;text-decoration:none}a:hover{color:#1e4a93;text-decoration:underline}ol,ul{font-style:normal;font-weight:300;letter-spacing:0;line-height:1.5;text-align:inherit;text-indent:0;text-shadow:none;text-transform:none;font-size:16px;color:#454545;margin-left:24px}code{display:block;font-family:Courier, "Courier New", monospace;line-height:24px;padding:20px}code .highlight{color:#ff9000}code.inline{display:inline;margin-bottom:0;padding:0}.visually-hidden{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}a{color:#0067c5;text-decoration:none}a:hover{color:#1e4a93;text-decoration:underline}ol,ul{font-style:normal;font-weight:300;letter-spacing:0;line-height:1.5;text-align:inherit;text-indent:0;text-shadow:none;text-transform:none;font-size:16px;color:#454545}code{display:block;font-family:Courier, "Courier New", monospace;line-height:24px;padding:20px}code .highlight{color:#ff9000}code.inline{display:inline;margin-bottom:0;padding:0}.n-main-content{display:block}.n-container{max-width:91.875em}.n-container:after{content:" ";display:block;clear:both}.n-row{margin:0}.n-row:after,.n-row:before{content:" ";display:table}.n-row:after{clear:both}.ie-content-pane .n-row{padding-right:44px;padding-bottom:24px}.button{font-style:normal;letter-spacing:0;line-height:1.5;text-indent:0;text-shadow:none;text-transform:none;font-size:14px}.button{font-weight:500;background:#166bff;border-radius:2px;border-style:none;color:#fff;display:inline-block;min-height:40px;padding:12px 20px;text-align:center}.button:hover{background:#0067c5;color:#fff;text-decoration:none}.button:hover .n-icon-arrow-down{animation:bounce 1s;fill:#002855;transform-origin:center bottom}.button:active{background:#002855}.button.button--inverse{background:#fff;border-radius:2px;color:#0067c5}.button.button--inverse:hover{background:#eaeaea;color:#002855}.button.button--inverse:active{background:#eaeaea}.n-globe__icon,.allnetapp-icon{height:20px;vertical-align:middle;width:20px}input::-ms-clear{display:none}.n-main-content{display:block}.n-container:after{content:" ";display:block;clear:both}.n-row{margin:0}.n-row:after,.n-row:before{content:" ";display:table}.n-row:after{clear:both}.n-col-sm-12{padding-left:10px}.ie-section p{margin:0 0 24px}.n-band{height:100%;padding:24px 0;position:relative}.n-band:last-child .ie-content{border-bottom:0}.n-band.n-band__expand .ie-section,.ie-content+.ie-content{margin-bottom:48px}.ie-content+.ie-content:last-child{margin-bottom:0}.ie-section{position:relative;padding-bottom:24px}.ie-section .button{margin-bottom:12px;width:100%}.ie-section .button+.button{margin-left:0}.ie-content .ie-section{border-bottom:0}.spinner{height:44px;width:44px;border-radius:50%;border:5px solid #0067c5;border-top-color:transparent;animation:lai-spinnair 1s linear infinite;box-sizing:border-box}.ie-feature-block{margin-bottom:24px;padding:0}.ie-feature-block__align--center{text-align:center}.ie-feature-block__align--center ol,.ie-feature-block__align--center ul{list-style-position:inside;padding-left:0}input::-ms-clear{display:none}.ie-layout-flex__item{margin-bottom:24px}.n-footer{background:#EFEFEF}.n-footer__bottom .n-container{max-width:inherit}.n-footer__bottom-left{max-width:59%}.n-footer__bottom-right{max-width:39%}.n-footer__copyright-link{border:none;padding-right:0px}.n-footer__bottom a{color:#404040}.n-footer__bottom .n-footer__copyright a{padding-left:0}.n-footer__bottom .n-footer__social-link{padding:17px 14px}.n-footer__copyright{display:inline-block}.n-footer__copyright-link{color:#686868;font-size:12px;padding:2px 0;vertical-align:middle;font-weight:400;line-height:20px}ul.n-footer__copyright-list{margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, 120px);grid-column-gap:14px;grid-row-gap:8px}@media screen and (min-width: 768px){.n-footer__bottom-left{float:left;margin-left:24px}.n-footer__bottom .n-footer__social-link,.n-footer__bottom a{padding:0;color:#404040}.n-footer__bottom-left{padding-bottom:0}.n-footer__bottom-right{margin-left:24px;padding-bottom:32px}ul.n-footer__copyright-list{margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:48px;row-gap:3px}}@media screen and (min-width: 1024px){.n-footer__bottom-left{float:left;margin-left:24px}.n-footer__bottom-right{float:right;margin-right:24px}}.n-footer__center ul{list-style-type:none}.n-footer__left li{list-style-type:none}.n-footer__right li{list-style-type:none}.n-footer__left{display:flex;padding-left:16px;padding-bottom:8px}.n-footer__center{display:flex;padding-left:16px;padding-bottom:16px}.n-footer__right{display:flex;padding-left:16px;padding-bottom:8px}.n-footer__bottom{padding:16px 0px 24px 0px}ul.n-footer__copyright-list{margin:0;padding:0}@media screen and (min-width: 1024px){.n-footer__left{float:left;padding-left:24px !important;padding-bottom:0px !important}.n-footer__center{float:left;padding-left:48px !important;padding-bottom:0px !important}.n-footer__right{float:right;padding-right:24px !important;padding-left:0px !important;padding-bottom:0px !important}.n-footer__bottom{padding:24px 0}ul.n-footer__copyright-list{margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:48px;row-gap:3px}.n-footer__copyright-link{color:#686868;display:inline-block;font-size:12px;vertical-align:middle;font-weight:400;line-height:20px}}.button{font-family:proxima-nova, Arial, "Helvetica Neue", Helvetica, sans-serif;font-style:normal;font-weight:500;letter-spacing:0;line-height:1.5;text-indent:0;text-shadow:none;text-transform:none;background:#166bff;border-radius:2px;border-style:none;color:#fff;display:inline-block;font-size:14px;min-height:40px;padding:12px 20px;text-align:center}h1{font-size:2rem;margin-bottom:24px;font-weight:500;letter-spacing:0 !important;line-height:1.25;text-align:inherit;text-indent:0;text-transform:none}h2{font-weight:500;font-size:27px;margin-bottom:16px;padding-bottom:0.3rem;border-bottom:1px solid #eaecef}h3{font-size:24px;margin-bottom:16px;font-weight:500}h4{font-size:20px;margin-bottom:16px;font-weight:600}h5{font-size:18px;margin-bottom:16px}fieldset{border:0;margin:0;padding:0}div.api-collapsible-third-title p{font-size:24px;margin-bottom:16px;font-weight:500;margin:20px 0}div.api-collapsible-fourth-title p{font-size:20px;margin-bottom:16px;font-weight:600}div.api-collapsible-fifth-title p{font-size:18px;margin-bottom:16px;font-weight:700;margin:20px 0}.custom-dropdown{position:relative;font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-size:13px;line-height:24px;box-sizing:border-box;margin-bottom:10px;color:#666666}ul.custom-dropdown-menu.lang-selector{width:195px;top:41px;left:-25px}.custom-dropdown.custom-dropdown-lang{background:#fff}.custom-dropdown:focus{outline:none}.custom-dropdown-lang:focus{outline:none}.custom-dropdown-select{cursor:pointer;display:flex;padding-left:12px;padding-right:12px;padding-top:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown-select.custom-dropdown-select-lang:hover,div.custom-dropdown-lang.active .custom-dropdown-select-lang,.custom-dropdown-select.custom-dropdown-select-allnetapp:hover,div.custom-dropdown-allnetapp.active .custom-dropdown-select-allnetapp{border:2px solid white;border-radius:4px}.custom-dropdown-select.custom-dropdown-select-lang,.custom-dropdown-select.custom-dropdown-select-allnetapp{width:auto;color:white;display:flex;align-items:center;padding-top:0;padding-right:12px;border:2px solid #0067C5}.lang-name,.allnetapp-name{padding:9px 6px 9px 8px;font-size:13px;font-weight:590;font-style:normal}.custom-dropdown-select>img{cursor:pointer}img.custom-icon.chevronup.flavor,img.custom-icon.chevrondown.flavor{position:unset;margin-left:6px;margin-top:2px;float:none;right:0}.custom-dropdown:not(#contribute-dropdown):not(#language-dropdown):not(#allnetapp-dropdown):hover,.custom-dropdown:not(#contribute-dropdown):not(#language-dropdown):not(#allnetapp-dropdown):active,.custom-dropdown.active:not(#contribute-dropdown):not(#language-dropdown):not(#allnetapp-dropdown),div#flavor-dropdown.active{border:2px solid #0065B3;border-radius:4px;background-color:#F2F7FF}.custom-dropdown:not(.custom-dropdown-contrib):not(.custom-dropdown-lang):not(.custom-dropdown-allnetapp):active{background-color:#F2F7FF !important}.custom-dropdown-select.custom-dropdown-select-contrib.active,.custom-dropdown-select.custom-dropdown-select-contrib:hover,.n-pdf-header>a#toggleButtonPdf.active,.n-pdf-header>a#toggleButtonPdf:hover{border:2px solid #0065B3;border-radius:4px;background-color:#F2F7FF}.custom-dropdown .custom-dropdown-menu{position:absolute;background-color:#fff;display:none;top:42px;z-index:1;cursor:pointer;box-shadow:0 1px 2px #ccc;border-radius:0 1px 2px 2px;font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-size:13px;line-height:13px;color:#404040}ul.custom-dropdown-menu{max-height:310px;overflow-y:auto}.custom-dropdown .custom-dropdown-menu li{padding:9px 12px 9px 15px;transition:all 0.2s ease-in-out;cursor:pointer}.custom-dropdown .custom-dropdown-menu li a{color:#404040}.custom-dropdown .custom-dropdown-menu{padding:0;list-style:none}.custom-dropdown .custom-dropdown-menu li:hover{background-color:#F2F7FF;text-decoration:underline}.custom-dropdown .custom-dropdown-menu li:active{background-color:#F2F7FF}.custom-icon{width:20px;height:20px}li>img.custom-icon{margin-right:6px;width:21px;height:21px}.chevrondown.invisible,.chevronup.invisible{display:none}.custom-dropdown-select-lang.selected div{position:relative;display:inherit;width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-size:13px;line-height:24px;color:#666666}.custom-dropdown-select.unselected label,.custom-dropdown-select.selected label{position:absolute;top:5px;font-family:"Source Sans Pro";font-style:normal;font-weight:400;font-size:12px;line-height:12px;color:#A7A7A7}.custom-dropdown-select.unselected span,.custom-dropdown-select.selected div{font-size:13px;line-height:13px;font-weight:590;font-style:normal;color:#0067C5;padding:5px 0}img.custom-icon.chevronup.header,img.custom-icon.chevrondown.header{filter:invert(100%) sepia(3%) saturate(13%) hue-rotate(43deg) brightness(130%) contrast(104%)}#version-dropdown-new,#flavor-dropdown{display:inline-block}#flavor-dropdown,#version-dropdown-new,#language-dropdown{margin-left:2px;margin-right:2px}div#flavor-dropdown{width:auto;border:2px solid #ecf6ff}div#flavor-dropdown ul{width:155px;left:-25px;top:42px}#remove-flavor{right:35px;width:22px;height:22px}#language-dropdown{z-index:2}.github-icon{width:15px;height:15px;border:0;vertical-align:middle;margin-right:8px;filter:invert(27%) sepia(98%) saturate(6571%) hue-rotate(198deg) brightness(96%) contrast(101%)}#flavor-dropdown,#version-dropdown-new{margin:0px}#language-dropdown{background-color:#0067C5;margin:0px;border:none}select#all-links{background-color:#0067C5;color:white;border:none;margin-top:9px;font-weight:590;font-style:normal}select#all-links:focus-visible{outline:none}.custom-dropdown-select.selected div{width:auto}.page-nav-fixed{box-sizing:border-box;line-height:1}.page-nav-title{display:none;padding:48px 24px 24px 24px;line-height:1.5;font-style:normal;font-weight:700;font-size:16px;line-height:24px;margin-left:0px;color:#404040}.page-nav-links{margin:0;overflow-x:hidden;overflow-y:auto;position:relative}.page-nav-inner{list-style:none;padding:0px 24px;margin-left:0px}.page-nav-item{display:list-item;padding:0}.page-nav__link{color:#067EC5;display:block;padding-bottom:10px;text-decoration:none;cursor:pointer;line-height:18px;font-style:normal;letter-spacing:0;text-align:left;text-indent:0;text-shadow:none;text-transform:none;font-size:14px;font-weight:400}.page-nav__sublink{margin-left:20px}.page-nav__link--active{position:relative;font-weight:bold}.page-nav__link--active:before{display:none;background-color:#7e5fd4;position:absolute;bottom:4px;content:"";left:-8px;top:4px;width:8px}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:"Consolas", "Courier New", "Droid Sans Mono", "DejaVu Sans Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"] ::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"] ::selection,code[class*="language-"]::selection,code[class*="language-"] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#f5f2f0}:not(pre)>code[class*="language-"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre[class*="language-"].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*="language-"].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:0.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:0.3em;right:0.2em;transition:opacity 0.3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:0.8em;padding:0 0.5em;background:#f5f2f0;background:rgba(224,224,224,0.2);box-shadow:0 2px 0 0 rgba(0,0,0,0.2);border-radius:0.5em}div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar span:hover,div.code-toolbar>.toolbar span:focus{color:inherit;text-decoration:none}div.listingblock{max-width:fit-content}.listingblock *:before{display:none !important}code[class*="language-"]{padding:12px 20px 2px;margin:0px !important}code{display:block;font-family:"Consolas", "Courier New", "Droid Sans Mono", "DejaVu Sans Mono", monospace;line-height:24px;padding:20px}code .token:not(.script){font-weight:400}code .token.property{font-weight:500}code.language-markup .token.namespace,code .token.attr-name,code .token.selector,code .token.tag,code .token.tag *{color:#0075d6}code .token.attr-name{font-style:italic}code .token.comment{font-weight:400;color:#91a2b0}code.language-url,code .token.function,code .token.url{background:inherit;font-weight:600;color:#3297d3}.language-ruby .token.constant+.token.punctuation,.language-ruby .token.constant+.token.punctuation+.token.symbol,code .token.boolean,code .token.builtin,code .token.class-name,code .token.constant,code .token.namespace{font-weight:600;color:#2191ef}code.language-html .token.attr-value>.punctuation:not(:first-child),code.language-markup .token.attr-value>.punctuation:not(:first-child),code .token.attr-value,code .token.macro,code .token.string,code .token.value{font-weight:400;color:#159570}code .token.number{color:#fa755a}code .token.header{font-weight:700}pre.language-curl .line-numbers>span:before{content:">"}pre.language-bash .line-numbers>span:first-child:before,pre.language-curl .line-numbers>span:first-child:before{content:"$"}.language-bash .token.function,code .token.curl,code .token.option,code .token.variable{color:teal;font-weight:600}.language-bash .token.option,code.language-http .token.method,code.language-css .property,code .token.parameter,code .token.symbol{font-weight:500;color:#d14}.language-bash .token.function,code .token.curl,code .token.option{font-weight:500}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:0.3em;right:0;opacity:1;width:100%}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block;position:absolute;right:0}div.code-toolbar>.toolbar .toolbar-item:first-of-type{left:0}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar span{display:inline-block;position:absolute;left:0;color:#454545;font-size:12px;font-weight:400;padding:4px 10px;background:none;box-shadow:none;border-radius:unset}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button{background:#ffffff;border-radius:2px;border:solid 2px #0067c5;color:#0067c5;font-size:12px;padding:2px 8px;position:relative;top:-4px}div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar span:hover,div.code-toolbar>.toolbar span:focus{color:inherit;text-decoration:none}div.code-toolbar>.toolbar a:active,div.code-toolbar>.toolbar a:hover{background:#0067c5;color:#fff;text-decoration:none}@media only screen and (min-width: 768px){h1,h2,h3,h4,h5,h6{line-height:1.2}.sect1{padding-bottom:1.25em}.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:0.90625em}.ie-menu{display:inline-flex;position:relative;left:-30px}.col-md-3{width:270px;min-width:270px;float:left;padding-left:20px;margin-top:0px;position:fixed;top:137px;z-index:1;bottom:80px;overflow:hidden;display:flex;left:0px;flex-direction:column}.ie-layout-flex__item:nth-child(7){margin-left:0.83333%;margin-right:0.83333%;margin-top:0}.n-footer{z-index:2}.image img{width:auto}.tableblock th,.tableblock p,.tableblock ul,.tableblock ol{font-size:inherit}.button{font-family:"Source Sans Pro", sans-serif}ul,ol,p{font-size:16px}p{font-size:16px}ol,ul{font-size:16px}.n-band{padding:48px 0}.ie-content .ie-section .button{width:auto}.ie-layout-flex{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;margin:0 auto;width:100%}.ie-layout-flex[data-ntap-layout~="2"]{margin-left:17.5%;margin-right:17.5%;width:auto}.ie-layout-flex__item{-ms-flex:0 1 auto;flex:0 1 auto;width:31.66667%}[data-ntap-layout~="5"] .ie-layout-flex__item{width:31.66667%}[data-ntap-layout~="5"] .ie-layout-flex__item:nth-child(4),[data-ntap-layout~="5"] .ie-layout-flex__item:nth-child(5){width:48.33333%}[data-ntap-layout~="2"] .ie-layout-flex__item,[data-ntap-layout~="4"] .ie-layout-flex__item{width:48.33333%}.n-footer__bottom-left{width:48.71795%;float:left;margin-right:2.5641%}.n-footer__bottom .n-footer__social-link,.n-footer__bottom a{padding:0}.n-footer__bottom-left{padding-bottom:0}.n-footer__bottom-right{width:48.71795%;float:right;margin-right:0;text-align:right}#ie-right-navbar{display:block;position:fixed;right:0;top:60px;width:250px;z-index:0;border-left:1px solid #E0E0E0}}@media only screen and (min-width: 1024px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}.ie-menu{display:inline-flex;position:relative;left:-30px}.col-md-3{width:300px;min-width:300px;float:left;padding-left:20px;margin-top:0px;position:fixed;top:137px;z-index:1;bottom:80px;overflow:hidden;display:flex;left:0px;flex-direction:column}.page-nav-container{display:block}.image img{width:auto}.tableblock th,.tableblock p,.tableblock ul,.tableblock ol{font-size:inherit}.ie-nmt-disclaimer{margin-top:52px}.n-row{margin:0 -0.83333%}.n-band{padding:64px 0}.ie-content{display:-ms-flexbox;display:flex}[data-ntap-layout~="50-50"] .ie-content .ie-section{width:48.33333%}[data-ntap-layout~="70-30"] .ie-content .ie-section{width:65%}.n-band{padding:80px 0}.ie-feature-block{margin-bottom:0}.techvalidate-quote-tile__quote{min-height:11em}[data-ntap-layout~="4"] .ie-layout-flex__item{width:23.33333%}[data-ntap-layout~="5"] .ie-layout-flex__item{width:18.33333%}[data-ntap-layout~="5"] .ie-layout-flex__item:nth-child(4),[data-ntap-layout~="5"] .ie-layout-flex__item:nth-child(5){width:16.66667%}.n-footer__bottom-left{width:49.15254%;float:left;margin-right:1.69492%}.n-footer__bottom-right{width:49.15254%;float:right;margin-right:0}}.ie-content-pane{margin-left:388px;padding-top:48px;padding-right:48px;padding-bottom:24px;padding-left:48px;margin-top:0}div#language-dropdown ul{width:110px;top:45px;right:10px}div#allnetapp-dropdown ul{width:125px;top:45px;right:10px}#ie-new-sidebar{width:388px;position:fixed;top:60px;z-index:1;bottom:0px;display:flex;flex-direction:column;background-color:#ecf6ff}#sidebar-collapse.no-expand,#right-navbar-collapse.no-expand{display:none}#ie-new-sidebar.close,#right-navbar-collapse.close{display:none}#ie-product-identity-lockup{padding:24px;background-color:#ecf6ff}#ie-new-toc{overflow-y:auto;background-color:#ecf6ff;scrollbar-gutter:stable}.product-family{position:relative;left:388px;width:calc(100% - 388px)}.product-family article{width:100%}.tile-container{float:left;overflow-y:hidden}ul.ie-breadcrumb{margin:0}ul.ie-breadcrumb li{display:inline;font-size:12px;line-height:20px;font-weight:400;font-style:normal;color:#404040;white-space:nowrap;hyphens:auto}#ie-breadcrumb .ie-product-name{padding-top:4px;font-size:28px;line-height:32px;font-weight:700;font-style:normal;color:#404040}ul.ie-breadcrumb li:after{padding-left:8px;padding-right:8px;color:black;content:url("/us-en/cloudinsights/images/breadcrumb.svg")}ul.ie-breadcrumb li a,ul.ie-breadcrumb li a:visited{color:inherit}#ie-searchbox{margin-top:16px;height:40px;background-color:white;border-radius:4px;border:1px solid #A7A7A7;display:inline-block;width:100%}#ie-searchbox-fake{margin-top:16px;height:40px}#ie-searchbox.ie-searchbox-sidebar{display:block}#ie-searchbox .ie-searchbox-icon{position:absolute;margin:10px;width:18px;filter:invert(28%) sepia(84%) saturate(6668%) hue-rotate(197deg) brightness(95%) contrast(103%)}#ie-searchbox .sk-search-box form{display:flex}#ie-searchbox .sk-spinning-loader.is-hidden{display:none}#ie-searchbox .sk-spinning-loader,#ie-searchbox .sk-spinning-loader:after{border-radius:50%;width:20px;height:20px}.sk-spinning-loader{margin:auto;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(0,0,0,0.2);border-right:2px solid rgba(0,0,0,0.2);border-bottom:2px solid rgba(0,0,0,0.2);border-left:2px solid #000;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#ie-searchbox.ie-searchbox-sidebar .sk-hits-stats{display:none}#ie-searchbox .sk-search-box input.sk-search-box__text{color:#454545;font-size:14px;line-height:24px;border:0px;padding:7px 7px 7px 40px;width:calc(100% - 40px);height:38px;background-color:transparent}#ie-searchbox .sk-search-box input.sk-search-box__text:focus-visible{outline:0px}#ie-searchbox ._Search_display_wrapper{position:relative;background:white;margin-top:5px}#ie-searchbox.ie-searchbox-sidebar ._Search_display_wrapper{z-index:3;height:470px;width:658px;border-radius:4px;border:1px solid #A7A7A7;overflow-y:auto;box-shadow:0px 4px 4px 0px rgba(0,0,0,0.25)}#ie-searchbox.ie-searchbox-sidebar ._Search_display_wrapper .search__results{height:419px;border-bottom:1px solid #A7A7A7;overflow-y:auto}#ie-searchbox .search__results__all{margin-top:24px}#ie-searchbox .search__results__all small.sk-hits-hit__hightlights{font-size:16px;margin:0 0 24px 30px;font-family:'Source Sans Pro', sans-serif;display:block}#ie-searchbox .search__results small.sk-hits-hit__hightlights{font-size:13px;margin-left:30px;line-height:1.4;display:block}#ie-searchbox .search__results .sk-hits-hit__title{font-size:16px;margin-left:15px;padding:5px 0px}#ie-searchbox .search__results__all div.sk-hits-hit__title{font-size:20px;margin:0 0 12px 0;font-family:'Source Sans Pro', sans-serif}#ie-searchbox div._Search_display_wrapper em{font-weight:bold;font-style:normal}#ie-searchbox .sk-hits-stats__info{font-size:14px;color:#777}#ie-searchbox a{color:#0065B3}#ie-searchbox ._Search_display_wrapper .search__all{line-height:24px;font-weight:400;font-style:normal;font-size:14px;margin-left:15px;padding-top:13px}#ie-searchbox .sk-no-hits{text-align:center;margin-top:60px;color:#444;font-size:14px;padding-left:10px;padding-right:10px}#ie-searchbox .sk-action-button,.sk-no-hits__step-action{border:1px solid #ccc;color:#08c;border-radius:3px;display:inline-block;padding:10px 20px;cursor:pointer;font-size:14px;outline:none;margin-top:20px}#ie-selectors{display:flex;margin-top:12px;gap:5px}#ie-product-family-filter{padding:12px 24px 24px 28px}#ie-product-family-filter-title{font-weight:700;font-size:18px;font-style:normal;color:#404040;line-height:24px}#ie-product-family-links{margin-left:0px}#ie-product-family-links li{list-style:none}#ie-product-family-links li.active{background-color:#D2E2F3}#ie-product-family-links a{display:block;margin-top:8px;padding-left:4px;padding-right:28px;font-size:14px;line-height:24px;font-weight:400;font-style:normal;color:#404040}#ie-product-family-links a:hover{background-color:#E0EDFA}#sidebar-collapse{position:absolute;left:375px;top:48px;background:#ecf6ff;border-radius:50%;height:26px;width:26px;cursor:pointer}#sidebar-collapse img{width:16px;height:16px;position:relative;left:4px;transform:rotate(180deg)}#right-navbar-collapse img{width:16px;height:16px;position:relative;left:4px}#ie-new-sidebar-collapse{width:14px;position:fixed;top:60px;z-index:1;bottom:0px;display:flex;flex-direction:column;background-color:#ecf6ff}div#ie-right-navbar-collapse.open{width:14px;position:fixed;right:0px;top:60px;z-index:0;bottom:0px;display:flex;flex-direction:column;background-color:#ecf6ff}#sidebar-expand{position:absolute;left:8px;top:48px;background:#ecf6ff;border-radius:50%;height:26px;width:26px;cursor:pointer}#navbar-expand{position:absolute;top:48px;right:10px;background:#ecf6ff;border-radius:50%;height:26px;width:26px;cursor:pointer;transform:rotate(180deg)}#sidebar-expand img{width:16px;height:16px;position:relative;left:4px;transform:rotate(180deg)}#ie-new-header{position:sticky;top:0;z-index:2;height:60px;background-color:#0067C5}#ie-header-logo{width:104px;height:19px}#ie-new-header>ul{margin:0px;width:100%;display:flex;box-sizing:border-box;padding:12px 24px;line-height:36px}#ie-header-docs{color:#F5F5F5;font-size:20px;font-weight:600;font-style:normal}#ie-header-docs:before{content:" ";border-left:2px solid white;padding-left:24px}#ie-new-header>ul>li{list-style:none;margin-right:24px}#ie-new-header>ul>li:last-child{margin-right:15px}#ie-new-header>ul>li>a{color:white}#ie-phone-menu-button{display:none}#right-navbar-collapse{position:absolute;right:235px;top:48px;background:#ecf6ff;border-radius:50%;height:26px;width:26px;cursor:pointer;z-index:2}.page-nav-item a:visited{color:#067EC5}#ie-right-navbar.close{display:none}#ie-right-navbar-collapse.close{display:none}#ie-sidebar-container{padding:12px 10px 24px 24px}@-moz-document url-prefix(){#ie-sidebar-container{padding:12px 24px 24px 24px}}body.OSX #ie-sidebar-container{padding:12px 24px 24px 24px}#ie-sidebar-container ul{list-style-type:none;padding:0;margin:0}.ie-sidebar-menuitem-1{padding-left:4px}.ie-sidebar-menuitem-2{padding-left:24px}.ie-sidebar-menuitem-3{padding-left:44px}.ie-sidebar-menuitem-4{padding-left:64px}.ie-sidebar-menuitem-5{padding-left:84px}.ie-sidebar-menuitem-6{padding-left:104px}.ie-sidebar-menuitem-7{padding-left:124px}.ie-sidebar-menuitem-8{padding-left:144px}.ie-sidebar-menuitem-9{padding-left:164px}.ie-sidebar-menuitem-10{padding-left:184px}.ie-sidebar-menuitem-11{padding-left:204px}.ie-sidebar-menuitem-12{padding-left:224px}.ie-sidebar-menuitem-13{padding-left:244px}.ie-sidebar-menuitem-14{padding-left:264px}.ie-sidebar-menuitem-15{padding-left:284px}#ie-sidebar-container li a{padding-right:28px;padding-top:8px;padding-bottom:8px;font-size:14px;line-height:24px;display:block;font-weight:400;font-style:normal;color:#404040}.ie-sidebar-icon{float:right;top:-3px;right:-28px;position:relative;width:20px;height:31px;padding-right:4px;padding-left:6px}#ie-sidebar-list ul{display:none}#ie-sidebar-list ul.ie-sidebar-open{display:block}#ie-sidebar-list .ie-sidebar-selected>a{background-color:#D2E2F3;font-weight:590}#ie-sidebar-list li>a:hover{background-color:#E0EDFA}#ie-sidebar-list li.ie-sidebar-expand>a>img.open{display:none}#ie-sidebar-list li:not(.ie-sidebar-expand)>a>img.close{display:none}#ie-sidebar-list li>a.ie-sidebar-button{text-decoration:none}#ie-sidebar-list li.ie-sidebar-expand>a{font-weight:590}div#ie-byline{margin-top:24px;display:flex;flex-wrap:wrap;width:100%;margin-bottom:14px}div#preamble{padding-bottom:24px}div#contribute-dropdown{border:none;padding-right:20px}.ie-component-detail-heading-wrap.landing{display:flex;flex-wrap:wrap;margin-bottom:14px}.landing h1.ie-component-detail-heading{width:auto;margin-right:20px}.page-controls{display:flex;flex-wrap:wrap}img.custom-icon.chevrondown{transform:rotate(180deg)}.custom-dropdown-select.custom-dropdown-select-contrib{padding:8px 12px 8px 16px;width:auto;color:#0065B3;font-weight:700;border:2px solid #fff}.page-nav-contribute-link{display:block;text-decoration:none;cursor:pointer;letter-spacing:0;text-align:left;text-indent:0;text-shadow:none;text-transform:none}.custom-dropdown-select-contrib>img.custom-icon.chevronup,.custom-dropdown-select-contrib>img.custom-icon.chevrondown{margin-top:2px;margin-left:6px}ul.custom-dropdown-menu.suggested-changes-dropdown{width:170px;left:-25px;top:45px}ul.suggested-changes-dropdown li{list-style:none;width:auto}div#pdf-control-container{width:auto;margin-left:auto}@media screen and (max-width: 1250px){.ie-component-detail-heading-wrap.landing{display:block;flex-wrap:unset}div#pdf-control-container{margin-left:unset;width:max-content}.n-pdf-body-container.block{margin-left:0px !important}}.n-pdf-header>a#toggleButtonPdf{color:#0065B3;text-decoration:none;display:flex;align-items:center;font-weight:700;padding:8px 12px 8px 16px;border:2px solid #fff}.n-pdf-header{align-content:baseline;font-size:13px;height:auto;line-height:24px;color:#0065B3;font-weight:bolder;width:auto}.n-pdf-button img.custom-icon{margin-left:6px}.n-band .ie-component-detail-heading-wrap{display:flex;flex-wrap:wrap;padding-bottom:28px}.n-band h1.ie-component-detail-heading{flex:1}.n-pdf-button.active>img.custom-icon{transform:rotate(180deg)}.n-pdf-button>img.custom-icon{filter:invert(27%) sepia(98%) saturate(6571%) hue-rotate(198deg) brightness(96%) contrast(101%)}.n-pdf-button pre{color:#454545;font-family:"Source Sans Pro", sans-serif;font-style:normal;text-decoration:none !important;font-weight:500;padding-top:6px;float:left}.n-pdf-button>span{float:right;position:absolute;right:8px}.n-pdf-body li{list-style:none}.n-pdf-body li a{font-size:13px;line-height:16px;padding:3px 0;display:flex;flex-direction:row;align-items:end}.n-pdf-section{border:#e3e3e3;align-items:center;border:1px solid transparent;display:inline-flex;font-size:0.675rem;padding-left:1.2em;padding-right:0.4em;height:2em;line-height:1;color:#454545;font-weight:bolder;width:265px;position:absolute;margin-top:3px;margin-left:17px}.n-pdf-section-title{color:#454545;font-family:"Source Sans Pro", sans-serif;font-style:normal;text-decoration:none !important;font-weight:600;width:100%}.n-pdf-button>span::after{color:#0065B3;position:fixed;right:290px}#ie-product-identity-lockup.ie-addShadow{padding:24px 24px 23px 24px;margin-bottom:1px;box-shadow:0px 1px 0px rgba(0,0,0,0.25);background-color:#E5F2FF}:target{scroll-margin-top:65px}.admonitionblock.note{overflow:auto}@media screen and (max-width: 767px){#page.ie-phone-menu-open{height:100vh;overflow:hidden}.lang-name{display:none}.custom-dropdown-select.custom-dropdown-select-lang{padding:8px}#language-dropdown{width:auto}div#language-dropdown ul{right:0px}#ie-content-wrap{left:0;background-color:white;position:relative;transition:left 0.4s ease}#ie-content-wrap.ie-phone-menu-open{left:330px}#ie-phone-menu{background-color:transparent}#ie-new-sidebar{top:0px;width:330px;left:-330px;position:absolute;overflow-y:scroll;height:100vh;background-color:#ecf6ff}#ie-new-sidebar.close{display:flex}#ie-new-sidebar-collapse{display:none !important}#sidebar-collapse{display:none}#ie-new-toc{overflow-y:hidden;display:contents}.product-family{left:0px}.ie-content-pane{padding:24px 15px;margin:0px !important;width:100% !important}#ie-right-navbar,#ie-right-navbar-collapse{display:none !important}div#ie-byline{display:block}.n-band .ie-component-detail-heading-wrap{display:block;flex-wrap:nowrap}.n-band div#pdf-control-container{position:inherit}#ie-new-header{height:52px;justify-content:flex-start}#ie-phone-menu-button{display:inline;margin-right:auto !important}#ie-new-header>ul{padding:8px 14px;justify-content:center}#ie-allnetapp{display:none}#language-dropdown{font-size:0px}#ie-new-header>ul>li#ie-language-dropdown{margin-right:0px}#ie-language-dropdown .chevrondown,#ie-language-dropdown .chevronup{display:none}#ie-sidebar-container{padding:12px 24px 24px 24px}#ie-product-identity-lockup.ie-addShadow{padding:24px;margin:0px;background-color:#ecf6ff;box-shadow:0px 0px 0px}#ie-searchbox.ie-searchbox-sidebar ._Search_display_wrapper{width:100%}.n-globe__icon{height:22px;vertical-align:middle;width:22px}#ie-header-docs{margin-right:0px !important}}@media screen and (max-height: 767px){#ie-searchbox.ie-searchbox-sidebar ._Search_display_wrapper{height:251px}#ie-searchbox.ie-searchbox-sidebar ._Search_display_wrapper .search__results{height:200px}}@media screen and (min-width: 768px) and (max-width: 1024px){#ie-new-sidebar{width:330px}#sidebar-collapse{left:317px}#ie-right-navbar{width:200px}#right-navbar-collapse{right:185px}.ie-content-pane{margin-left:330px}.product-family{left:330px;width:calc(100% - 330px)}} diff --git a/css/ie-product-family.css b/css/ie-product-family.css new file mode 100644 index 0000000000..e1f8a368fd --- /dev/null +++ b/css/ie-product-family.css @@ -0,0 +1 @@ +.product-family .ie-content{display:unset}.product-family .ie-content-pane{padding:24px 0px}div#selected-sidelink{margin-bottom:10px}.product-family-tile:hover .product-family-tile-title{text-decoration:underline}.product-family-tile:hover a{text-decoration:underline}.product-family .ie-feature-block__section{margin-top:0px}.product-family-tile-summary{margin:0;overflow-wrap:break-word}.product-family-tile-icon img{width:50px}.product-family .ie-feature-block__link{font-size:16px}.product-family-tile-container .ie-feature-block__header{height:65px;border:0}a.ie-feature-block__link.product-family-tile-title{text-decoration:none;overflow-wrap:break-word}#selected-sidelink span{font-weight:bold}.tile-container{float:left}.product-family .col-md-3{position:unset;overflow:unset;max-width:198px;margin-top:80px;padding-top:91px;max-height:100%;min-width:auto;padding-left:0;margin-right:24px;margin-left:10px}.product-family .ie-layout-flex__item:nth-child(7){margin-left:0;margin-right:0}.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block.product-family-tile{flex:none;width:calc(100% / 3 - 10px);margin:0 10px 10px 0;min-width:auto;background:#fff;max-width:none}.product-family .ie-section span{font-weight:bold}.product-family .tile-container .n-container{margin:0;padding:0 !important}.product-family{margin:0 auto;max-width:1664px;display:flex;justify-content:center;padding:48px}@media screen and (max-width: 767px){.product-family .col-md-3{margin-top:30px;width:80%;min-width:80%}.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block.product-family-tile{flex:none;width:100%;min-width:auto;max-width:100%;padding:10px;margin:25px 0 0 0}.tile-container{margin-left:0;float:left;width:100%;margin-top:15px;padding:10px}.product-family .col-md-3{position:absolute;margin:0;padding:0}}@media screen and (min-width: 768px) and (max-width: 1088px){.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block.product-family-tile{width:calc(100% / 3 - 10px);margin-left:0;margin-top:0}.product-family .ie-section:not(.ie-section--fc-module) p{margin:0 0 12px}.product-family .col-md-3{margin-top:56px;width:auto;position:unset;min-width:auto;padding-left:0px}.tile-container{margin-left:0}div#selected-sidelink{margin-bottom:10px}}@media screen and (min-width: 1089px) and (max-width: 1300px){.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block.product-family-tile{width:calc(100% / 3 - 10px);margin-top:0}#selected-sidelink{margin-bottom:11px}}@media screen and (min-width: 1089px) and (max-width: 1256px){.product-family .col-md-3{padding-top:109px}} diff --git a/css/ie-tabbed-blocks.css b/css/ie-tabbed-blocks.css new file mode 100644 index 0000000000..7b9b2264f7 --- /dev/null +++ b/css/ie-tabbed-blocks.css @@ -0,0 +1 @@ +.tab-container.ie-feature-block.ie-feature-block__align--center.ie-layout-flex__item.ie-feature-block{width:inherit;max-width:inherit}.tabs.ie-feature-block__header{padding-bottom:0px}div.tab-link{margin-right:20px;height:32px;display:inline-block}div.tab-link:hover{cursor:pointer;color:gray;border-bottom:2px solid gray}div.tab-link.selected{color:#0067C5;border-bottom:2px solid #0067C5}div.tab-overflow.selected{border-bottom:2px solid #0067C5}div.tab-overflow{margin-right:0px;height:32px;display:inline-block}.tab-link-more:hover{cursor:pointer;color:gray}.overflow-label{margin-right:4px}.overflow-label.selected{color:#0067C5}.dropdown-menu{position:absolute;z-index:1;margin-top:6px;background-color:white;box-shadow:0 3px 7px 0 rgba(0,0,0,0.1)}.dropdown-item{padding:5px 10px 5px 3px;border:1px solid rgba(217,217,214,0.8)}.dropdown-item:hover{cursor:pointer;color:gray}div.panel ol{list-style-position:outside}div.panel ul{list-style-position:outside} diff --git a/data_collector_list.html b/data_collector_list.html new file mode 100644 index 0000000000..2b209bbeb3 --- /dev/null +++ b/data_collector_list.html @@ -0,0 +1,4532 @@ + + + + Cloud Insights Data Collector List + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Cloud Insights Data Collector List

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

Cloud Insights supports a variety of Data Collectors from many vendors and services.

+
+
+

Data Collectors are categorized by these types:

+
+
+
    +
  • +

    Infrastructure: Acquired from vendor devices such as storage arrays, switches, hypervisors, or backup devices.

    +
  • +
  • +

    Service: Acquired from services such as Kubernetes or Docker. Also called Integration.

    +
  • +
+
+
+

Alphabetical list of Data Collectors supported by Cloud Insights:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data CollectorType

Amazon EC2 and EBS

Infrastructure

AWS S3 as Storage

Infrastrusture

Amazon FSx for NetApp ONTAP

Infrastructure

Apache

Service

Azure NetApp Files

Infrastructure

Azure VMs and VHD

Infrastructure

Brocade Network Advisor (BNA)

Infrastructure

Brocade Fibre Channel Switches

Infrastructure

Brocade FOS REST

Infrastructure

Cisco MDS Fabric Switches

Infrastructure

Consul

Service

Couchbase

Service

CouchDB

Service

Cohesity SmartFiles

Infrastructure

Dell EMC Data Domain

Infrastructure

Dell EMC ECS

Infrastructure

Dell EMC PowerScale (previously Isilon)

Infrastructure

Dell EMC Isilon / PowerScale REST

Infrastructure

Dell EMC PowerStore

Infrastructure

Dell EMC Recoverpoint

Infrastructure

Dell EMC ScaleIO/PowerFlex

Infrastructure

Dell EMC Unity

Infrastructure

Dell EMC Unisphere REST

Infrastructure

Dell EMC VMAX/PowerMax Family of Devices

Infrastructure

Dell EMC VNX Block Storage

Infrastructure

Dell EMC VNX File

Infrastructure

Dell EMC VNX Unified

Infrastructure

Dell EMC VPLEX

Infrastructure

Dell EMC XtremIO

Infrastructure

Dell XC Series

Infrastructure

Docker

Service

Elasticsearch

Service

Flink

Service

Fujitsu ETERNUS DX

Infrastructure

Google Compute and Storage

Infrastructure

Hadoop

Service

HAProxy

Service

Hitachi Content Platform (HCP)

Infrastructure

Hitachi Vantara Command Suite

Infrastructure

Hitachi Vantara NAS Platform

Infrastructure

Hitachi Ops Center

Infrastructure

HP Enterprise Alletra 6000 (previously Nimble) Storage

Infrastructure

HP Enterprise Alletra 9000 / Primera (previously 3PAR) Storage

Infrastructure

HP Enterprise Command View

Infrastructure

Huawei OceanStor and Dorado Devices

Infrastructure

IBM Cleversafe

Infrastructure

IBM CS Series

Infrastructure

IBM PowerVM

Infrastructure

IBM SAN Volume Controller (SVC)

Infrastructure

IBM System Storage DS8000 Series

Infrastructure

IBM XIV and A9000 Storages

Infrastructure

Infinidat InfiniBox

Infrastructure

Java

Service

Kafka

Service

Kapacitor

Service

Kibana

Service

Kubernetes

Service

Lenovo HX Series

Infrastructure

Memcached

Service

Microsoft Azure NetApp Files

Infrastructure

Microsoft Hyper-V

Infrastructure

MongoDB

Service

MySQL

Service

NetApp Cloud Volumes ONTAP

Infrastructure

NetApp Cloud Volumes Services for AWS

Infrastructure

NetApp Cloud Connection for ONTAP 9.9+

Infrastructure

NetApp Data ONTAP 7-Mode

Infrastructure

NetApp E-Series

Infrastructure

Amazon FSx for NetApp ONTAP

Infrastructure

NetApp HCI Virtual Center

Infrastructure

NetApp ONTAP Data Management Software

Infrastructure

NetApp ONTAP Select

Infrastructure

NetApp SolidFire All-Flash Array

Infrastructure

NetApp StorageGRID

Infrastructure

Netstat

Service

Nginx

Service

Node

Service

Nutanix NX Series

Infrastructure

OpenStack

Infrastructure

OpenZFS

Service

Oracle ZFS Storage Appliance

Infrastructure

PostgreSQL

Service

Puppet Agent

Service

Pure Storage FlashArray

Infrastructure

Red Hat Virtualization

Infrastructure

Redis

Service

RethinkDB

Service

RHEL & CentOS

Service

Rubrik CDM Storage

Infrastructure

Ubuntu & Debian

Service

VMware vSphere

Infrastructure

Windows

Service

ZooKeeper

Service

+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/faq-config-support.html b/faq-config-support.html new file mode 100644 index 0000000000..9c14f21c6d --- /dev/null +++ b/faq-config-support.html @@ -0,0 +1,4206 @@ + + + + Configuration and Supported Devices + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Configuration and Supported Devices

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + dgracenetapp + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

This FAQ answers common questions about Cloud Insights configuration and supported devices.

+
+
+
+
+

Does Cloud Insights make changes to my environment?

+
+
+

No. Cloud Insights is a read-only tool that gathers information about your environment. Cloud Insights never makes any changes to your assets or configurations.

+
+
+
+
+

What permission-level access does Cloud Insights need to my devices?

+
+
+

In most cases where the device supports it, a read-only access is all that is required. There are some solutions that do not permit read-only access and thus would require the appropriate elevated permissions.

+
+
+
+
+

How often does Cloud Insights collect information?

+
+
+

Cloud Insights typically collects performance data every 5 minutes and discovery of logical and physical constructs every ½ hr. Cloud Insights sets the default polling intervals according to suggested best practices and scalability but does permit the user complete control over these intervals.

+
+
+
+
+

What is Cloud Insights's impact to my Environment?

+
+
+

Cloud Insights's agentless, out-of-band and passive IP communications help minimize setup, maintenance and impact to the data center ecosystem. Cloud Insights's performance development team takes great measures to minimize any impact to the Data center's performance in activities of monitoring performance itself. Impact is considered negligible in normal operating environments and can be relaxed or tightened in highly utilized or underperforming technology platforms. See the Cloud Insights Installation Guide for more information.

+
+
+
+
+

How can I list all the hosts/VM’s in Cloud Insights?

+
+
+

Cloud Insights’s compliment of widgets and query-listing possibilities can be used to provide inventory style listings for Data Center assets. Listings of Virtual Machines down to the spindles and numerous constructs in between can all be made available to queries, widgets, dashboards, and data warehouse reporting, and are accessible through the RESTful API.

+
+
+
+
+ +
+
+

Hypervisors such as VMware provide detailed information on the ESXI hosts and their virtual machines (VMs). For physical servers, Cloud Insights collects metrics up to the host HBA. Cloud Insights employs a unique method in which it discovers physical servers using a patent-pending technology. Once storage and/or switches are discovered, host names for physical servers are contained within the fabric alias information. Cloud Insights selects these host names, matches them in DNS, and automatically brings the hosts into Cloud Insights. This technique greatly minimizes the need for manual entry updates and tool inventory maintenance.

+
+
+
+
+

Does Cloud Insights provide the same device metric depth (parity) across heterogenous environments?

+
+
+

There are varying degrees of standardizing, commonality and nomenclature across 3rd party platforms and vendor technologies. Cloud Insights attempts to normalize capacity and performance information into a consistent framework. Some capacity and performance metrics are provided natively from the device's counters, such as IOPs, latency and raw capacity. When counters are not provided, Cloud Insights can attempt to summarize the values (for example, by totaling the IOPs or capacities of underlying volumes), and in cases where neither is available, Cloud Insights will attempt to derive the metric values through various computational algorithms. Cloud Insights provides a generic SNMP integration capability to incorporate additional metrics not currently collected by Cloud Insights today.

+
+
+
+
+

Does Cloud Insights support Fibre Channel switches?

+
+
+

Yes, In addition to gathering data from your storage assets, Cloud Insights also acquires Inventory and Performance data from Cisco, Brocade and QLogic switches in your environment.

+
+
+
+
+

Are topology views of the whole infrastructure available? Does Cloud Insights show “end-to-end visibility”?

+
+
+

Yes, Cloud Insights dynamically discovers and maps the logical and physical constructs, providing an interactive end-to-end topology view of Compute, Fabrics, Virtualizers and back-end Storage. Topology icons allow quick launch navigation to impacted resources and aid in identification of workloads & violations in shared storage environments.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000000..ed631bce63 --- /dev/null +++ b/feed.xml @@ -0,0 +1,26 @@ + + + + + cloudinsights | NetApp Documentation + + https://docs.netapp.com/us-en/cloudinsights + The latest updates from NetApp Documentation + en-us + 60 + Tue, 02 Apr 2024 13:42:22 +0000 + Tue, 02 Apr 2024 13:42:22 +0000 + + + + + What's New with Cloud Insights (7 Mar 2024) + Thu, 07 Mar 2024 21:25:47 +0000 + https://docs.netapp.com/us-en/cloudinsights/concept_whats_new.html?time=1709846747 + Thu, 07 Mar 2024 21:25:47 +0000 + + + + + + diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf new file mode 100644 index 0000000000..81c9ad949b Binary files /dev/null and b/fonts/FontAwesome.otf differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000..84677bc0c5 Binary files /dev/null and b/fonts/fontawesome-webfont.eot differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000..d907b25ae6 --- /dev/null +++ b/fonts/fontawesome-webfont.svg @@ -0,0 +1,520 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000..96a3639cdd Binary files /dev/null and b/fonts/fontawesome-webfont.ttf differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000..628b6a52a8 Binary files /dev/null and b/fonts/fontawesome-webfont.woff differ diff --git a/fonts/fontawesome-webfont.woff2 b/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000..4d13fc6040 Binary files /dev/null and b/fonts/fontawesome-webfont.woff2 differ diff --git a/fonts/glyphicons-halflings-regular.eot b/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000..b93a4953ff Binary files /dev/null and b/fonts/glyphicons-halflings-regular.eot differ diff --git a/fonts/glyphicons-halflings-regular.svg b/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000000..94fb5490a2 --- /dev/null +++ b/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/glyphicons-halflings-regular.ttf b/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000..1413fc609a Binary files /dev/null and b/fonts/glyphicons-halflings-regular.ttf differ diff --git a/fonts/glyphicons-halflings-regular.woff b/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000..9e612858f8 Binary files /dev/null and b/fonts/glyphicons-halflings-regular.woff differ diff --git a/fonts/glyphicons-halflings-regular.woff2 b/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000..64539b54c3 Binary files /dev/null and b/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/forensic_activity_history.html b/forensic_activity_history.html new file mode 100644 index 0000000000..964aa47671 --- /dev/null +++ b/forensic_activity_history.html @@ -0,0 +1,4548 @@ + + + + Forensics - All Activity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Forensics - All Activity

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The All Activity page helps you understand the actions performed on entities in the Workload Security environment.

+
+
+
+
+

Examining All Activity Data

+
+
+

Click Forensics > Activity Forensics and click the All Activity tab to access the All Activity page.
+This page provides an overview of activities in your environment, highlighting the following information:

+
+
+
    +
  • +

    A graph showing Activity History (accessed per minute/per 5 minutes/per 10 minutes based on selected global time range)

    +
    +

    You can zoom the graph by dragging out a rectangle in the graph. The entire page will be loaded to display the zoomed time range. When zoomed in, a button is displayed that lets the user zoom out.

    +
    +
  • +
  • +

    A chart of Activity Types. To obtain activity history data by activity type, click on corresponding x-axis label link.

    +
  • +
  • +

    A chart of Activity on Entity Types. To obtain activity history data by entity type, click on corresponding x-axis label link.

    +
  • +
  • +

    A list of the All Activity data

    +
  • +
+
+
+

The *All Activity* table shows the following information. Note that not all of these columns are displayed by default. You can select columns to display by clicking on the "gear" icon gear icon.

+
+
+
    +
  • +

    The time an entity was accessed including the year, month, day, and time of the last access.

    +
  • +
  • +

    The user that accessed the entity with a link to the User information.

    +
  • +
+
+
+
    +
  • +

    The activity the user performed. Supported types are:

    +
    +
      +
    • +

      Change Group Ownership - Group Ownership is of file or folder is changed. For more details about group ownership please see this link.

      +
    • +
    • +

      Change Owner - Ownership of file or folder is changed to another user.

      +
    • +
    • +

      Change Permission - File or folder permission is changed.

      +
    • +
    • +

      Create - Create file or folder.

      +
    • +
    • +

      Delete - Delete file or folder. If a folder is deleted, delete events are obtained for all the files in that folder and subfolders.

      +
    • +
    • +

      Read - File is read.

      +
    • +
    • +

      Read Metadata - Only on enabling folder monitoring option. Will be generated on opening a folder on Windows or Running “ls” inside a folder in Linux.

      +
    • +
    • +

      Rename - Rename file or folder.

      +
    • +
    • +

      Write - Data is written to a file.

      +
    • +
    • +

      Write Metadata - File metadata is written, for example, permission changed.

      +
    • +
    • +

      Other Change - Any other event which are not described above. All unmapped events are mapped to “Other Change” activity type. Applicable to files and folders.

      +
    • +
    +
    +
  • +
  • +

    The Path to the entity with a link to the Entity Detail Data

    +
  • +
  • +

    The Entity Type, including entity (i.e. file) extension (.doc, .docx, .tmp, etc.)

    +
  • +
  • +

    The Device where the entities reside

    +
  • +
  • +

    The Protocol used to fetch events.

    +
  • +
  • +

    The Original Path used for rename events when the original file was renamed. This column is not visible in the table by default. Use the column selector to add this column to the table.

    +
  • +
  • +

    The Volume where the entities reside. This column is not visible in the table by default. Use the column selector to add this column to the table.

    +
  • +
+
+
+
+
+

Filtering Forensic Activity History Data

+
+
+

There are two methods you can use to filter data.

+
+
+
    +
  1. +

    Hover over the field in the table and click the filter icon that appears. The value is added to the appropriate filters in the top Filter By list.

    +
  2. +
  3. +

    Filter data by typing in the Filter By field:

    +
    +

    Select the appropriate filter from the top ‘Filter By’ widget by clicking the [+] button:

    +
    +
    +

    Entity Filer

    +
    +
    +

    Enter the search text

    +
    +
    +

    Press Enter or click outside of the filter box to apply the filter.

    +
    +
  4. +
+
+
+

You can filter Forensic Activity data by the following fields:

+
+
+
    +
  • +

    The Activity type.

    +
  • +
+
+
+
    +
  • +

    Source IP from which the entity was accessed. You must provide a valid source IP address in double quotes, for example “10.1.1.1.”. Incomplete IPs such as “10.1.1.”, “10.1..*”, etc. will not work.

    +
  • +
  • +

    Protocol to fetch protocol-specific activities.

    +
  • +
+
+
+
    +
  • +

    Username of the user performing the activity. You need to provide the exact Username to filter. Search with partial username, or partial username prefixed or suffixed with ‘*’ will not work.

    +
  • +
  • +

    Noise Reduction to filter files which are created in the last 2 hours by the user. It is also used to filter temporary files (for example, .tmp files) accessed by the user.

    +
  • +
+
+
+

The following fields are subject to special filtering rules:

+
+
+
    +
  • +

    Entity Type, using entity (file) extension

    +
  • +
  • +

    Path of the entity

    +
  • +
  • +

    User performing the activity

    +
  • +
  • +

    Device (SVM) where entities reside

    +
  • +
  • +

    Volume where entities reside

    +
  • +
  • +

    The Original Path used for rename events when the original file was renamed.

    +
  • +
+
+
+

The preceding fields are subject to the following when filtering:

+
+
+
    +
  • +

    Exact value should be within quotes: Example: "searchtext"

    +
  • +
  • +

    Wildcard strings must contain no quotes: Example: searchtext, *searchtext*, will filter for any strings containing ‘searchtext’.

    +
  • +
  • +

    String with a prefix, Example: searchtext* , will search any strings which start with ‘searchtext’.

    +
  • +
+
+
+
+
+

Sorting Forensic Activity History Data

+
+
+

You can sort activity history data by Time, User, Source IP, Activity, Path and Entity Type. By default, the table is sorted by descending Time order, meaning the latest data will be displayed first. Sorting is disabled for Device and Protocol fields.

+
+
+
+
+

Exporting All Activity

+
+
+

You can export the activity history to a .CSV file by clicking the Export button above the Activity History table. Note that only the top 100,000 records are exported. Depending on the amount of data, it may take from a few seconds to several minutes for the export to finish.

+
+
+
+
+

Column Selection for All Activity

+
+
+

The All activity table shows select columns by default. To add, remove, or change the columns, click the gear icon on the right of the table and select from the list of available columns.

+
+
+

Activity Selector

+
+
+
+
+

Activity History Retention

+
+
+

Activity history is retained for 13 months for active Workload Security environments.

+
+
+
+
+

Applicability of Filters in Forensics Page

+
+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Filter

What it does

Example

Applicable in Which Filters?

Not applicable for which filters

Result

* (Asterisk)

enables you to search for everything

Auto*03172022

User, PATH, Entity Type, Device Type, Volume, Original Path

returns all resources that start with “Auto" and end with “03172022”

? (question mark)

enables you to search for a specific number of characters

AutoSabotageUser1_03172022?

User, Entity Type, Device, Volume

returns AutoSabotageUser1_03172022A, AutoSabotageUser1_03172022AB, AutoSabotageUser1_031720225, and so on

OR

enables you to specify multiple entities

AutoSabotageUser1_03172022 OR AutoRansomUser4_03162022

User, Domain, Username, PATH, Entity Type, Device, Original Path

returns any of AutoSabotageUser1_03172022 OR AutoRansomUser4_03162022

NOT

allows you to exclude text from the search results

NOT AutoRansomUser4_03162022

User, Domain, Username, PATH, Entity Type, Original PATH, Volume

Device

returns everything that does not start with"AutoRansomUser4_03162022”

None

searches for NULL values in all fields

None

Domain

returns results where the target field is empty

+
+
+
+ +
+
+

Search results with and without / will be different

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

/AutoDir1/AutoFile

Works

AutoDir1/AutoFile

Doesn’t work

/AutoDir1/AutoFile (Dir1)

Dir1 Partial substring doesn’t work

"/AutoDir1/AutoFile03242022"

Exact search works

Auto*03242022

Doesn’t work

AutoSabotageUser1_03172022?

Doesn’t work

/AutoDir1/AutoFile03242022 OR /AutoDir1/AutoFile03242022

Works

NOT /AutoDir1/AutoFile03242022

Works

NOT /AutoDir1

Works

NOT /AutoFile03242022

Doesn’t work

*

Shows all the entries

+
+
+
+

Troubleshooting

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Problem

Try This

In the “All Activities” table, under the ‘User’ column, the user name is shown as:
+“ldap:HQ.COMPANYNAME.COM:S-1-5-21-3577637-1906459482-1437260136-1831817”
+or
+"ldap:default:80038003”

Possible reasons could be:
+1. No User Directory Collectors have been configured yet. To add one, go to Workload Security > Collectors > User Directory Collectors and click on +User Directory Collector. Choose Active Directory or LDAP Directory Server.
+2. A User Directory Collector has been configured, however it has stopped or is in error state. Please go to Collectors > User Directory Collectors and check the status. Refer to the User Directory Collector troubleshooting section of the documentation for troubleshooting tips.
+After configuring properly, the name will get automatically resolved within 24 hours.
+If it still does not get resolved, check if you have added the correct User Data Collector. Make sure that the user is indeed part of the added Active Directory/LDAP Directory Server.

Some NFS events are not seen in UI.

Check the following:
+1. A user directory collector for AD server with POSIX attributes set should be running with the unixid attribute enabled from UI.
+2. Any user doing NFS access should be seen when searched in the user page from UI
+3. Raw events (Events for whom the user is not yet discovered) are not supported for NFS
+4. Anonymous access to the NFS export will not be monitored.
+5. Make sure NFS version used in lesser than NFS4.1.

After typing some letters containing a wildcard character like asterisk (*) in the filters on the Forensics All Activity or Entities pages, the pages load very slowly.

An asterisk (*) in the search string searches for everything. However, leading wildcard strings like *<searchTerm> or *<searchTerm>* will result in a slow query.
+To get better performance, use prefix strings instead, in the format <searchTerm>* (in other words, append the asterisk (*) after a search term).
+Example: use the string testvolume*, rather than *testvolume or *test*volume.
+
+Use a prefix-based search to see all activities underneath a given folder recursively (Hierarchical search). e.g. /path1/path2/path3 or “/path1/path2/path3” will list all the activities recursively under /path1/path2/path3.
+Alternatively use the "Add To Filter" option under the All Activity tab.

I am encountering a "Request failed with status code 500/503" error when using a Path filter.

Try using a smaller date range for filtering records.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/forensic_alert_detail.html b/forensic_alert_detail.html new file mode 100644 index 0000000000..23ba888c14 --- /dev/null +++ b/forensic_alert_detail.html @@ -0,0 +1,4283 @@ + + + + Alert Details + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Alert Details

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Clicking the synopsis for an alert opens the page providing detailed information for the user and the alert they raised.

+
+
+
+
+

Alert Details page displays user

+
+
+

Alert Details provides information for the alert selected in the Alerts page.

+
+
+
    +
  • +

    The severity of the alert

    +
  • +
  • +

    The user that raised the alert and the alert type:

    +
    +
      +
    • +

      Abnormal Access By User

      +
    • +
    • +

      Abnormal Access By Community

      +
    • +
    • +

      Abnormal Access By User in Community

      +
    • +
    • +

      User joined many communities

      +
    • +
    +
    +
  • +
  • +

    Date and time the alert was detected

    +
  • +
  • +

    The action taken

    +
    +
      +
    • +

      Quarantined

      +
    • +
    • +

      Other

      +
    • +
    • +

      Other

      +
    • +
    +
    +
  • +
  • +

    The status of the alert

    +
    +
      +
    • +

      New

      +
    • +
    • +

      In progress

      +
    • +
    • +

      Dismissed

      +
    • +
    • +

      Resolved

      +
    • +
    +
    +
  • +
  • +

    User's activity rate change

    +
    +
      +
    • +

      Typical per hour activities

      +
    • +
    • +

      Per hour activities when the alert was raised.

      +
    • +
    • +

      Percentage of rate change that caused the alert.

      +
    • +
    +
    +
  • +
  • +

    A graph showing historical average activity rate and the activity rate that resulted in the alert.

    +
  • +
+
+
+ +
+
    +
  • +

    User name and title

    +
  • +
  • +

    Department

    +
  • +
  • +

    Email with a link to the Email address

    +
  • +
  • +

    Manager

    +
  • +
  • +

    Phone

    +
  • +
  • +

    Location

    +
  • +
+
+
+
+

Activity

+
+

Shows the user's activity for the last 7 days and the last location the user accessed from.

+
+
+
    +
  • +

    Activities:

    +
    +
      +
    • +

      Read

      +
    • +
    • +

      Other

      +
    • +
    • +

      Create

      +
    • +
    +
    +
  • +
  • +

    Total number of alerts in the last seven days.

    +
  • +
  • +

    Total number of activities in the last 7 days.

    +
  • +
+
+
+

Click View Activity Detail to access the Activity History of the user being examined.

+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/forensic_entity_detail.html b/forensic_entity_detail.html new file mode 100644 index 0000000000..915a0d39b4 --- /dev/null +++ b/forensic_entity_detail.html @@ -0,0 +1,4158 @@ + + + + Forensic Entities Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Forensic Entities Page

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Forensics Entities page provides detailed information about entity activity in your environment.

+
+
+
+
+

Examining Entity Information

+
+
+

Click Forensics > Activity Forensics and click the Entities tab to access the Entities page.

+
+
+

This page provides an overview of entity activity in your environment, highlighting the following information:
+* A graph showing Unique Entities accessed per minute
+* A chart of Entity Types Accessed
+* A breakdown of the Common Paths
+* A list of the Top 50 Entities out of the total number of entities

+
+
+

Entities Page

+
+
+

Clicking on an entity in the list opens an overview page for the entity, showing a profile of the entity with details like name, type, device name, most accessed location IP, and path, as well as the entity behavior such as the user, IP, and time the entity was last accessed.

+
+
+

Entity Overview Page

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/forensic_user_actv_data.html b/forensic_user_actv_data.html new file mode 100644 index 0000000000..7dfcf15994 --- /dev/null +++ b/forensic_user_actv_data.html @@ -0,0 +1,4176 @@ + + + + Forensic User Activity Data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Forensic User Activity Data

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+

The User Activity page helps you understand the actions performed by users on entities.

+
+
+

The data available in this page, describes:

+
+
+
    +
  • +

    The entity access time, including month, day, year, and time.

    +
  • +
  • +

    The user that accessed the entity with a link to the User Detail Data.

    +
  • +
  • +

    The activity the user performed:

    +
    +
      +
    • +

      Write

      +
    • +
    • +

      Read

      +
    • +
    • +

      Access Meta Data

      +
    • +
    +
    +
  • +
  • +

    The path to the entity with a link to the Entity Detail Data

    +
  • +
  • +

    The entity type:

    +
    +
      +
    • +

      File

      +
    • +
    • +

      Path

      +
    • +
    +
    +
  • +
  • +

    The IP address from which the operation was performed.

    +
  • +
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/forensic_user_overview.html b/forensic_user_overview.html new file mode 100644 index 0000000000..28c27e8e38 --- /dev/null +++ b/forensic_user_overview.html @@ -0,0 +1,4220 @@ + + + + Forensic User Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Forensic User Overview

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Information for each user is provided in the User Overview. Use these views to understand user characteristics, associated entities, and recent activities.

+
+
+
+
+

User Profile

+
+
+

User Profile information includes contact information and location of the user. The profile provides the following information:

+
+
+
    +
  • +

    Name of the user

    +
  • +
  • +

    Email address of the user

    +
  • +
  • +

    User's Manager

    +
  • +
  • +

    Phone contact for the user

    +
  • +
  • +

    Location of the user

    +
  • +
+
+
+
+
+

User Behavior

+
+
+

The user behavior information identifies recent activities and operations performed by the user. This information includes:

+
+
+
    +
  • +

    Recent activity

    +
    +
      +
    • +

      Last access location

      +
    • +
    • +

      Activity graph

      +
    • +
    • +

      Alerts

      +
    • +
    +
    +
  • +
+
+
+
    +
  • +

    Operations for the last seven days

    +
    +
      +
    • +

      Number of operations

      +
    • +
    +
    +
  • +
+
+
+
+
+

Refresh Interval

+
+
+

The User list is refreshed every 12 hours.

+
+
+
+
+

Retention Policy

+
+
+

If not refreshed again, the User list is retained for 13 months. After 13 months, the data will be deleted.
+If your Workload Security environment is deleted, all data associated with the environment is deleted.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/images/apps_white_24dp.svg b/images/apps_white_24dp.svg new file mode 100644 index 0000000000..6010350f7e --- /dev/null +++ b/images/apps_white_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/article-sm.svg b/images/article-sm.svg new file mode 100644 index 0000000000..03d90d00b6 --- /dev/null +++ b/images/article-sm.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/images/aws-ico.svg b/images/aws-ico.svg new file mode 100644 index 0000000000..e2a6f46cbd --- /dev/null +++ b/images/aws-ico.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/images/azure-ico.svg b/images/azure-ico.svg new file mode 100644 index 0000000000..654dde1abe --- /dev/null +++ b/images/azure-ico.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/best-practice.svg b/images/best-practice.svg new file mode 100644 index 0000000000..97763b5cf4 --- /dev/null +++ b/images/best-practice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/blank-ico.png b/images/blank-ico.png new file mode 100644 index 0000000000..5d80c2b887 Binary files /dev/null and b/images/blank-ico.png differ diff --git a/images/breadcrumb.svg b/images/breadcrumb.svg new file mode 100644 index 0000000000..6ec4cd97af --- /dev/null +++ b/images/breadcrumb.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/caution.svg b/images/caution.svg new file mode 100644 index 0000000000..4027ce8d34 --- /dev/null +++ b/images/caution.svg @@ -0,0 +1 @@ + diff --git a/images/chevron_down.svg b/images/chevron_down.svg new file mode 100644 index 0000000000..8e25aa1962 --- /dev/null +++ b/images/chevron_down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/images/chevron_up.svg b/images/chevron_up.svg new file mode 100644 index 0000000000..0ef5c01a8e --- /dev/null +++ b/images/chevron_up.svg @@ -0,0 +1,4 @@ + + + + diff --git a/images/collapse.png b/images/collapse.png new file mode 100644 index 0000000000..b0bd2501aa Binary files /dev/null and b/images/collapse.png differ diff --git a/images/discuss-sm.svg b/images/discuss-sm.svg new file mode 100644 index 0000000000..17c048c897 --- /dev/null +++ b/images/discuss-sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/dismiss.svg b/images/dismiss.svg new file mode 100644 index 0000000000..88f15d6440 --- /dev/null +++ b/images/dismiss.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/double_arrow.svg b/images/double_arrow.svg new file mode 100644 index 0000000000..6e6d740f48 --- /dev/null +++ b/images/double_arrow.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/images/dropdown-arrow.svg b/images/dropdown-arrow.svg new file mode 100644 index 0000000000..fecd30fbf2 --- /dev/null +++ b/images/dropdown-arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/edit-sm.svg b/images/edit-sm.svg new file mode 100644 index 0000000000..655b5fff1b --- /dev/null +++ b/images/edit-sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/email.svg b/images/email.svg new file mode 100644 index 0000000000..fe883014a8 --- /dev/null +++ b/images/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/expand.png b/images/expand.png new file mode 100644 index 0000000000..4081a7b9bf Binary files /dev/null and b/images/expand.png differ diff --git a/images/external_lg_v2.png b/images/external_lg_v2.png new file mode 100644 index 0000000000..5a67dbe504 Binary files /dev/null and b/images/external_lg_v2.png differ diff --git a/images/favicon.ico b/images/favicon.ico new file mode 100644 index 0000000000..d7dd774917 Binary files /dev/null and b/images/favicon.ico differ diff --git a/images/filter.svg b/images/filter.svg new file mode 100644 index 0000000000..8f637740b6 --- /dev/null +++ b/images/filter.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/images/gcp-ico.svg b/images/gcp-ico.svg new file mode 100644 index 0000000000..55eb4d6e79 --- /dev/null +++ b/images/gcp-ico.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/images/github.png b/images/github.png new file mode 100644 index 0000000000..182a1a3f73 Binary files /dev/null and b/images/github.png differ diff --git a/images/hamburger.svg b/images/hamburger.svg new file mode 100644 index 0000000000..498e16392d --- /dev/null +++ b/images/hamburger.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/important.svg b/images/important.svg new file mode 100644 index 0000000000..74455e9c08 --- /dev/null +++ b/images/important.svg @@ -0,0 +1 @@ + diff --git a/images/language_white_24dp.svg b/images/language_white_24dp.svg new file mode 100644 index 0000000000..229a52d54e --- /dev/null +++ b/images/language_white_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/left_arrow.png b/images/left_arrow.png new file mode 100644 index 0000000000..2e29e53753 Binary files /dev/null and b/images/left_arrow.png differ diff --git a/images/link_collapse.svg b/images/link_collapse.svg new file mode 100644 index 0000000000..40cd0797ba --- /dev/null +++ b/images/link_collapse.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/link_expand.svg b/images/link_expand.svg new file mode 100644 index 0000000000..7f7b4571dc --- /dev/null +++ b/images/link_expand.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/logo-tophat-social.png b/images/logo-tophat-social.png new file mode 100644 index 0000000000..3462b46ccd Binary files /dev/null and b/images/logo-tophat-social.png differ diff --git a/images/loupe.svg b/images/loupe.svg new file mode 100644 index 0000000000..0af1af61b5 --- /dev/null +++ b/images/loupe.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/netapp_logo.png b/images/netapp_logo.png new file mode 100644 index 0000000000..0d2fffcdb4 Binary files /dev/null and b/images/netapp_logo.png differ diff --git a/images/netapp_logo.svg b/images/netapp_logo.svg new file mode 100644 index 0000000000..121cbed69b --- /dev/null +++ b/images/netapp_logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/note.svg b/images/note.svg new file mode 100644 index 0000000000..74455e9c08 --- /dev/null +++ b/images/note.svg @@ -0,0 +1 @@ + diff --git a/images/notification-icons.svg b/images/notification-icons.svg new file mode 100644 index 0000000000..a349f7ed65 --- /dev/null +++ b/images/notification-icons.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/images/pdf-icon.png b/images/pdf-icon.png new file mode 100644 index 0000000000..3d90f2ce6c Binary files /dev/null and b/images/pdf-icon.png differ diff --git a/images/pdf-zip.png b/images/pdf-zip.png new file mode 100644 index 0000000000..acc83f425b Binary files /dev/null and b/images/pdf-zip.png differ diff --git a/images/pdf.png b/images/pdf.png new file mode 100644 index 0000000000..c4183ccb7a Binary files /dev/null and b/images/pdf.png differ diff --git a/images/rss-button-old.png b/images/rss-button-old.png new file mode 100644 index 0000000000..ec5cc5d6ec Binary files /dev/null and b/images/rss-button-old.png differ diff --git a/images/rss-button.png b/images/rss-button.png new file mode 100644 index 0000000000..77471dc03c Binary files /dev/null and b/images/rss-button.png differ diff --git a/images/rss.png b/images/rss.png new file mode 100644 index 0000000000..8fb51ad99b Binary files /dev/null and b/images/rss.png differ diff --git a/images/sprite.svg b/images/sprite.svg new file mode 100644 index 0000000000..a02f61196c --- /dev/null +++ b/images/sprite.svg @@ -0,0 +1 @@ +analytical-brainArrows-Reduce_RGBautosupportautosupport-on-demandautosupport-slashbranch-officecdot-clustercomparisondiscussions-ofile-htmlgpsniq-aiObject Storageperformancerisksscreen-bar-graphstorage-efficiencysystemsupgradeAsset 1 diff --git a/images/tip.svg b/images/tip.svg new file mode 100644 index 0000000000..20c4612ab1 --- /dev/null +++ b/images/tip.svg @@ -0,0 +1 @@ + diff --git a/images/warning.svg b/images/warning.svg new file mode 100644 index 0000000000..4027ce8d34 --- /dev/null +++ b/images/warning.svg @@ -0,0 +1 @@ + diff --git a/index.html b/index.html new file mode 100644 index 0000000000..bccbcb4d3c --- /dev/null +++ b/index.html @@ -0,0 +1,4195 @@ + + + + Cloud Insights documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Cloud Insights documentation

+
+ +
+ +
+ + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

NetApp Cloud Insights is a cloud infrastructure monitoring tool that gives you visibility into your complete infrastructure. With Cloud Insights, you can monitor, troubleshoot and optimize all your resources including your public clouds and your private data centers.

+
+
+
+
+

What can Cloud Insights do for me?

+
+
+

Cloud Insights provides hybrid multicloud monitoring, giving you full-stack observability of infrastructure and workloads.

+
+
+
    +
  • +

    Data collectors for heterogeneous infrastructure and workloads, including Kubernetes

    +
  • +
  • +

    Open Telegraf collector and open APIs for easy integration

    +
  • +
  • +

    Comprehensive alerting and notifications

    +
  • +
  • +

    Machine learning for intelligent insights

    +
  • +
  • +

    Optimize resource utilization

    +
  • +
  • +

    Built-in or customizable dashboards with advanced filters to minimize display noise to answer questions

    +
  • +
  • +

    Discover the health of your ONTAP storage operations 

    +
  • +
  • +

    Protect your most valuable business asset – data - from ransomware or data destruction attack

    +
  • +
+
+
+
+
+
+

Getting Started

+
+
+ +
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/insights_k8s_namespaces_running_out_of_space.html b/insights_k8s_namespaces_running_out_of_space.html new file mode 100644 index 0000000000..1af783c80b --- /dev/null +++ b/insights_k8s_namespaces_running_out_of_space.html @@ -0,0 +1,4180 @@ + + + + Insights: Kubernetes Namespaces Running out of Space + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Insights: Kubernetes Namespaces Running out of Space

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Running out of space in your environment is never a good situation. Cloud Insights helps you predict the time you have before Kubernetes persistent volumes become full.

+
+
+

The Kubernetes Namespaces Running Out of Space Insight gives you a view into workloads on your Kubernetes namespaces that are at risk of running out of space, with an estimate for the number of days remaining before each persistent volume becomes full.

+
+
+

You can view this Insight by navigating to Dashboards > Insights.

+
+
+

List of workloads in K8s namespaces that are at risk of running out of space

+
+
+

Click on a workload to open a detail page for the Insight. On this page you will see a graph showing the workload capacity trends as well as a table showing the following:

+
+
+
    +
  • +

    Workload Name

    +
  • +
  • +

    Persistent Volume affected

    +
  • +
  • +

    Predicted Time-to-Full in days

    +
  • +
  • +

    Persistent Volume capacity

    +
  • +
  • +

    Backend Storage Resource affected, with current capacity used out of total capacity. Clicking this link will opoen the detailed landing page for the backend volume.

    +
  • +
+
+
+

Workload table showing details

+
+
+
+
+

What can I do if I'm running out of space?

+
+

On the Insight page, click the +Show Recommendations to view possible solutions. The easiest option when running out of space is always to add more capacity, and Cloud Insights shows you the optimal capacity to add to increase time-to-full to a target 60-day prediction. Other recommendations are also shown.

+
+
+

Capacity to add to return to 60-day TTF

+
+
+

It is here also that you can copy a convenient link to this Insight, to bookmark the page or to easily share with your team.

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/insights_overview.html b/insights_overview.html new file mode 100644 index 0000000000..9121c4a5af --- /dev/null +++ b/insights_overview.html @@ -0,0 +1,4172 @@ + + + + Insights + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Insights

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

Insights allow you to look into things like resource usage and how it affects other resources, or time-to-full analyses.

+
+
+

A number of Insights are available. Navigate to Dashboards > Insights to start diving in. You can view active Insights (Insights that are currently occurring) on the main tab, or inactive Insights on the Inactive Insights tab. Inactive Insights are those that were previously active but are no longer occurring.

+
+
+
+
+

Insight Types

+
+
+

Shared Resources Under Stress

+
+

High-impact workloads can reduce the performance of other workloads in a shared resource. This puts the shared resource under stress. Cloud Insights provides tools to help you investigate resource saturation and impact in your environment. Learn More

+
+
+
+

Kubernetes Namespaces Running Out of Space

+
+

The Kubernetes Namespaces Running Out of Space Insight gives you a view into workloads on your Kubernetes namespaces that are at risk of running out of space, with an estimate for the number of days remaining before each space becomes full. Learn More

+
+
+
+

Reclaim ONTAP Cold Storage

+
+

The Reclaim ONTAP Cold Storage Insight provides data about cold capacity, potential cost/power savings and recommended action items for volumes on ONTAP systems. Learn More

+
+
+ + + + + +
+Note + +This is a Preview feature and may change over time as improvements are made. Learn more about Cloud Insights Preview features. +
+
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/insights_reclaim_ontap_cold_storage.html b/insights_reclaim_ontap_cold_storage.html new file mode 100644 index 0000000000..99269626cb --- /dev/null +++ b/insights_reclaim_ontap_cold_storage.html @@ -0,0 +1,4190 @@ + + + + Insights: Reclaim ONTAP Cold Storage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Insights: Reclaim ONTAP Cold Storage

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

The Reclaim ONTAP Cold Storage Insight provides data about cold capacity, potential cost/power savings and recommended action items for volumes on ONTAP systems.

+
+
+

To view these Insights, navigate to Dashboards > Insights and take a look at the Reclaim ONTAP Cold Storage Insight. Note that this Insight will only list affected storages if Cloud Insights has detected cold storage, otherwise you will see an "all clear" message.

+
+
+

Keep in mind that cold data less than 30 days old is not shown.

+
+
+

Insight list showing 3 storages with cold data

+
+
+

The Insight description gives a quick indication of the amount of data detected as "cold" and which storage that data resides on. The table also provides a count of workloads with cold data.

+
+
+

Selecting an Insight from the list opens a page showing more details, including recommendations to move data to the Cloud or cycle down unised disks, as well as estimated cost and power savings you could potentially realize from implementing those recommendations. The page even provides a handy link to NetApp's TCO Calculator so you can experiment with the numbers.

+
+
+

Cold Data Power Info

+
+
+
+
+

Recommendations

+
+

On the Insight page, expand the Recommendations to explore the following options:

+
+
+
    +
  • +

    Move unused workloads (zombies) to a lower cost storage tier (HDD)

    +
    +

    Utilizing the zombie flag, cold storage and number of days, find the coldest and largest amount of data and move the workload to a lower cost storage tier (such as a storage pool using hard disk storage). A workload is considered a "zombie" when is has not received any significant IO requests for 30 days or more.

    +
    +
  • +
  • +

    Delete unused workloads

    +
    +

    Verify which workloads are not in use and consider archiving them or remove them from the storage system.

    +
    +
  • +
  • +

    Consider NetApp's Fabric Pool Solution

    +
    +

    NetApp's Fabric Pool Solution automatically tiers cold data to low cost cloud storage, thus increasing the effiecency of your performance tier as well as providing remote data protection.

    +
    +
  • +
+
+
+
+

Visualize and Explore

+
+

The graphs and table provide additional trending information as well as allow you to drill into the individual workloads.

+
+
+

Cold Data Summary Graphs
+Cold Data Workload Table

+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/insights_shared_resources_under_stress.html b/insights_shared_resources_under_stress.html new file mode 100644 index 0000000000..7d6b760b8a --- /dev/null +++ b/insights_shared_resources_under_stress.html @@ -0,0 +1,4223 @@ + + + + Insights: Shared Resources Under Stress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Insights: Shared Resources Under Stress

+
+ +
+ +
+ + + + + + + Contributors + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

High-impact workloads can reduce the performance of other workloads in a shared resource. This puts the shared resource under stress. Cloud Insights provides tools to help you investigate resource saturation and impact in your environment.

+
+
+
+
+

Terminology

+
+
+

When talking about workload or resource impact, the following definitions are useful.

+
+
+

A Demanding Workload is a workload that is currently identified as impacting other resources in the shared storage pool. These workloads drive higher IOPS (for example), reducing IOPS in the Impacted Workloads. Demanding workloads are sometimes called high-consuming workloads.

+
+
+

An Impacted Workload is a workload that is affected by a high-consuming workload in the shared Storage Pool. These workloads are experiencing reduced IOPS and/or higher latency, caused by the Demanding Workloads.

+
+
+

Note that if Cloud Insights has not discovered the leading compute workload, the volume or internal volume itself will be recognized as the workload. This applies to both demanding and impacted workloads.

+
+
+

Shared Resource Saturation is the ratio of impacting IOPS to baseline.

+
+
+

Baseline is defined as the maximum reported data point for each workload in the hour immediately preceding the detected saturation.

+
+
+

A Contention or Saturation occurs when IOPS are determined to be affecting other resources or workloads in the shared storage pool.

+
+
+
+
+

Demanding Workloads

+
+
+

To start looking into Demanding and impacted workloads in your shared resources, click on Dashboards > Insights and select the Shared Resources Under Stress Insight.

+
+
+

Insights Menu

+
+
+

Cloud Insights displays a list of any workloads where a saturation has been detected. Note that Cloud Insights will show workloads where at least one demanding resource or impacted resource has been detected.

+
+
+

Click on a workload to view the details page for it. The top chart shows the activity on the shared resource (for example, a storage pool) on which the contention/saturation is occurring.

+
+
+

Shared resource showing contention

+
+
+

Below that are two charts showing the demanding workloads and the workloads that are impacted by those demanding workloads.

+
+
+

Demanding workload chart
+Impacted workload chart

+
+
+

Below each table is a list of workloads and/or resources affecting or affected by the contention. Clicking on a resource (for example, a VM) opens a detail page for that resource. Clicking on a workload opens a query page showing the pods involved. Note that if the link opens an empty query, it may be because the affected pod is no longer part of the active contention. You can modify the query's time range to view the pod list in greater or more focused time range.

+
+
+
+
+

What do I do to resolve saturation?

+
+
+

There are a number of steps you can take to reduce or eliminate the chance of saturation in your environment. These are shown by expanding the +Show Recommendations link on the page. Here are a few things you can try.

+
+
+
    +
  • +

    Move high-IOPS consumers

    +
    +

    Move the "greedy" workloads to less-saturated Storage Pools. It is recommended to assess the tier and capacity of these pools before moving the workloads, to avoid unnecessary costs or additional contentions.

    +
    +
  • +
  • +

    Implement a quality of service (QoS) policy

    +
    +

    Implementing a QoS policy per workload to ensure enough free resources available will alleviate saturation on the Storage Pool. This is a long-term solution.

    +
    +
  • +
  • +

    Add additional resources

    +
    +

    If the shared resource (for example, Storage Pool) has reached the IOPS saturation point, adding more or faster disks to the pool will ensure enough free resources available to alleviate saturation.

    +
    +
  • +
+
+
+

Finally, you can click the Copy Insight Link to copy the page url to the clipboard, to more easily share with colleagues.

+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/io_density_nonroot.html b/io_density_nonroot.html new file mode 100644 index 0000000000..7fd4195283 --- /dev/null +++ b/io_density_nonroot.html @@ -0,0 +1,4279 @@ + + + + Ensuring IO density data describe only internal data volumes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + Cloud Insights + +
+
+ + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+
+ +
+

Ensuring IO density data describe only internal data volumes

+
+ +
+ +
+ + + + + + + Contributors + dgracenetapp + + netapp-alavoie + + + + +
+
+
+
+ Suggest changes + + +
+ +
+
+ +
+ + +
+
+ + + +
+ + + +
+ + + + +
+
+
+
+

In NetApp storage systems the root aggregate contains the root volume, containing special directories and configuration files for managing and controlling the storage system. Theses operations might result in a large amount of activity in the root aggregate. When you query Cloud Insights for the top 10 internal volumes with the highest IO density, your results might include NetApp root aggregates as members of the top 10.

+
+
+

When monitoring your environment it is more important to determine which internal data volumes are producing high I/O density numbers. In order to accurately identify only the data volumes, you need to isolate the NetApp internal volumes from queries you use to monitor I/O density.

+
+
+

This guide describes how to easily identify the NetApp root aggregates, isolate them from the results of internal volume queries, and create rules that exclude any new NetApp root aggregates as they are added to the system. The following Cloud Insights features are used to insure that your I/O density reports are derived from internal data volumes.

+
+
+
    +
  • +

    A query is created to identify all of the NetApp root aggregates that are monitored by Cloud Insights.

    +
  • +
  • +

    An annotation is assigned to each of the NetApp root aggregates.

    +
  • +
  • +

    An annotation rule is created to exclude the NetApp root aggregates.

    +
  • +
+
+
+
+
+

Creating a query to identify NetApp root aggregates in your environment

+
+
+

Queries provide search at a granular level, based on user-selected criteria. Using a query allows you to search for Internal volumes in your environment that contain the NetApp root aggregate.

+
+
+
Steps
+
    +
  1. +

    In Cloud Insights create a query to identify NetApp root aggregates in your environment: Queries > +New Query > Storage Pool

    +
  2. +
  3. +

    Enter the name for the root aggregate

    +
    +

    This example uses "aggr0" for the name. When creating an aggregate, only the following requirements for the name must be followed:

    +
    +
    +
      +
    • +

      It must begin with either a letter or an underscore (_).

      +
    • +
    • +

      It can contain only letters, digits, and underscores.

      +
    • +
    • +

      It can be 250 characters or less.

      +
    • +
    +
    +
  4. +
+
+
+

In most cases the aggregate is name aggr0, aggr_0, or something similar. It might require an iterative process to identify all of the NetApp root aggregates in your environment.

+
+
+
    +
  1. +

    Click Save and enter a name for the new query.

    +
    +

    As mentioned before, this might be an iterative process and require multiple queries to identify all of the NetApp root aggregates.

    +
    +
  2. +
+
+
+
+
+

Create an annotation for the root volumes returned by your queries

+
+
+

Annotations are specialized notes that you assign to your assets, allowing you to filter assets by their annotations. The annotation you create will be used to identify the NetApp root aggregates in your environment and ensure that they are not included in a list of internal volumes with the highest IO density.

+
+
+
Before you begin
+

You must have identified all of the root aggregates you want to exclude from the "High I/O Density" report.

+
+
+
Steps
+
    +
  1. +

    Create an annotation to associate all of the NetApp root aggregates you identified with queries: Manage > Annotations

    +
    +
      +
    1. +

      Enter the name for the annotation: RootAggr

      +
    2. +
    3. +

      Enter a description of the annotation: Remove root aggregate from "High I/O Density" list

      +
    4. +
    5. +

      Enter the type of annotation: Boolean

      +
    6. +
    +
    +
  2. +
  3. +

    Click Save

    +
  4. +
+
+
+
+
+

Create an annotation rule to automate excluding specific aggregates from your I/O density report

+
+
+

As an alternative to manually applying annotations to individual assets, you can automatically apply annotations to multiple assets using annotation rules. Annotation rules are based on queries you create and when run on the system they add new assets to existing sets of assets. When these sets of assets are excluded from inclusion the new assets are automatically excluded too.

+
+
+
Before you begin
+

You must have created and saved a query that identifies the NetApp root aggregates you identified in your environment.

+
+
+
Steps
+
    +
  1. +

    In the Cloud Insights menu, click Manage > Annotations

    +
  2. +
  3. +

    Click Add

    +
  4. +
  5. +

    Do the following:

    +
    +
      +
    1. +

      In the Name box, enter a unique name that describes the rule: RootAggrExclude

      +
    2. +
    3. +

      Click Query and select the Query that Cloud Insights should use to apply the annotation rule to: Aggregate0

      +
    4. +
    5. +

      Click Annotation and select: Root agg exclude

      +
    6. +
    7. +

      Click Value and enter True

      +
    8. +
    +
    +
  6. +
+
+
+
+
+ + + + +
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ + + + + + diff --git a/js/FileSaver.min.js b/js/FileSaver.min.js new file mode 100644 index 0000000000..6d493b298c --- /dev/null +++ b/js/FileSaver.min.js @@ -0,0 +1,3 @@ +(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Deprecated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open("GET",a),d.responseType="blob",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error("could not download file")},d.send()}function d(a){var b=new XMLHttpRequest;b.open("HEAD",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||("object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g=g||b.name||"download",j.download=g,j.rel="noopener","string"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f,g,h){if(g=g||f.name||"download","string"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement("a");i.href=f,i.target="_blank",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open("","_blank"),g&&(g.document.title=g.document.body.innerText="downloading..."),"string"==typeof b)return c(b,d,e);var h="application/octet-stream"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&"undefined"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,"undefined"!=typeof module&&(module.exports=g)}); + +//# sourceMappingURL=FileSaver.min.js.map \ No newline at end of file diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js new file mode 100644 index 0000000000..be9574d70b --- /dev/null +++ b/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); diff --git a/js/bundle.js b/js/bundle.js new file mode 100644 index 0000000000..3d3b555363 --- /dev/null +++ b/js/bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see bundle.js.LICENSE.txt */ +(()=>{var e={2505:(e,t,n)=>{e.exports=n(8015)},5592:(e,t,n)=>{"use strict";var r=n(9516),a=n(7522),o=n(3948),l=n(9106),i=n(9615),u=n(2012),s=n(4202),c=n(4896),f=n(5845),d=n(8563),p=n(5656);e.exports=function(e){return new Promise((function(t,n){var h,m=e.data,v=e.headers,g=e.responseType;function y(){e.cancelToken&&e.cancelToken.unsubscribe(h),e.signal&&e.signal.removeEventListener("abort",h)}r.isFormData(m)&&r.isStandardBrowserEnv()&&delete v["Content-Type"];var b=new XMLHttpRequest;if(e.auth){var w=e.auth.username||"",k=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";v.Authorization="Basic "+btoa(w+":"+k)}var S=i(e.baseURL,e.url);function x(){if(b){var r="getAllResponseHeaders"in b?u(b.getAllResponseHeaders()):null,o={data:g&&"text"!==g&&"json"!==g?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:r,config:e,request:b};a((function(e){t(e),y()}),(function(e){n(e),y()}),o),b=null}}if(b.open(e.method.toUpperCase(),l(S,e.params,e.paramsSerializer),!0),b.timeout=e.timeout,"onloadend"in b?b.onloadend=x:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(x)},b.onabort=function(){b&&(n(new f("Request aborted",f.ECONNABORTED,e,b)),b=null)},b.onerror=function(){n(new f("Network Error",f.ERR_NETWORK,e,b,b)),b=null},b.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",r=e.transitional||c;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new f(t,r.clarifyTimeoutError?f.ETIMEDOUT:f.ECONNABORTED,e,b)),b=null},r.isStandardBrowserEnv()){var E=(e.withCredentials||s(S))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;E&&(v[e.xsrfHeaderName]=E)}"setRequestHeader"in b&&r.forEach(v,(function(e,t){void 0===m&&"content-type"===t.toLowerCase()?delete v[t]:b.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(b.withCredentials=!!e.withCredentials),g&&"json"!==g&&(b.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&b.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(h=function(e){b&&(n(!e||e&&e.type?new d:e),b.abort(),b=null)},e.cancelToken&&e.cancelToken.subscribe(h),e.signal&&(e.signal.aborted?h():e.signal.addEventListener("abort",h))),m||(m=null);var _=p(S);_&&-1===["http","https","file"].indexOf(_)?n(new f("Unsupported protocol "+_+":",f.ERR_BAD_REQUEST,e)):b.send(m)}))}},8015:(e,t,n)=>{"use strict";var r=n(9516),a=n(9012),o=n(5155),l=n(5343),i=function e(t){var n=new o(t),i=a(o.prototype.request,n);return r.extend(i,o.prototype,n),r.extend(i,n),i.create=function(n){return e(l(t,n))},i}(n(7412));i.Axios=o,i.CanceledError=n(8563),i.CancelToken=n(3191),i.isCancel=n(3864),i.VERSION=n(9641).version,i.toFormData=n(6440),i.AxiosError=n(5845),i.Cancel=i.CanceledError,i.all=function(e){return Promise.all(e)},i.spread=n(7980),i.isAxiosError=n(5019),e.exports=i,e.exports.default=i},3191:(e,t,n)=>{"use strict";var r=n(8563);function a(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;t{"use strict";var r=n(5845);function a(e){r.call(this,null==e?"canceled":e,r.ERR_CANCELED),this.name="CanceledError"}n(9516).inherits(a,r,{__CANCEL__:!0}),e.exports=a},3864:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},5155:(e,t,n)=>{"use strict";var r=n(9516),a=n(9106),o=n(3471),l=n(4490),i=n(5343),u=n(9615),s=n(4841),c=s.validators;function f(e){this.defaults=e,this.interceptors={request:new o,response:new o}}f.prototype.request=function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=i(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var n=t.transitional;void 0!==n&&s.assertOptions(n,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var r=[],a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,r.unshift(e.fulfilled,e.rejected))}));var o,u=[];if(this.interceptors.response.forEach((function(e){u.push(e.fulfilled,e.rejected)})),!a){var f=[l,void 0];for(Array.prototype.unshift.apply(f,r),f=f.concat(u),o=Promise.resolve(t);f.length;)o=o.then(f.shift(),f.shift());return o}for(var d=t;r.length;){var p=r.shift(),h=r.shift();try{d=p(d)}catch(e){h(e);break}}try{o=l(d)}catch(e){return Promise.reject(e)}for(;u.length;)o=o.then(u.shift(),u.shift());return o},f.prototype.getUri=function(e){e=i(this.defaults,e);var t=u(e.baseURL,e.url);return a(t,e.params,e.paramsSerializer)},r.forEach(["delete","get","head","options"],(function(e){f.prototype[e]=function(t,n){return this.request(i(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,a){return this.request(i(a||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}f.prototype[e]=t(),f.prototype[e+"Form"]=t(!0)})),e.exports=f},5845:(e,t,n)=>{"use strict";var r=n(9516);function a(e,t,n,r,a){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a)}r.inherits(a,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var o=a.prototype,l={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach((function(e){l[e]={value:e}})),Object.defineProperties(a,l),Object.defineProperty(o,"isAxiosError",{value:!0}),a.from=function(e,t,n,l,i,u){var s=Object.create(o);return r.toFlatObject(e,s,(function(e){return e!==Error.prototype})),a.call(s,e.message,t,n,l,i),s.name=e.name,u&&Object.assign(s,u),s},e.exports=a},3471:(e,t,n)=>{"use strict";var r=n(9516);function a(){this.handlers=[]}a.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},a.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},a.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=a},9615:(e,t,n)=>{"use strict";var r=n(9137),a=n(4680);e.exports=function(e,t){return e&&!r(t)?a(e,t):t}},4490:(e,t,n)=>{"use strict";var r=n(9516),a=n(2881),o=n(3864),l=n(7412),i=n(8563);function u(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new i}e.exports=function(e){return u(e),e.headers=e.headers||{},e.data=a.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||l.adapter)(e).then((function(t){return u(e),t.data=a.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(u(e),t&&t.response&&(t.response.data=a.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},5343:(e,t,n)=>{"use strict";var r=n(9516);e.exports=function(e,t){t=t||{};var n={};function a(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function o(n){return r.isUndefined(t[n])?r.isUndefined(e[n])?void 0:a(void 0,e[n]):a(e[n],t[n])}function l(e){if(!r.isUndefined(t[e]))return a(void 0,t[e])}function i(n){return r.isUndefined(t[n])?r.isUndefined(e[n])?void 0:a(void 0,e[n]):a(void 0,t[n])}function u(n){return n in t?a(e[n],t[n]):n in e?a(void 0,e[n]):void 0}var s={url:l,method:l,data:l,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:u};return r.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=s[e]||o,a=t(e);r.isUndefined(a)&&t!==u||(n[e]=a)})),n}},7522:(e,t,n)=>{"use strict";var r=n(5845);e.exports=function(e,t,n){var a=n.config.validateStatus;n.status&&a&&!a(n.status)?t(new r("Request failed with status code "+n.status,[r.ERR_BAD_REQUEST,r.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}},2881:(e,t,n)=>{"use strict";var r=n(9516),a=n(7412);e.exports=function(e,t,n){var o=this||a;return r.forEach(n,(function(n){e=n.call(o,e,t)})),e}},7412:(e,t,n)=>{"use strict";var r=n(9516),a=n(7018),o=n(5845),l=n(4896),i=n(6440),u={"Content-Type":"application/x-www-form-urlencoded"};function s(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var c,f={transitional:l,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=n(5592)),c),transformRequest:[function(e,t){if(a(t,"Accept"),a(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e))return e;if(r.isArrayBufferView(e))return e.buffer;if(r.isURLSearchParams(e))return s(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();var n,o=r.isObject(e),l=t&&t["Content-Type"];if((n=r.isFileList(e))||o&&"multipart/form-data"===l){var u=this.env&&this.env.FormData;return i(n?{"files[]":e}:e,u&&new u)}return o||"application/json"===l?(s(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(0,JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||f.transitional,n=t&&t.silentJSONParsing,a=t&&t.forcedJSONParsing,l=!n&&"json"===this.responseType;if(l||a&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(l){if("SyntaxError"===e.name)throw o.from(e,o.ERR_BAD_RESPONSE,this,null,this.response);throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:n(1534)},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){f.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){f.headers[e]=r.merge(u)})),e.exports=f},4896:e=>{"use strict";e.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},9641:e=>{e.exports={version:"0.27.2"}},9012:e=>{"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(9516);function a(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(r.isURLSearchParams(t))o=t.toString();else{var l=[];r.forEach(t,(function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),l.push(a(t)+"="+a(e))})))})),o=l.join("&")}if(o){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},4680:e=>{"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},3948:(e,t,n)=>{"use strict";var r=n(9516);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,a,o,l){var i=[];i.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),r.isString(a)&&i.push("path="+a),r.isString(o)&&i.push("domain="+o),!0===l&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},9137:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}},5019:(e,t,n)=>{"use strict";var r=n(9516);e.exports=function(e){return r.isObject(e)&&!0===e.isAxiosError}},4202:(e,t,n)=>{"use strict";var r=n(9516);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function a(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=a(window.location.href),function(t){var n=r.isString(t)?a(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},7018:(e,t,n)=>{"use strict";var r=n(9516);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},1534:e=>{e.exports=null},2012:(e,t,n)=>{"use strict";var r=n(9516),a=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,l={};return e?(r.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t){if(l[t]&&a.indexOf(t)>=0)return;l[t]="set-cookie"===t?(l[t]?l[t]:[]).concat([n]):l[t]?l[t]+", "+n:n}})),l):l}},5656:e=>{"use strict";e.exports=function(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}},7980:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},6440:(e,t,n)=>{"use strict";var r=n(9516);e.exports=function(e,t){t=t||new FormData;var n=[];function a(e){return null===e?"":r.isDate(e)?e.toISOString():r.isArrayBuffer(e)||r.isTypedArray(e)?"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}return function e(o,l){if(r.isPlainObject(o)||r.isArray(o)){if(-1!==n.indexOf(o))throw Error("Circular reference detected in "+l);n.push(o),r.forEach(o,(function(n,o){if(!r.isUndefined(n)){var i,u=l?l+"."+o:o;if(n&&!l&&"object"==typeof n)if(r.endsWith(o,"{}"))n=JSON.stringify(n);else if(r.endsWith(o,"[]")&&(i=r.toArray(n)))return void i.forEach((function(e){!r.isUndefined(e)&&t.append(u,a(e))}));e(n,u)}})),n.pop()}else t.append(l,a(o))}(e),t}},4841:(e,t,n)=>{"use strict";var r=n(9641).version,a=n(5845),o={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){o[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var l={};o.transitional=function(e,t,n){function o(e,t){return"[Axios v"+r+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,r,i){if(!1===e)throw new a(o(r," has been removed"+(t?" in "+t:"")),a.ERR_DEPRECATED);return t&&!l[r]&&(l[r]=!0,console.warn(o(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,r,i)}},e.exports={assertOptions:function(e,t,n){if("object"!=typeof e)throw new a("options must be an object",a.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(e),o=r.length;o-- >0;){var l=r[o],i=t[l];if(i){var u=e[l],s=void 0===u||i(u,l,e);if(!0!==s)throw new a("option "+l+" must be "+s,a.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new a("Unknown option "+l,a.ERR_BAD_OPTION)}},validators:o}},9516:(e,t,n)=>{"use strict";var r,a=n(9012),o=Object.prototype.toString,l=(r=Object.create(null),function(e){var t=o.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())});function i(e){return e=e.toLowerCase(),function(t){return l(t)===e}}function u(e){return Array.isArray(e)}function s(e){return void 0===e}var c=i("ArrayBuffer");function f(e){return null!==e&&"object"==typeof e}function d(e){if("object"!==l(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var p=i("Date"),h=i("File"),m=i("Blob"),v=i("FileList");function g(e){return"[object Function]"===o.call(e)}var y=i("URLSearchParams");function b(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),u(e))for(var n=0,r=e.length;n0;)l[o=r[a]]||(t[o]=e[o],l[o]=!0);e=Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:l,kindOfTest:i,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;var t=e.length;if(s(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},isTypedArray:k,isFileList:v}},1549:(e,t,n)=>{var r=n(2032),a=n(3862),o=n(6721),l=n(2749),i=n(5749);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(3702),a=n(80),o=n(4739),l=n(8655),i=n(1175);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(6110)(n(9325),"Map");e.exports=r},3661:(e,t,n)=>{var r=n(3040),a=n(7670),o=n(289),l=n(4509),i=n(2949);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(6110)(n(9325),"Set");e.exports=r},8859:(e,t,n)=>{var r=n(3661),a=n(1380),o=n(1459);function l(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t{var r=n(9325).Symbol;e.exports=r},5325:(e,t,n)=>{var r=n(6131);e.exports=function(e,t){return!(null==e||!e.length)&&r(e,t,0)>-1}},9905:e=>{e.exports=function(e,t,n){for(var r=-1,a=null==e?0:e.length;++r{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n{var r=n(5288);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},2523:e=>{e.exports=function(e,t,n,r){for(var a=e.length,o=n+(r?1:-1);r?o--:++o{var r=n(1769),a=n(7797);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n{var r=n(1873),a=n(659),o=n(9350),l=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":l&&l in Object(e)?a(e):o(e)}},6131:(e,t,n)=>{var r=n(2523),a=n(5463),o=n(6959);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,a,n)}},5463:e=>{e.exports=function(e){return e!=e}},5083:(e,t,n)=>{var r=n(1882),a=n(7296),o=n(3805),l=n(7473),i=/^\[object .+?Constructor\]$/,u=Function.prototype,s=Object.prototype,c=u.toString,f=s.hasOwnProperty,d=RegExp("^"+c.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||a(e))&&(r(e)?d:i).test(l(e))}},7556:(e,t,n)=>{var r=n(1873),a=n(4932),o=n(6449),l=n(4394),i=r?r.prototype:void 0,u=i?i.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return a(t,e)+"";if(l(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},5765:(e,t,n)=>{var r=n(8859),a=n(5325),o=n(9905),l=n(9219),i=n(4517),u=n(4247);e.exports=function(e,t,n){var s=-1,c=a,f=e.length,d=!0,p=[],h=p;if(n)d=!1,c=o;else if(f>=200){var m=t?null:i(e);if(m)return u(m);d=!1,c=l,h=new r}else h=t?[]:p;e:for(;++s{e.exports=function(e,t){return e.has(t)}},1769:(e,t,n)=>{var r=n(6449),a=n(8586),o=n(1802),l=n(3222);e.exports=function(e,t){return r(e)?e:a(e,t)?[e]:o(l(e))}},5481:(e,t,n)=>{var r=n(9325)["__core-js_shared__"];e.exports=r},4517:(e,t,n)=>{var r=n(6545),a=n(3950),o=n(4247),l=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:a;e.exports=l},4840:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},2651:(e,t,n)=>{var r=n(4218);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},6110:(e,t,n)=>{var r=n(5083),a=n(392);e.exports=function(e,t){var n=a(e,t);return r(n)?n:void 0}},659:(e,t,n)=>{var r=n(1873),a=Object.prototype,o=a.hasOwnProperty,l=a.toString,i=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,i),n=e[i];try{e[i]=void 0;var r=!0}catch(e){}var a=l.call(e);return r&&(t?e[i]=n:delete e[i]),a}},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},2032:(e,t,n)=>{var r=n(1042);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721:(e,t,n)=>{var r=n(1042),a=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return a.call(t,e)?t[e]:void 0}},2749:(e,t,n)=>{var r=n(1042),a=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:a.call(t,e)}},5749:(e,t,n)=>{var r=n(1042);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},8586:(e,t,n)=>{var r=n(6449),a=n(4394),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,l=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!a(e))||l.test(e)||!o.test(e)||null!=t&&e in Object(t)}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296:(e,t,n)=>{var r,a=n(5481),o=(r=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},80:(e,t,n)=>{var r=n(6025),a=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():a.call(t,n,1),--this.size,0))}},4739:(e,t,n)=>{var r=n(6025);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},8655:(e,t,n)=>{var r=n(6025);e.exports=function(e){return r(this.__data__,e)>-1}},1175:(e,t,n)=>{var r=n(6025);e.exports=function(e,t){var n=this.__data__,a=r(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}},3040:(e,t,n)=>{var r=n(1549),a=n(79),o=n(8223);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||a),string:new r}}},7670:(e,t,n)=>{var r=n(2651);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},289:(e,t,n)=>{var r=n(2651);e.exports=function(e){return r(this,e).get(e)}},4509:(e,t,n)=>{var r=n(2651);e.exports=function(e){return r(this,e).has(e)}},2949:(e,t,n)=>{var r=n(2651);e.exports=function(e,t){var n=r(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}},2224:(e,t,n)=>{var r=n(104);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},1042:(e,t,n)=>{var r=n(6110)(Object,"create");e.exports=r},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},9325:(e,t,n)=>{var r=n(4840),a="object"==typeof self&&self&&self.Object===Object&&self,o=r||a||Function("return this")();e.exports=o},1380:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},1459:e=>{e.exports=function(e){return this.__data__.has(e)}},4247:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},6959:e=>{e.exports=function(e,t,n){for(var r=n-1,a=e.length;++r{var r=n(2224),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,l=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,(function(e,n,r,a){t.push(r?a.replace(o,"$1"):n||e)})),t}));e.exports=l},7797:(e,t,n)=>{var r=n(4394);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},8156:(e,t,n)=>{var r=n(7422);e.exports=function(e,t,n){var a=null==e?void 0:r(e,t);return void 0===a?n:a}},6449:e=>{var t=Array.isArray;e.exports=t},1882:(e,t,n)=>{var r=n(2552),a=n(3805);e.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},4394:(e,t,n)=>{var r=n(2552),a=n(346);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},104:(e,t,n)=>{var r=n(3661);function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],o=n.cache;if(o.has(a))return o.get(a);var l=e.apply(this,r);return n.cache=o.set(a,l)||o,l};return n.cache=new(a.Cache||r),n}a.Cache=r,e.exports=a},3950:e=>{e.exports=function(){}},3472:(e,t,n)=>{var r=n(3222);e.exports=function(){var e=arguments,t=r(e[0]);return e.length<3?t:t.replace(e[1],e[2])}},3222:(e,t,n)=>{var r=n(7556);e.exports=function(e){return null==e?"":r(e)}},3375:(e,t,n)=>{var r=n(5765);e.exports=function(e){return e&&e.length?r(e):[]}},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n