RDA Terminal

Pre-requisite to access and initialize RDA:

Please note tags and bots are interchangeably used and means the same.

The user is expected to follow RDA - installation section and install RDA on Windows or Linux environments.

Note: Please check the Installation prerequisites before you proceed.

How to access RDA using terminal?

Step 1: To access 'RDA', open up a browser and enter the URL as http://ipaddress:9998

Note: The default password or token is 'cfxdxdemo'

Step 2: Once the default password or token is entered via browser, the browser will access RDA main landing page and is as shown below screen capture.

Step 3: From the main RDA landing page, select the "Terminal" icon as shown in the "Step 2" screen capture. This will navigate/take you to the RDA terminal (as shown in the below screen capture).

How to view all available Plugins?

> plugins

Sample Output as shown

How to view Tags?

A tag could be a data source (data producer), data sync (data consumer), or an analytical engine (data consumer and also enhancer with additional data).

> tags()

Sample output is as follows (Refer to Tag definitions for the meaning of *, #, @ at cfxdx Terminology)

How to retrieve a particular Tag?

If you know the tag name, just enter as follows

> tags aws

A sample results page is shown below.

How to search or filter by tags?

You can filter all the tags by a particular word (that is part of a data source or data sync).

> tags <word>

For example to retrieve all the tags related to Azure, enter the following command.

> tags azure

A sample results page is as displayed

You see a special character like *, #, or @ as the first character in tags.

'*' as the first character indicates, you can apply destination filter

'#' as the first character indicates, you can apply a source filter. This means the values are filtered at the source.

'@' as the first character indicates, is an API call.

There could be a use-case where a particular user operation is not supported due to limitations at source or destination. Then the user will receive a message 'Operation not supported'.

How to view capabilities available for each tag?

A capability is like a function/a method executed against the tag.

Execute the following command to show available capabilities for the tag.

> cap

A sample result is as displayed below:

From above, you can notice that get-data capability is available for the tag *slack: users.

How to check what Capabilities are available for a tag?

Capability

Description

get-data

The dataset provides get_data API to retrieve the data.

data-stream

The dataset provides get_data_stream API which is useful when accessing large datasets programmatically

count

The number of rows of data in the dataset.

meta-data

Provides Metadata information for the dataset

data-append

Appends data to an existing dataset

data-update

Merges data to an existing dataset using unique keys

data-replace

Replaces the entire dataset with new data supplied.

How to limit the number of rows displayed?

You can limit the number of rows displayed by executing the following command

> limit <number> 

For example, if a user want to limit the number of rows to 100.

> limit 100

Now whenever you apply a query or get data using 'data', the number of rows of data limited to 100.

While exploring the data using RDA, Cloudfabrix recommends setting the number of records to 100.

How to access data with end-to-end examples?

The following procedure displays an end-to-end example of accessing the data from a source system like AWS.

Step 1: Select the tag for which tag should be viewed

Once in RDA command line, enter tag <tagname>.

> tag <tag_name>
example: 
> tag *aws-prod:us-east-1:ec2:instances

The above tag returns the following result in setting the tag and also displays the available capabilities.

Step 2 (optional): limit the number of data to be shown to say 100.

Step 3: Enter 'data' at the command and press 'Enter' to display the data in visualization format.

Please note a visualization console is open with more powerful options available to query the displayed data.

The result is as shown below.

How to navigate against the data in (Data Frame) Visualization (DFViz)?

Enter '?' (Question mark) on displayed data and all available options are as displayed to navigate against the data (selected on previous data command).

The following DFViz help screen is displayed with details.

Examples:

How to do a column filter?

After selecting the data of a tag, enter 'c' and press 'enter' and column filter text is open to search for any column.

> c

The result will be as follows. The column names will change depending on the selected tag. An example screen is displayed below.

Now enter Hypervisor and press 'Enter'. The results are displayed in the following screen capture.

You can select multiple columns by separating column names with pipeline symbol (|). An example query is as displayed below

The results/output for the above filter is as shown in the below screen capture:

> tags splunk

It returns all the tags with a word Splunk in them. An example search result is shown below.

Then run the following command

> tag *splunk:splunkApps

It will set the tag to splunk:splunkApps so that, queries can be made against the selected tag.

When you execute 'tag <tagname>', the tag is set to the <tagname> you supplied and also shows all capabilities available with the tag so that you can execute available capability. Please refer or click on capabilities to find out more.

How to quit or exit from cfxdx terminal?

Type 'q' and press 'Enter' to quit from cfxdx terminal.

> q

How to filter data by column value?

You can filter displayed data by passing a query string. Query syntax and an example are as shown below.

As example, we would like to return results where description column contains some text.

> data <col_name> contains 'query string'

Example

> data description contains 'My computer is not'

Enter 'c' and 'descr', it shows the following. Click 'q' to come out of the report view

You can also save this result to a file (an example is given below) instead of viewing on screen or display output.

> data description contains 'My computer is no' --> /tmp/mytickets.json

How to use API call for @tag to get data?

All tags will have a special character as the first character as part of the tag name. The '@' as the first character shows that it is to be queried using an API call.

For example, @cfxobs:metric-instant, @cfxobs:metric-range are some of the tags related to CloudFabrix's Observability solution.

An example query is as shown below

Step 1: Navigate to obs tags (tags related to Observability)

> tags obs

Sample output is as shown below.

Step 2: Let us chose the @cfxobs-metric-instant tag

> tag @cfxobs:metric-instant

It displays the capabilities. For example, get-data and count are allowed capabilities for the above-selected tag.

If you type data at the prompt and enter, it will show what parameters are mandatory and what parameters are optional.

Sample output is as shown below

Step 3: Enter the query string (an example query is shown below)

> data metric is 'windows_os_info' 

Sample output is as follows:

Step 4 (optional): Query with multiple arguments

> data metric is 'windows_os_info' and timestamp is '10am'

There are various options for the parameters, for example, specifying time zone, etc.

How to download Data?

Run the following command to download data into a file as a CSV file (as shown below).

> data -->./<filename>.csv

The following example demonstrates the full process of connecting to the tag and downloading the data from ServiceNow datasource.

Step 1: connect to the tag #snow:indents-update

> tag #snow:indidents-update

Step 2 (Optional): limit number of rows to 100

> limit 100

Step 3 (Optional): Check the data

> data

Step 4: Run data --> <filename>.<ext>

> data --> ./example.csv

The file is saved at the path specified.

Various file formats are supported via RDA. Some of the formats are .csv, .xsls, .json, .tar (archive) etc.

How to do complex queries?

RDA accepts a wide range of query strings including complex queries. An example of such a complex query is shown below.

> tag @cfxobs:metric-range
> metric is '100 - (avg by (instance) (irate(windows_cpu_time_total{mode="idle"}[1m])) * 100)'and timestamp is after -30 days and step is '60m' --> *cfxql:filter instance is '10.95.124.114:9443' --> @cfxml:1hour

In the above query, we are able to pass source (in this case Prometheus) - '100 - (avg by (instance) (irate(windows_cpu_time_total{mode="idle"}[1m])) 100)' and you can further filter by timestamp at the same time pass cfxql (CloudFabrix's Query language) query allowing mixing of various selection criteria in single query line.

Note: Some systems may not allow queries at the source.

The result is as follows

Access using Command Line

Execute the following commands.

cfxdx credential_file [--http1]
           or
cfxdx --host <CFXSERVER> --user <USER_ID>
           or
cfxdx credential_file --file <commands_file>
           or
cfxdx credential_file --cmds "semicolon separated cfxdx intreractive commands"
   --file and --cmds options will execute specified commands and exit (non interactive mode)

credential_file is a JSON file with one of the following formats.

Format 1: Access Key Based Authentication (Recommended)

{
  "host": "<IP-or-Hostname-of-CFX-Platform>",
  "access-key": "<user-access-key>",
  "secret-key": "<user-secret-key>",
  "login-method": "access-key"
}

access-key and secret-key are typically generated from the user's portal in CloudFabrix's Dimensions platform. They are typically in UUID format.

Format 2: Username and Password-based Authentication

{
    "host": "<IP-or-Hostname-of-CFX-Platform>",
    "username": "<username>",
    "password": "<password>", <-- Password can be omitted in that case, tool will prompt
    "login-method": "password"
}

Setting Access Keys for API

  • Login to CloudFabrix's Dimensions platform.

  • Click on the top left corner (hamburger menu), then click 'Access Keys' as shown below the image.

  • Click on the top left corner (hamburger menu), then click 'Access Keys' as shown in the above image.

  • Click on '+' to add a new access key. It is automatically generated along with the secret key. Copy the secret key from the pop-up view and save it in a file.

  • Copy the access key from the displayed table.

Please note you can only copy the secret key when it is generated for the first time and not later. Please make sure you copy and save the key in a file.

Last updated