Audit Logs

Let’s review the various components of audit logs in Qbo.

../../_images/audit_logs.png

Activity Type: Choose the type of audit log activity. Activity contains details of operations performed by users in Qbo.

Date range: Choose the time period which the audit report needs to cover.

Below are the types of reports possible.

Board Report


Details of boards sent, and the channels used to send them. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the person who sent the board.

  • IP Address: The user’s IP address.

  • Board Id: Unique identification number of the board.

  • Communication Service: Medium of sending the report to the receiver.

  • Subject: Subject of the report message.

  • Recipients: Name of receiver.

  • User Agent: Browser or application through which Qbo was accessed.

Password Changed


Details of password change activity performed by users. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account whose password was changed.

  • IP Address: IP address of the user who changed the password.

  • Updated By: Username of the user who changed the password.

  • User Agent: Browser or application through which Qbo was accessed.

Channel


Details of channels or threads added, removed, or updated. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that created the channel or thread.

  • IP Address: The user’s IP address.

  • Channel Name: Channel affected.

  • Operation: The operations performed; for example, ThreadAdded, ThreadRemoved, Created, Removed, Members

    Left, Members Joined.

  • Updated Members: Members added to the channel.

  • Updated Threads: Name of updated thread.

  • User Agent``: Browser or application through which Qbo was accessed.

PDF Downloaded


Details of a board that has been exported into a PDF file. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that exported the board.

  • IP Address: The user’s IP address.

  • Board Id: Unique identification number of board.

  • Board Vizy Id: Unique identification number of vizy on board.

  • Vizy Id: Unique identification number of vizy.

  • Vizy Group Id: Unique identification number of vizy group.

  • User Agent: Browser or application through which Qbo was accessed.

Vizy Downloaded


Details of vizy which have been downloaded in file formats such as CSV, PDF, PNG or JSON. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: The username of the account that downloaded the vizy.

  • IP Address: The user’s IP address.

  • Vizy Id: Unique identification number of the vizy.

  • File Type: Type of file downloaded by user.

  • User Agent: Browser or application through which Qbo was accessed.

License Uploaded


Details of a new license file uploaded. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account used to upload the license file.

  • IP Address: The user’s IP address.

  • Credit: License credit details.

  • License Tier: Tier level of licenses that can be assigned to users.

  • License Type: Type of license.

  • User Agent: Browser or application through which Qbo was accessed.

Query Bot executors draft models


Details of updated drafts of the logical data model. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Name of user.

  • IP Address: The user’s IP address.

  • QueryBot Name: Name of query bot.

  • Executor Name: Name of datasource.

  • Version Id: Version of querybot.

  • User Agent: Browser or application through which Qbo was accessed.

Query Bot Executor


Details of data source executors that have been added, removed or deployed. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Name of user.

  • IP Address: The user’s IP address.

  • QueryBot Name: Name of querybot.

  • Executor Name: Name of datasource.

  • Operation: The operation performed on the datasource, like ExecutorDraftAdded, ExecutorDraftDeployed, or

    ExecutorDraftRemoved.

  • User Agent: Browser or application through which Qbo was accessed.

Query Bot Interaction


Details of Query bot interactions, including total number of queries, users’ success rate, top users, daily queries, and unanswered queries. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that interacted with the bot.

  • User Id: Unique identification of the user account.

  • Canonical Query: The question that the user asked.

  • Channel: The chat interface that was used to make the query.

  • Conversation Id: Unique identification for the conversation.

  • ExecutionTimeInMillis: Query execution time in milliseconds.

  • IntegratedRefinementQuery: Most relevant query which has been executed corresponds to user query.

  • QuerySequenceType: Mode of query execution.

  • ResponseType: Status of query execution.

  • Text: NLP query asked by user.

Password Reset


Details of password reset requests received from users. Users raise these requests when they forget their login passwords. The report includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account for which the request was made.

  • IP Address: The IP address the request came from.

  • Operation Type: Type of operation performed.

  • State: Status of the password reset.

  • User Agent: Browser or application through which Qbo was accessed.

Role Based Entitlement management


Details of role based entitlement that has been added or removed. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that created or modified the datasource access role.

  • IP Address: The IP address the request came from.

  • Role Name: Name of data access role.

  • Operation: Type of activity performed by the user.

  • User Agent: Browser or application through which Qbo was accessed.

Role management


Details of user roles that have been added or removed. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that created or modified a product access role.

  • IP Address: The IP address the request came from.

  • Role Name: Name of the product access role modified.

  • Operation: Type of activity performed by the user.

  • User Agent: Browser or application through which Qbo was accessed.

Vizy shared


Details of vizy that have been shared by the user. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username of the account that shared the vizy.

  • IP Address: The user’s IP address.

  • Vizy Id: Unique identification number of the vizy.

  • Vizy Type: Type of vizy.

  • User Agent: Browser or application through which Qbo was accessed.

Signup application


Details of new users registered in Qbo and registered users that have been approved or declined by an administrator. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Name of user.

  • IP Address: The user’s IP address.

  • Applied By: Application applied by user.

  • Email: Email address of the user.

  • Operation Type: Type of operation performed.

  • Process Result: Status of signup.

  • Processed By: Administrator who processed the signup.

  • User Agent: Browser or application through which Qbo was accessed.

User account activity


Details of user login and logout activity. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Username for the login attempt.

  • IP Address: IP address from which the activity occurred.

  • Activity: Login and logout activity performed.

  • Authentication Type: Type of user authorization requested.

  • User Agent: Browser or application through which Qbo was accessed.

User invitation


Details of signup application invitations sent. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Username: Name of user.

  • IP Address: IP address from which the activity originated.

  • Email: Email address to which the invitation was sent.

  • Invited By: The person who sent the signup application invitation.

  • Operation Type: Type of operation that was performed.

  • User Agent: Browser or application through which Qbo was accessed.

User management


Details of user accounts that have been added or removed. It includes:

  • Timestamp: Timestamp of the user activity, formatted as a Unix timestamp in seconds.

  • Admin UserName: Username of the account that made the modification.

  • IP Address: IP address from which the activity originated.

  • Username: Username of the account affected.

  • Operation: The operation performed by the administrator.

  • User Agent: Browser or application through which Qbo was accessed.

Troubleshooting


This section covers some of the issues that can occur with your Qbo instance and provides useful troubleshooting steps to help you resolve an issue yourself.

Our library of troubleshooting resources continues to grow. Check back often for the latest additions.

Issues


Qbo responds with Sorry, I’m unable to generate the vizy

  • All the configured entities are visible on the right bottom side on the homepage of the user.

../../_images/troubleshooting-UserHomePage.jpg

The most common reason for the I’m unable to generate the vizy error is Qbo attempting to access a large volume of data from the backend data source. This can occur when a query attempts to access and present an entire entity - for example, when a user clicks on the entity name from the home page, may result in the aforementioned error. Many data sources impose a limit on the size of the results returned via API calls. Qbo limits the number of rows returned per query to 1000, but it is still possible to exceed the limit imposed by the backend data source.

You can check the logs for more information:

exception summary
 01-20 15:23:43.380|ERROR|failed to generate a vizy, details: MultiError: with 2 suppressed errors:
     error #1/2: QueryFailedError: ER_NET_PACKET_TOO_LARGE: Got a packet bigger than 'max_allowed_packet' bytes

To fix this, pick one of the solutions below:

  1. limit the number of visible attributes of the entity to a lower number.

../../_images/troubleshooting-AttributesToTen.jpg
  1. For MariaDB, open file /etc/my.cnf.d/server.cnf and set the value of max_allowed_packet to 128M.

configuration file content
    # These groups are read by MariaDB server.
    # Use it for options that only the server (but not clients) should see
    #
    # See the examples of server my.cnf files in /usr/share/mysql/
    #

    # this is read by the standalone daemon and embedded servers
    [server]

    # this is only for the mysqld standalone daemon
    [mysqld]
    innodb_file_format=Barracuda
    innodb_file_per_table=ON
    innodb_large_prefix=ON
    max_allowed_packet=128M
    # this is only for embedded server
    [embedded]

    # This group is only read by MariaDB-5.5 servers.
    # If you use the same .cnf file for MariaDB of different versions,
    # use this group for options that older servers don't understand
    [mysqld-5.5]

    # These two groups are only read by MariaDB servers, not by MySQL.
    # If you use the same .cnf file for MySQL and MariaDB,
    # you can put MariaDB-only options here
    [mariadb]

    [mariadb-5.5]

To activate configuration changes, restart the operating system service.

On RedHat:

$ sudo service mariadb restart

If these steps do not fix the issue, a detailed diagnostic will be necessary. Please contact the product support team to report the issue.

Long strings not allowed

Qbo does not support datasets where one of the columns can contain long strings of text. In general, avoid adding strings of more than 10 words to a column.

If you reload a dataset by clicking the Reload button in the Data Sources section, and receive an error message of Reloading failed:

  1. Reload the querybot.

  2. Check for very long strings within the dataset.

  3. Delete the attribute with the long string from the querybot model - not from the database itself.

  4. Reload the dataset.

Migrate Qbo mapping from dev to QA/Prod

1. Export the data model:


On the development instance, open the data source executor.

../../_images/troubleshooting-select_data_source.png

Click the Edit button.

../../_images/troubleshooting-edit_data_source_configuration.png

Click the Download data model button.

../../_images/troubleshooting-download_data_model.png

Note: The data model downloads as a zip file into your local environment.

2. Change the data model:


Unzip the downloaded data model to view its contents.

../../_images/troubleshooting-downloaded_data_model_structure.png

Change the directory name. For example, rename qbo-retail-41 to qbo-retail-42.

Open the sample_dataset_configuration.json file and change the directory name within it.

../../_images/troubleshooting-sample_dataset_configuration.png

If you have different database details for the QA or production environment, update the databaseConfiguration section in the sample_dataset_configuration.json file.

../../_images/troubleshooting-sample_database_configuration.png

Note:: The database password should be encrypted. Use the password_encryptor command line utility to encrypt your password:

$UNSCRAMBL_HOME/bin/password_encryptor -p <user password>

3. Import the data model


Create a zip file with all four json files:

  • entity_relationship_model.json

  • querybot_relational_entity_mapping.json

  • querybot_entity_relationship_model.json

  • sample_dataset_configuration.json.

Make sure that the structure of the zip file follows this hierarchy:

../../_images/troubleshooting-import_data_model_structure.png

Go to the QA or production Qbo instance to which you’ll import the mapping.

If a data source already exists with older mapping, delete the existing data source: click on the 3 vertical dots icon and select Delete.

../../_images/troubleshooting-delete_data_source.png

Import the updated data model:

  • Click Draft a new source.

    ../../_images/troubleshooting-draft_new_source.png
  • Click the Data models tab.

    ../../_images/troubleshooting-data_model_tab.png

Upload the updated zip file from your local environment. Enter the same data source name as the older data source and click Next.

../../_images/troubleshooting-upload_data_model.png
Note: If you are updating the existing Qbo mapping on QA/Prod, you can retain the current NLP learning by

keeping the old data source name. If you give the updated data model a diferent name, Qbo will start the NLP learning from scratch.

  • Save and activate the draft.

    ../../_images/troubleshooting-save_and_activate_draft.png
  • click Reload.

    ../../_images/troubleshooting-reload.png

Update existing mapping if database column is changed

1. Export the data model


Select data source executor and open it.

../../_images/troubleshooting-select_data_source.png

Click the Edit button.

../../_images/troubleshooting-edit_data_source_configuration.png

Click the Download data model button.

../../_images/troubleshooting-download_data_model.png

Note: The data model downloads as a zip file into your local environment.

2. Change the data model:


Unzip the downloaded data model to view its contents.

../../_images/troubleshooting-downloaded_data_model_structure.png

Change the directory name. For example, rename qbo-retail-41 to qbo-retail-42.

Open the sample_dataset_configuration.json file and change the directory name within it.

../../_images/troubleshooting-sample_dataset_configuration.png

In order to apply the model changes at Qbo’s end, we need to understand the changes at the database end.

  • If existing column is changed in the database

    • Data type of existing column is changed

      If the datatype of customer_id is changed from string to integer in the database, this change would not automatically be reflected in the QBO mapping, so we need to manually update the mapping in these files:

      • entity_relationship_model.json

      • querybot_entity_relationship_model.json

      Open entity_relationship_model.json, search for the name of the modified table and update the column type.

      Previous mapping

      ../../_images/troubleshooting-enity_relationship_model.png

      New mapping

      ../../_images/troubleshooting-enity_relationship_model_after_datatype_update.png

      Note: Take the reference from miscellaneous miscellaneous for correct pythonType and type supported in QBO mapping.

      Once you’ve completed the changes, save entity_relationship_model.json.

      Open querybot_entity_relationship_model.json file and update the datatype of customer id column from

      String to Integer from the customer entity.

      ../../_images/troubleshooting-querybot_entity_relationship_model.png

      Note: this file does not contain underscores (_) in attribute names.

    • Column name is changed

      If the customer_id column is renamed to customer_no, we need to manually update the mapping in these files.

      • entity_relationship_model.json

      • querybot_relational_entity_mapping.json

      1. Open entity_relationship_model.json, find the table name, and update the column name.

      ../../_images/troubleshooting-change_column_name_in_enity_relationship_model.png
      1. Open querybot_relational_entity_mapping.json, find the table name, and update the column name.

      ../../_images/troubleshooting-change_column_name_in_querybot_relational_entity_mapping.png

      Note: only update columnName in this file, as this represents the actual name of the column present in the database.

  • If a new column is added

    If the age_group column is added as a varchar/string type in the customer table, we need to manually add it to the mapping.

    • Open entity_relationship_model.json and add a column entry under the customer table.

      ../../_images/troubleshooting-new_column_addition_in_enity_relationship_model.png
    • Follow the steps in Upload the data model.

    • From the UI, add the new column to the data model.

      ../../_images/troubleshooting-add_attribute_from_ui.png
    • Save and activate draft.

    • Reload.

3. Upload the data model


Create a zip file with all four json files:

  • entity_relationship_model.json

  • querybot_relational_entity_mapping.json

  • querybot_entity_relationship_model.json

  • sample_dataset_configuration.json.

Make sure that the structure of the zip file follows this hierarchy:

../../_images/troubleshooting-import_data_model_structure.png

Go to the QA or production Qbo instance to which you’ll import the mapping.

If a data source already exists with older mapping, delete the existing data source: click on the 3 vertical dots icon and select Delete.

../../_images/troubleshooting-delete_data_source.png

Import data model:

  • Click Draft a new source.

    ../../_images/troubleshooting-draft_new_source.png
  • Click the Data models tab.

    ../../_images/troubleshooting-data_model_tab.png

Upload the updated zip file from your local environment. Enter the same data source name as the older data source and click Next.

../../_images/troubleshooting-upload_data_model.png
Note: If you are updating the existing Qbo mapping on QA/Prod, you can retain the current NLP learning by

keeping the old data source name. If you give the updated data model a different name, Qbo will start the NLP learning from scratch.

  • Save and activate the draft.

    ../../_images/troubleshooting-save_and_activate_draft.png
  • Click Reload.

    ../../_images/troubleshooting-reload.png

Miscellaneous

Reference for possible data types used in entity_relationship_model.json.

pythonType type
str String
int Integer
float Double
datetime.datetime Datetime
datetime.datetime Date
decimal.Decimal Decimal
bool Boolean