Skip to main content

Airtable Source

airtable-icon.png

The Airtable API integration ingests audit logs periodically from the Airtable app platform into the Sumo Logic environment for storing and analyzing data.

Data Sources

The Airtable Integration periodically consumes audit logs from the Airtable API and sends data to Sumo Logic in chunks.

Prerequisites

To collect audit logs from the Airtable application into Sumo Logic, you must meet the following criteria:

  • You need to have an Airtable admin account.
  • Choose enterprise.auditLogs:read permission to access the token.
  • You must have an Enterprise billing plan.

Authentication

Airtable's API uses token-based authentication, it allows you to authenticate API requests by inputting your access tokens into the HTTP authorization bearer token header. You need to create a Personal Access token that will be used to authenticate API requests.

Complete the following steps to create service account credentials:

  1. Go to the Airtable application and navigate to Create Token.
  2. Click the Create new token button to create a new personal access token.
  3. Give your token a unique name. This name will be visible in the record revision history.
  4. Choose the scope enterprise.auditLogs:read to grant your token. This controls what API endpoints the token will be able to use.
  5. Click add a base to grant the token access to a base or workspace.
  6. You can grant access to any number and combination of bases and workspaces associated with your account. Ensure that the token can only read and write data within the bases and workspaces that have been assigned to it.

States

An Airtable Source lets you pull audit logs from the Airtable app. When you create an Airtable Source, it goes through the following states:

  1. Pending. Once the Source is submitted, it is validated, stored, and placed in a Pending state.
  2. Started. A collection task is created on the Hosted Collector.
  3. Initialized. The task configuration is complete in Sumo Logic.
  4. Authenticated. The Source is successfully authenticated with the Airtable app.
  5. Collecting. The Source is actively collecting data from the Airtable app.

If the Source has any issues during any one of these states, it is placed in an Error state.

When you delete the Source, it is placed in a Stopping state. When it has successfully stopped, it is deleted from your Hosted Collector. On the Collection page, the Health and Status for Sources is displayed. Use Health Events to investigate issues with collection.
Azure Event Hubs error.png

Hover your mouse over the status icon to view a tooltip with a count of the detected errors and warnings. You can click on the status icon to open a Health Events panel with details on each detected issue.
health error generic.png

Setup and Configuration

In this configuration, you will set up an Airtable source account with your Enterprise account and configure it to be authorized and authenticated to use audit logs from Airtable API.

To configure an Airtable Source:

  1. In Sumo Logic, select Manage Data > Collection > Collection.
  2. On the Collection page, click Add Source next to a Hosted Collector.
  3. Search for and select Airtable.
    airtable-icon.png
  4. Enter a Name for the Source. The description is optional.
    airtable-config-main.png
  5. (Optional) For Source Category, enter any string to tag the output collected from the Source. Category metadata is stored in a searchable field called _sourceCategory.
  6. (Optional) Fields. Click the +Add Field link to define the fields you want to associate. Each field needs a name (key) and value.
    • green check circle.png A green circle with a checkmark is shown when the field exists in the Fields table schema.
    • orange exclamation point.png An orange triangle with an exclamation point is shown when the field doesn't exist in the Fields table schema. In this case, an option to automatically add the nonexistent fields to the Fields table schema is provided. If a field is sent to Sumo that does not exist in the Fields schema it is ignored, known as dropped.
  7. In Account ID, enter an account ID that will be a unique identifier for your enterprise account.
  8. In Personal Access Token, enter the access token that you have generated in the authentication section.
  9. When you are finished configuring the Source, click Save.

Error Types

When Sumo Logic detects an issue it is tracked by Health Events. The following table shows the three possible error types, the reason the error would occur, if the Source attempts to retry, and the name of the event log in the Health Event Index.

TypeReasonRetriesRetry BehaviorHealth Event Name
ThirdPartyConfigNormally due to an invalid configuration. You'll need to review your Source configuration and make an update.No retries are attempted until the Source is updated.Not applicableThirdPartyConfigError
ThirdPartyGenericNormally due to an error communicating with the third-party service APIs.NoNot applicableThirdPartyGenericError
FirstPartyGenericNormally due to an error communicating with the internal Sumo Logic APIs.NoNot applicableFirstPartyGenericError

Restarting your Source

import useBaseUrl from '@docusaurus/useBaseUrl';

If your Source encounters ThirdPartyConfig errors, you can restart it from either the Sumo Logic UI or Sumo Logic API.

UI

To restart your source in the Sumo Logic platform, follow the steps below:

  1. Open the Collection page, and go to Manage Data > Collection > Collection.
  2. Select the source and click the information icon on the right side of the row.
  3. The API usage information popup is displayed. Click the Restart Source button on the bottom left.
    restart-source-button.png
  4. Click Confirm to send the restart request.
    restart-source-confirm.png
  5. The bottom left of the platform will provide a notification informing you the request was successful.
    source-restart-initiated.png

API

To restart your source using the Sumo Management API, follow the instructions below:

  • Method: POST
  • Example endpoint: https://api.sumologic.com/api/v1/collectors/{collector_id}/sources/{source_id}/action/restart.

Sumo Logic endpoints like api.sumologic.com are different in deployments outside us1. For example, an API endpoint in Europe would begin api.eu.sumologic.com. A service endpoint in us2 (Western U.S.) would begin service.us2.sumologic.com. For more information, see Sumo Logic Endpoints.

JSON configuration

Sources can be configured using UTF-8 encoded JSON files with the Collector Management API. See how to use JSON to configure Sources for details. 

ParameterTypeRequiredDescriptionAccess
configJSON ObjectYesContains the configuration-parameters of the Source.
schemaRefJSON ObjectYesUse {"type":"Airtable"} for Airtable Source.not modifiable
sourceTypeStringYesUse Universal for Airtable Source.not modifiable

Config Parameters

ParameterTypeRequiredDescriptionAccess
nameStringYesType the desired name of the Source and it must be unique per Collector. This value is assigned to the metadata field _sourcemodifiable
descriptionStringNoType the description of the Source.modifiable
categoryStringNoType the category of the source. This value is assigned to the metadata field _sourceCategory.modifiable
fieldsJSON ObjectNoJSON map of key-value fields (metadata) to apply to the Collector or Source. Use the boolean field _siemForward to enable forwarding to SIEM.modifiable
accountIdStringYesAccount ID is a unique identifier for your Enterprise Account.modifiable
personalAccessTokensStringYesUsed to authenticate API requests.modifiable

Airtable Source JSON example:

{
"api.version": "v1",
"source": {
"config": {
"name": "airtable",
"accountId": "accountid",
"personalAccessToken": "*********",
"fields": {
"_siemForward": true
}
},
"schemaRef": {
"type": "Airtable"
},
"sourceType": "Universal"
}
}

Limitations

We are using Personal Access Token authentication in the integration, which is currently in public beta version. For more information, refer to the Airtable Notification.

Assumptions

  • Size of the single audit log will be less than 64 KB.
  • Data URLs will expire after 7 days. If URLs are not processed within 7 days, the integration will create a new request which may cause data duplication.
Legal
Privacy Statement
Terms of Use

Copyright © 2023 by Sumo Logic, Inc.