Document toolboxDocument toolbox

ServiceNow collector

Overview

ServiceNow Incident Management (previously ITSM) helps you to monitor, track, and analyze service incidents to support business operations. This collector enables you to integrate ServiceNow with the Devo Platform making it easy to query and analyze the ServiceNow Incident Management data, view it, and pre-configured Activeboards, or customize them to suit your needs.

Devo’s Service Now Collector interfaces with ServiceNow to help streamline security-related service management and IT operations. The data in ServiceNow tickets can be mirrored to Devo so that you can track the status and information in the task.

Devo collector features

Feature

Details

Feature

Details

Allow parallel downloading (multipod)

  • Not allowed

Running environments

  • Collector server

  • On-premise

Populated Devo events

  • Table

  • Lookups

Flattening preprocessing

  • Yes

Data sources

 

Data Source

Description

API Endpoint

Collector service name

Devo Table

Available from release

Incident data

Incident is an unplanned interruption to a service or reduction in the quality of service. Failure of a configuration item that has not yet affected service is also an incident – for example, failure of one disk from a mirror set.

api/now/table/incident

incident

itsm.servicenow.tables.incident

v1.0.0

Event data

Events are an indication in ServiceNow that something notable has occurred. Events can be generated by server-side scripts, workflows, ServiceNow processes, or by user actions such as: Impersonating a user. Logging in.

api/now/table/ecc_event

event

itsm.servicenow.tables.event

v1.0.0

Change data

A change request records the detailed information about the change, such as the reason for the change, the priority, the risk, the type of change, and the change category.

api/now/table/chg_model

change

itsm.servicenow.tables.change

v1.0.0

User data

The individuals who use the ServiceNow within an organization. The system administrator has the authority to create a new user, browse through the list of existing users, delete a user and impersonate a user

api/now/table/sys_user

user

itsm.servicenow.tables.user

v1.0.0

Location data

If your organization supports more than one distinct location, you can configure these locations in the platform to help further identify users, assets, and incidents.

api/now/table/cmn_location 

location

itsm.servicenow.tables.location

v1.0.0

Application Server

A base table for logical CIs, which indicate the primary function of a physical or virtual server such as a Tomcat server or a WebSphere server.

api/now/table/cmdb_ci_app_server

cmdb_ci_app_server

itsm.servicenow.cmdb.cmdbciappserver

v1.0.0

Database Instance

Software and memory used to manipulate data in a database.

api/now/table/cmdb_ci_db_instance 

cmdb_ci_db_instance

itsm.servicenow.cmdb.cmdbcidbinstance

v1.0.0

Infrastructure Service

IT services which support providing computing infrastructure.

api/now/table/cmdb_ci_infra_service

cmdb_ci_infra_service

itsm.servicenow.cmdb.cmdbciinfraservice

v1.0.0

Configuration Item

Base configuration item table.

api/now/table/cmdb_ci

cmdb_ci(list)

itsm.servicenow.cmdb.cmdbci

v1.0.0

Server

Base class for all types of servers.

api/now/table/cmdb_ci_server 

cmdb_ci_server

itsm.servicenow.cmdb.cmdbciserver

v1.0.0

Service

IT Service that directly supports a Business Process (ITIL).

api/now/table/cmdb_ci_service

cmdb_ci_service

itsm.servicenow.cmdb.cmdbciservice

v1.0.0

Virtual Machine HyperVisor

Virtual Machine HyperVisor

api/now/table/cmdb_ci_vm

cmdb_ci_vm

itsm.servicenow.cmdb.cmdbcivm

v1.0.0

CI Relationship

Store relationship between your CIs.

lapi/now/table/cmdb_rel_ci 

cmdb_rel_ci

itsm.servicenow.cmdb.cmdbrelci

v1.0.0

cmn location

Store locations in common table

api/now/table/cmn_location

cmn_location

itsm.servicenow.cmdb.cmnlocation

v1.0.0

Any Extended table

Extending an existing ServiceNow table means the new table inherits the parent table's columns as well as its business logic

api/now/table/<table_name>

 

custom_tag

v1.0.0

Any Database view

A Database View is essentially a pseudo-table representing a join between several contributing tables.

api/now/table/<view_name>

 

custom_tag

v1.0.0

For more information on how the events are parsed, visit our page.

Vendor setup

There are some requirements to enable this collector:

  1. Valid ServiceNow credentials.

  2. Set the time zone of the ServiceNow instance to GMT.

In order to retrieve the data, you need to create an instance to obtain credentials. In the following table are the steps on how to create an instance, get the credentials, and put the time zone of the instance in GMT.

Action

Steps

Action

Steps

Go to ServiceNow's development website.

  1. Go to ServiceNow developers website ServiceNow Developers.

  2. Click on Sign In in the top-right corner of the page.

Enter your login credentials.

  1. Enter your email address in the text box and click on Next.

  2. Enter your password in the text box and click on Sign In.

Request an instance.

  1. After logging in, click on Request Instance in the top menu. On the right-hand side.

  2. Choose a release, for example, Rome and click on the Request button.

  3. Wait for the instance to be generated, it may take a few minutes.

The instance has to be awake for the collector to work. It goes into hibernation mode after a few hours if it is not used.

Instances with no activity for over 10 days will be claimed back in to the pool.

Copy credentials.

  1. When the instance is ready, a pop-up window will appear with the instance URL, username and password.

  2. Save instance URL, username and password.

  3. (Optional) If you want to access the new instance in the ServiceNow console click on Open Instance.

It is important to save the instance URL, username and password to enter in the Collector configuration.

Set instance time zone to GMT.

  1. Click on the photo of the instance administrator, on the right side of the upper panel of the screen. Then click on Profile.

  2. Click the dropdown menu for the Timezone field and then select GMT.

  3. Finally click on Update.

(Optional) Explore the instance in the ServiceNow console.

(Optional) If you open the instance, you will be redirected to the ServiceNow console where you can create tables, filters and database views.

Minimum configuration required for basic pulling

Although this collector supports advanced configuration, the fields required to retrieve data with basic configuration are defined below.

Setting

Details

api_base_url

This parameter is the URL of the ServiceNow instance.

username

Username to authenticate to the service.

password

User password to authenticate to the service.

standard_table_service_name

This parameter allows you to define a standard Service Now service based on known sources of Tables.

Accepted authentication methods

Depending on how did you obtain your credentials, you will have to either fill or delete the following properties on the JSON credentials configuration block.

Authentication Method

Username

Password

Username/Password

REQUIRED

REQUIRED

Run the collector

Once the data source is configured, you can either send us the required information if you want us to host and manage the collector for you (Cloud collector), or deploy and host the collector in your own machine using a Docker image (On-premise collector).

Collector services detail

This section is intended to explain how to proceed with specific actions for services.

This section describes the predefined services of the ServiceNow collector. The predefined services can be classified into:

  • ServiceNow Standard Table

  • ServiceNow Standard CMDB

Devo categorization and destination for Standard Table

The following table shows the Devo Tag to which the events are ingested based on each ServiceNow table:

ServiceNow Standard Table

Devo Tag

incident

itsm.servicenow.tables.incident

event

itsm.servicenow.tables.event

change

itsm.servicenow.tables.change

user

itsm.servicenow.tables.user

location

itsm.servicenow.tables.location

Devo categorization and destination for Standard CMDB

The following table shows the Devo Tag to which the events are ingested based on each ServiceNow table:

ServiceNow Standard CMDB

Devo Tag

cmdb_ci_app_server

itsm.servicenow.cmdb.cmdbciappserver

cmdb_ci_db_instance

itsm.servicenow.cmdb.cmdbcidbinstance

cmdb_ci_infra_service

itsm.servicenow.cmdb.cmdbciinfraservice

cmdb_ci(list)

itsm.servicenow.cmdb.cmdbci

cmdb_ci_server

itsm.servicenow.cmdb.cmdbciserver

cmdb_ci_service

itsm.servicenow.cmdb.cmdbciservice

cmdb_ci_vm

itsm.servicenow.cmdb.cmdbcivm

cmdb_rel_ci

itsm.servicenow.cmdb.cmdbrelci

cmn_location

itsm.servicenow.cmdb.cmnlocation

Once the collector has been launched, it is important to check if the ingestion is performed in a proper way. To do so, go to the collector’s logs console.

This service has the following components:

Component

Description

Setup

The setup module is in charge of authenticating the service and managing the token expiration when needed.

Puller

The setup module is in charge of pulling the data in a organized way and delivering the events via SDK.

Setup output

A successful run has the following output messages for the setup module:

INFO ServiceNowDataPullerSetup(example_collector,servicenow_data_puller#111,incident#predefined) -> Puller Setup Started INFO ServiceNowDataPullerSetup(example_collector,servicenow_data_puller#111,incident#predefined) -> Checking if the user has enough permissions to fetch data from ServiceNOW INFO ServiceNowDataPullerSetup(example_collector,servicenow_data_puller#111,incident#predefined) -> Provided username and password have the required permissions to fetch the data INFO ServiceNowDataPullerSetup(example_collector,servicenow_data_puller#111,incident#predefined) -> Puller Setup Terminated INFO ServiceNowDataPullerSetup(example_collector,servicenow_data_puller#111,incident#predefined) -> Setup for module "ServiceNowDataPullerTables" has been successfully executed

Puller output

A successful initial run has the following output messages for the puller module:

2022-08-26T13:13:31.485 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> PrePull Started. 2022-08-26T13:13:31.485 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Found Historic Date as: 2008-05-10 05:35:13 2022-08-26T13:13:31.486 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> No saved state found, initializing.... 2022-08-26T13:13:31.486 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Initializing the rate limiter with 100000 calls per second 2022-08-26T13:13:31.486 WARNING InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Saved state loaded: {'last_polled_time': 1210397713.0, 'historic_date': 1210397713.0, 'last_full_refresh': None, 'ids_with_same_timestamp': []} 2022-08-26T13:13:31.486 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> PrePull terminated. 2022-08-26T13:13:31.486 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Starting data collection every 60 seconds 2022-08-26T13:13:31.487 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Pull Started. Retrieving timestamp: 2022-08-26 11:13:31.485261+00:00 2022-08-26T13:13:31.487 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Starting to pull ServiceNow table data is pulled from table incident and send to Devo 2022-08-26T13:13:31.487 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Pulling data from incident table 2022-08-26T13:13:31.487 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Fetching rows from ServiceNow table sorted by 'sys_created_on' time. 2022-08-26T13:13:31.487 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> This is the first run of the collector. Collector will fetch all the data available in the ServiceNow in the first poll 2022-08-26T13:13:33.372 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Successfully retried incident table data from server 2022-08-26T13:13:33.375 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Received 78 events from ServiceNow 2022-08-26T13:13:33.375 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Removing the duplicate events if present 2022-08-26T13:13:33.379 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Sent 78 events to Devo. 2022-08-26T13:13:33.379 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> State last_polled_time is updated with last fetched issue creation time 2022-08-26T13:13:33.379 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Saved state: {'last_polled_time': 1661339716.0, 'historic_date': 1210397713.0, 'last_full_refresh': 1661512411.485261, 'ids_with_same_timestamp': ['2dfb24c907e15110c009f4be7c1ed053']} 2022-08-26T13:13:33.380 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> (Partial) Statistics for this pull cycle (@devo_pulling_id=1661508811.485261) so far: Number of requests made: 1; Number of events received: 78; Number of duplicated events filtered out: 0; Number of events generated and sent: 78 2022-08-26T13:13:34.599 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Successfully retried incident table data from server 2022-08-26T13:13:34.600 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Received 0 events from ServiceNow 2022-08-26T13:13:34.600 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Fetching results from ServiceNow is completed. 2022-08-26T13:13:34.600 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Statistics for this pull cycle (@devo_pulling_id=1661508811.485261): Number of requests made: 2; Number of events received: 78; Number of duplicated events filtered out: 0; Number of events generated and sent: 78; Average of events per second: 25.04 2022-08-26T13:13:34.600 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Pull Terminated

After a successful collector’s execution (that is, no error logs found), you will see the following log message:

2022-08-26T13:13:34.600 INFO InputProcess::ServiceNowDataPullerTables(servicenow,111,incident,predefined) -> Statistics for this pull cycle (@devo_pulling_id=1661508811.485261): Number of requests made: 2; Number of events received: 78; Number of duplicated events filtered out: 0; Number of events generated and sent: 78; Average of events per second: 25.04

This collector uses persistent storage to download events in an orderly fashion and avoid duplicates. In case you want to re-ingest historical data or recreate the persistence, you can restart the persistence of this collector by following these steps:

  1. Edit the configuration file.

  2. Change the value of the historic_date parameter to a different one.

  3. Save the changes.

  4. Restart the collector.

The collector will detect this change and will restart the persistence using the parameters of the configuration file or the default configuration in case it has not been provided.

This collector has different security layers that detect both an invalid configuration and abnormal operation. This table will help you detect and resolve the most common errors.

ErrorType

Error Id

Error Message

Cause

Solution

InitVariablesError

1

api_base_url not of expected type: str

This error is raised when api_base_url is not str.

Edit the value of api_base_url in config.json so it is of type str.

2

api_base_url must match regex: (^http|^https)(:\/\/)[-a-zA-Z0-9@:%._\\+~#=]{1,256}(\.)(service[-]?now)(\.com?$). (e.g.https://dev70590.service-now.com )

This error is raised when optional value api_base_url does not match the required regex.

Make the value of api_base_url in config.json match the indicated format.

3

api_url_regex is the required field for validating the base url. Specify it in collector definitions

This error is raised when api_url_regex property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

4

Required setting. 'api_url_regex' is not of expected type: str

This error is raised when api_url_regex is defined in collector_definitions.yaml but the format is not str.

This is an internal issue. Contact with Devo Support team.

5

historic_date_timeformat is the required field for validating datetime format. Specify it in collector definitions

This error is raised when historic_date_timeformat property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

6

Required setting. historic_date_timeformat is not of expected type: str

This error is raised when historic_date_timeformat is defined in collector_definitions.yaml but the format is not str.

This is an internal issue. Contact with Devo Support team.

7

Required setting, historic_date not of expected type: str

This error is raised when optional value historic_date added in config.json is not of type str.

Edit the value of historic_date in config.json so it is of type str. Or leave it empty so the collector starts pulling data N days ago at the current time.

8

Invalid value is provided for the historic_date. Provide the date in %Y-%m-%d %H:%M:%S format

This error is raised when optional value historic_date does not match the required regex.

Make the value of historic_date in config.json match the indicated format. Or leave it empty so the collector starts pulling data N days ago at the current time.

9

Time format for historic date must be %Y-%m-%d %H:%M:%S. e.g. 2015-03-15 05:35:13

This error is raised when optional value historic_date does not match the required regex.

Make the value of historic_date in config.json match the indicated format. Or leave it empty so the collector starts pulling data N days ago at the current time.

10

Required setting, credentials not found in user configuration

This error is raised when the required property credentials is not found in config.json.

Add credentials dictionary in config.json, including client_id and client_secret fields.

11

Required setting, credentials not of expected type: dict

This error is raised when credentials is defined in config.json but the format is not dict.

Edit the value of credentials in config.json so it is of type dict.

12

Required setting, username not found in user configuration

This error is raised when the required property username is not found in config.json, into credentials dictionary.

Add username property in config.json, into credentials dictionary.

13

Required setting, username not of expected type: str

This error is raised when username is defined in config.json but the format is not str.

Edit the value of username in config.json, into credentials dictionary, so it is of type str.

14

Required setting 'password' not found in user configuration

This error is raised when the required property password is not found in config.json, into credentials dictionary.

Add password property in config.json, into credentials dictionary.

15

Required setting 'password' not of expected type: str

This error is raised when password is defined in config.json but the format is not str.

Edit the value of password in config.json, into credentials dictionary, so it is of type str.

16

'event_fetch_limit_in_items' is the required setting. Please specify it in collector definitions

This error is raised when event_fetch_limit_in_items property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

17

'event_fetch_limit_in_items' is not of expected type: int

This error is raised when event_fetch_limit_in_items is defined in collector_definitions.yaml but the format is not int.

This is an internal issue. Contact with Devo Support team.

18

'event_fetch_limit_in_items' should be in the range 1 to 10000

This error is raised when event_fetch_limit_in_items is defined in collector_definitions.yaml but the format is not in range 1 to 10000.

This is an internal issue. Contact with Devo Support team.

19

'user_agent' is the required setting. Please specify it in collector definitions

This error is raised when user_agent property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

20

'user_agent' is not of expected type: str

This error is raised when user_agent is defined in collector_definitions.yaml but the format is not str.

This is an internal issue. Contact with Devo Support team.

21

default_historical_poll_days is the required field in case historic_date_utc is not specified. Specify it in collector definitions

This error is raised when default_historical_poll_days property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

22

Required setting. default_historical_poll_days is not of expected type: int

This error is raised when default_historical_poll_days is defined in collector_definitions.yaml but the format is not int.

This is an internal issue. Contact with Devo Support team.

23

'retry_after_sec' is the required setting. Please specify it in collector definitions

This error is raised when retry_after_sec property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

24

'retry_after_sec' is not of expected type: int

This error is raised when retry_after_sec is defined in collector_definitions.yaml but the format is not int.

This is an internal issue. Contact with Devo Support team.

33

max_number_of_retries is the required field. Specify it in collector definitions

This error is raised when max_number_of_retries property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

34

Required setting. max_number_of_retries is not of expected type: int

This error is raised when max_number_of_retries is defined in collector_definitions.yaml but the format is not int.

This is an internal issue. Contact with Devo Support team.

35

api_timeout_in_seconds is the required field. Specify it in collector definitions

This error is raised when api_timeout_in_seconds property is not found in collector_definitions.yaml.

This is an internal issue. Contact with Devo Support team.

36

Required setting. api_timeout_in_seconds is not of expected type: int

This error is raised when api_timeout_in_seconds is defined in collector_definitions.yaml but the format is not int.

This is an internal issue. Contact with Devo Support team.

SetupError

100

Failed to check if the provided credentials have valid permissions.

This error is raised when an unexpected error occurred while checking credentials

If there are previous errors, fix them and if the error continues to appear contact with Devo Support team.

101

The credentials provided in the config.yaml are incorrect. Please provide the correct credentials.

Status code: 401

Error message: <error_message>

This error is raised when the credentials provided in config.json are not valid. (401 Unauthorized error)

Add the correct username and password fields in config.json, at credentials property.

102

The user is not authorized to fetch data from the ServiceNOW.

Status code: 403

Error message: <error_message>

This error is raised when the credentials provided in config.json are valid, but the credentials used to access the API have no permissions to create a token. (403 Forbidden error)

Add some credentials in config.json with enough privileges to create a token from the API.

103

The requested URL {response.url} is not found. The URL may have been depreciated"
Status code: 404

Error message: <error_message>

This error is raised when the credentials provided in config.json are valid, but the authentication endpoint that is being requested to get a token is not found.

This is an internal issue. Contact with Devo Support team.

104

Bad request. Check the message from the server.

Error Message: <error_message>

This error is raised when the api returns a 400 code that indicates that the server cannot or will not process the request due to something that is perceived to be a client error.

Check if exists malformed request syntax, invalid request message framing, or deceptive request routing)

105

Servicenow instance in Hibernation mode. Sign in to ServiceNow and wake up the instance.

This error is raised when ServiceNow instance went into hibernation due to inactivity

Go to the ServiceNow developers website and wake up the instance.

106

Unexpected error occurred while checking for permissions of user credentials

This error is raised when there is a problem with the credentials.

Add the correct username and password fields in config.json, at credentials property.

PrePullError

200

Kindly enter valid date which is less than the current date

This error is raised when historic_date is later than the current date.

Go to the config.yaml and enter a historic_date less than the current date

ApiError

400

Error occurred while fetching {table} table data from serviceNow."
Error message: <error_message>

This error is raised when an unknown problem occurs with the request.

This is an internal issue. Contact with Devo Support team.

401

The credentials provided in the config.yaml are incorrect. Please provide the correct credentials.

Status code: 401

Error message: <error_message>

This error is raised when there is a problem with the credentials.

Add the correct username and password fields in config.json, at credentials property.

402

The user is not authorized to {table} table data from the ServiceNOW.

Status code: 403

Error message: <error_message>

This error is raised when the credentials provided in config.json are valid, but the credentials used to access the API have no permissions to create a token. (403 Forbidden error)

Add some credentials in config.json with enough privileges to create a token from the API.

403

The requested URL {response.url} is not found. The URL may have been depreciated.

Status code: 404

Error message: <error_message>

This error is raised when the credentials provided in config.json are valid, but the authentication endpoint that is being requested to get a token is not found.

This is an internal issue. Contact with Devo Support team.

404

Unexpected error occurred while checking for permissions of user credentials

This error is raised when there is a problem with the credentials.

Add the correct username and password fields in config.json, at credentials property.

405

After {max_number_of_retries} retries still getting the too many requests error.

This error is raised when API requests fail after a number of attempts.

This is an internal issue. Contact with Devo Support team.

406

Connection error occurred. Collector is not able to reach the Internet.
Error message: <error_message>

This error is raised when when the connection takes a long time.

Check that you have an internet connection.

407

Error occurred while fetching {table} table data from serviceNow.
Error message: <error_message>

This error is raised when an unknown problem occurs with the request.

This is an internal issue. Contact with Devo Support team.

Custom services tables and CMDB

This section describes the custom services of the ServiceNow collector.

The predefined services are classified into:

  • ServiceNow Custom Table

  • Servicenow Custom CMDB

Devo categorization and destination for Custom Table

This service is a custom service so the user is in charge of choosing a ServiceNow CMDB (custom_servicenow_cmdb) and also the Devo destination tag (custom_devo_tag).

The following table shows the Devo table to which the events are ingested based on each ServiceNow table:

ServiceNow Standard Table

Devo Tag

ServiceNow Standard Table

Devo Tag

custom_servicenow_table

custom_devo_tag

Devo categorization and destination for Custom CMDB

This service is a custom service so the user is in charge of choosing a ServiceNow CMDB (custom_servicenow_cmdb) and also the Devo destination tag (custom_devo_tag).

The following table shows the Devo table to which the events are ingested based on each ServiceNow table:

ServiceNow Standard Table

Devo Tag

custom_servicenow_cmdb

custom_devo_tag

Custom Lookup services database view

This section describes the custom services of the ServiceNow collector.

Collector operations

This section is intended to explain how to proceed with specific operations of this collector.

Change log

Release

Released on

Release type

Details

Recommendations

v1.5.1

Aug 9, 2024

IMPROVEMENTS

BUG FIXES

Bug fixes

  • Made date_field param optional in the config.

Improvements

  • User can fetch logs based on updated time.

  • Handled the exception of API returning HTML response instead of JSON.

Recommended version

v1.5.0

Feb 2, 2024

IMPROVEMENTS

Improvements

  • Upgraded DCSDK from 1.11.1 to 1.12.2:

    • Updated DevoSDK to v5.1.9

    • Fixed some bug related to development on MacOS

    • Added an extra validation and fix when the DCSDK receives a wrong timestamp format

    • Added an optional config property for use the Syslog timestamp format in a strict way

    • Updated DevoSDK to v5.1.10

    • Fix for SyslogSender related to UTF-8

    • Enhace of troubleshooting. Trace Standardization, Some traces has been introduced.

    • Introduced a mechanism to detect "Out of Memory killer" situation

    • Fixed high vulnerability in Docker Image

    • Upgrade DevoSDK dependency to version v5.4.0

    • Fixed error in persistence system

    • Applied changes to make DCSDK compatible with MacOS

    • Added new sender for relay in house + TLS

    • Added persistence functionality for gzip sending buffer

    • Added Automatic activation of gzip sending

    • Improved behaviour when persistence fails

    • Upgraded DevoSDK dependency

    • Fixed console log encoding

    • Restructured python classes

    • Improved behaviour with non-utf8 characters

    • Decreased defaut size value for internal queues (Redis limitation, from 1GiB to 256MiB)

    • New persistence format/structure (compression in some cases)

    • Removed dmesg execution (It was invalid for docker execution)

  • Updated dcsdk-docker-base-image to version 1.3.0

Update

v1.4.0

Feb 2, 2024

FEATUREIMPROVEMENTS

New features

  • Added new config parameter date_field: Allows events to be retrieved from their update date instead of from the creation date, thus showing event status changes.

Improvements

  • Upgraded DCSDK from 1.9.2 to 1.10.2:

    • Fixed error in pyproject.toml related to project scripts endpoint

    • Introduced pyproject.toml

    • Added requirements.dev.txt

    • Added input metrics

    • Modified ouutput metrics

    • Updated DevoSDK to version 5.1.6

    • Standardized exception messages for traceability

    • Added more detail in queue statistics

Update

v1.3.0

Sep 13, 2023

FEATURE

IMPROVEMENT

New Features

  • Added new config parameter sysparm_display_value: Exports the display value (true) or raw value (false) for the CSV, Excel, XLSX, and XML file formats.

Improvements

  • Upgraded DCSDK from 1.9.1 to 1.9.2:

    • Upgrade internal dependencies

Update

v1.1.0

Sep 2, 2022

FEATURE

New Features:

  • All services are now compatible with on-premise Service Now instances.

Update

v1.0.0

Aug 26, 2022

FEATURE

New Features:

  • The following ServiceNow Standard Tables are ingested natively:

    • incident

    • event

    • change

    • user

    • location

  • The following ServiceNow Standard CMDB Tables are ingested natively:

    • cmdb_ci_app_server

    • cmdb_ci_db_instance

    • cmdb_ci_infra_service

    • cmdb_ci(list)

    • cmdb_ci_server

    • cmdb_ci_service

    • cmdb_ci_vm

    • cmdb_rel_ci

    • cmn_location

  • Any custom ServiceNow Standard Table, CMDB Table and DatabaseView and can be ingested through a new two dynamic services.

 -