AIOps-Upgrade to v2.0

Contents

  1. Project Creation with Flavors
  2. Concurrency scheduler for correlation
  3. Reference Data Changes
  4. ITSMWrapper Configuration changes:
  5. Skill/Microaction changes
  6. iHub Channel Configurations
  7. Template changes as part of assignedToUserId and assignedGroupId
  8. Execute automation story: User specific field name format
  9. Enabling multi realm support in Grafana
  10. Disable PWF Association – Support.
  11. API for Resetting the Grafana dashboard for a project
  12. Ticket Dump Configuration Details

 

Project Creation with Flavors

 

A new field has been introduced in project configuration – ITOps Flavor

This field determines the features available.

Smart NOC – Single Pane of Glass with Alert Correlation

Smart Desk – Tickets and Recommended resolutions

Smart resolution – Combines Smart NOC and Smart Desk.

To create a Smart NOC project, following steps should be followed.

  1. Select the flavor as Smart NOC in the ITOps flavor drop down.

  2. Set the CRON expression for Batch Predict workflow as 0 0 0 1 */60 ?

  3. Fill junk values for all fields in Ticket Dump Configurations group

  4. Enter proper values in all other fields.

 

To create a Smart Desk project, following steps should be followed.

  1. Select the flavor as Smart Desk in the ITOps flavor drop down.

  2. Set the CRON expression for all schedulers except Batch Predict workflow as 0 0 0 1 */60 ?

  3. Fill junk values for all fields in Surge Configurations group and any numeric value for Response SLA Threshold

  4. Enter proper values in all other fields.

 

To create a Smart Resolution project, following steps should be followed.

  1. Select the flavor as Smart Resolution in the ITOps flavor drop down.

  2. Enter proper values in all schedulers and fields.

Concurrency scheduler for correlation

Always select ‘Forbid’ option in the concurrency scheduler configuration, and provide ‘Concurrency Timeout’ accordingly (Preferred value as 15).

Picture 25791553

Reference Data Changes

A new field is added to retrieve mapping key for longDescription in different ITSM tools.

 

A new field is added to configure mapping key for short description for different ITSM tools.

Need an entry in master ref data with virtual engineer name so that UI can differentiate the virtual engineer from other users.

A new entry should be added in ITOpsReferenceData/ITOpsProjectReferenceData mongo collection to configure an external alert formatting API. This is to meet any requirements for custom formatting of the fields in an alert.

 

ITSMWrapper Configuration changes:

Two new fields have been added to the ITSM Wrapper Configuration to invoke format API and API to retrieve users in a group. Format API is used for converting retrieved details from the ITSM services to ITOps specific format. Follow below steps for these changes

 

itsm: ServiceNow, (itsm name and version to be same as in project configuration)

version: Paris,

retrieveAPI: <hostname>/itopssnowwrapper/api/snow/retrieveTicket,

createAPI: <hostname>/itopssnowwrapper/api/snow/createTicket,

updateAPI: <hostname>/itopssnowwrapper/api/snow/updateTicket,

formatAPI: <hostname>/itopssnowwrapper/api/snow/formatTicket',

usersAPI: <hostname>/itopssnowwrapper/api/snow/getUsers",

connectionFields: [

'ITOps_servicenow_username',

'ITOps_servicenow_password',

'ITOps_servicenow_host'

]

 

Note: <hostname> should be replaced with actual url starting with ...

Skill/Microaction changes

 

iHub Channel Configurations

 

iHub Channels have to be configured in all projects for functionalities.

  1. Sync tickets between ITSM and ITOps – Different configurations based on flavor and destination API URL changed.

  2. Sync SLA details of tickets between ITSM and ITOps - destination API URL changed.

  3. Reassign tickets from Virtual Engineer after threshold time - destination API URL changed.

  4. Sync User Groups from ITSM.

Details of channel creation are available at iHub channel creation.

Template changes as part of assignedToUserId and assignedGroupId

 

As part of introduction of ‘assignedToUserId’ and ‘assignedGroupId’, going forward, we need to provide sysid of ‘assignedToUserId’/ ‘assignedGroupId’ while creating templates. PFB the sample of the same:

Picture 1835469903

Similarly, please update sysid of assignmentGroup as ‘referenceValue‘ for ‘splitAssignGroup’ while inserting value into ‘ITOpsProjectReferenceData’ mongo collection. PFB the sample of the same:

Picture 107550254

Sample values for assignedTo:

assignedToUser

assignedToUserId

NinetyOne NOC

b9564d581b87e4108dbf42eddc4bcb79

 

Sample values for assignedGroup:

assignmentGroup

assignedGroupId

ITOpsTesting

ee199611db12e4104d2e62cb139619ee

NinetyOne NOC

efb1e3a0db1f00105ed6776b8c9619c2

 

Execute automation story: User specific field name format

The fields that the user should fill out when executing automation story should be declared in workflow settings and the field name should start with "ITOps_custom” name

Picture 1263494815

NB: Make sure that failing scenarios are properly handled in new skills created for invoking automaton and MA in the skills are marked with proper tags.
‎PFB tags for the MA
‎Staring MA - Start

Successfully ending MA - Fulfilled

Failure Case - Internal Service Error, External Service Error

 

Picture 136111735

 

Enabling multi realm support in Grafana

To enable multi realm support in Grafana, the following must be made sure.

The client ID and client secret key being created in the newly created realm should be same as the one stored in the key vault. Please contact DE team for the same. Suppose the key vault has the following values

Client ID: grafana_client

Client Secret Key: abcd12345treww

  1. Create the client using the above client ID in the new realm. (i.e. here it would be grafana_client) Client secret key cannot be updated via the keycloak UI. Make sure it is generated using the credentials tab in the keycloak UI.

  2. Update the Client secret key in keycloak DB with the keyvault value using the following SQL:

    Select the keycloak DB

    USE keycloak;

    Select the ID (primary key) for that particular client in that particular realm. Suppose the client id is grafana client and the new realm is grafanatest, then the query would be as given below

    SELECT ID FROM `client` where CLIENT_ID='grafana_client' and REALM_ID ='grafanatest';

    Assume the value of ID = 83cd0afa-9eb44a567c52

    Update the entry with the keyvault value providing the primary key retrieved in the previous step. Assume that the ID retrieved is

    UPDATE `client` SET `SECRET` = ‘abcd12345treww’, WHERE `ID` = '83cd0afa-9eb44a567c52'

     

  3. Check whether the value change has been reflected in the keycloak UI for this particular client. If not, please clear the keycloak cache

Picture 1823455317

Disable PWF Association – Support.

Invoke Disable PWF Association API if you need to de-associate any PWF from an organization

URL: PUT >

Headers: offline-token or Authorization, user and Organization-key

Param: <pwf_id>

 

API for Resetting the Grafana dashboard for a project

If have any issue in default dashboard Use below API for resetting the dashboard (system will create dashboard no need to do the json import from 2.0 onwards)

Method: POST

 

URL:

 

Headers: Authorization, and Organization-name

 

Request Body: {"projectId":<projectID>,"orgId":<Organization-key>}

 

Ticket Dump Configuration Details

Host Name: smartops-k8s-dev-ftp-server.eastus.cloudapp.azure.com 
File path: /home/smartops-ftp-user/supportPWF/Boots_Incident_latest_updRes.csv
User Name: smartops-ftp-user
Password: Sm@rt0P5-Us3R
Ticket number column name: ticket_id
Work note column name: work_notes
SLA column name: u_sla_status
Shortdescription col name: short_description
Category column name: u_service
Ub category col name: u_ess_service