Configuring Elasticsearch destinations

Before your connections can successfully send data to a destination, your Tanium as a Service instance must be configured. Contact Tanium Support with the destination URL or IP and service port to submit a request.

For more information, see Tanium as a Service Deployment Guide: Proxy access.

With Elasticsearch, you can search, analyze, and get actionable insights in real time from almost any type of structured and unstructured data source. With Connect, Tanium can write data directly to Elasticsearch.

Specify general connection information

  1. On the Connect Overview page, scroll to the Connections section and click Create Connection.
  2. Enter a name and description for the connection.
  3. (Optional) In the General Information section, expand Advanced to configure the following settings:

    Log Level

    By default, the logging is set to Information. Set the log level to Trace or Debug if you are debugging the connection. To reduce the amount of logging, you can set the log level to Warning, Error, or Fatal.

    By default, the logging is set to Information. Set the log level to Trace or Debug if you are debugging the connection. To reduce the amount of logging, you can set the log level to Warning, Error, or Fatal.


    Minimum Pass Percentage

    Minimum percentage of the expected rows that must be processed for the connection to succeed.

    Memory Ceiling (GB)

    Maximum memory for the node process to run the connection.

Configure the connection source

The connection source determines what data you are sending to the destination. This data is usually information from Tanium, such as a saved question, question log, client status, or event. The settings vary depending on which source you choose.




If you want to use nested JSON for your Elasticsearch data, deselect the Flatten Results setting in the Advanced section for the source. If you leave the data flattened, a single JSON item with all of the rows is returned.

Configure Elasticsearch destination

  1. In the Configuration section, provide a name for the destination.
    • You can specify a unique name to save the configuration information as a new destination, or select an existing Elasticsearch destination from the list.
    • If you edit the settings for an existing destination, all connections that use that destination are affected.
    • To clone an existing destination, select the existing destination and change the name.
  2. Define a URL to access the Elasticsearch API.
    You can use a variable for the URL, as listed in Reference: Variables. The URL is in the following format:
    <protocol>://<elasticSearchHost>:<elasticSearchPort>/<index>/_bulk
    where:

    protocol

    Specifies the protocol for accessing the Elasticsearch server. (http or https). If you specify https for the URL, Secure is automatically selected to validate the Transport Layer Security (TLS) certificate. You can also select Trust on First Use to accept the certificate presented from the server and trust only that certificate for future connection runs.

    elasticSearchHost

    Specifies the fully qualified domain name (FQDN) or IP of the Elasticsearch server.

    elasticSearchPort

    Specifies the port on which the Elasticsearch server is listening. The default is: 9200.

    index

    Specifies the unique identifier for this API request. The common format for this identifier is: {name}-{0:yyyy.MM.dd}. This date format creates a unique index each day.

  3. In the Advanced section for the destination, define the Batch Size, which determines the number of messages to batch before sending data to Elasticsearch.
  4. If you have a proxy configured for your Tanium Module Server, select Use Tanium Module Server Proxy Setting. When selected, the proxy makes the outbound connection to the specified Elasticsearch instance provided in the URL.

Configure filters

(Optional) In the Configure Output > Filters section, you can specify filters to modify the data that you are getting from your connection source before it is sent to the destination.

For more information about the types of filters you can configure, see Reference: Filtering options.

Format data for Elasticsearch

In the Configure Output > Format > Advanced section, choose the columns that you want to use as an index in Elasticsearch. If a saved question is selected as a source, select Group columns by sensor to return the results as an array of objects instead of an array of simple value types. You cannot customize the columns with this option.

In the Configure Output > Columns section, you can change the Destination Label of each column and Value Type to force the column to be a String, Numeric, or Date/Time value.

If you choose Numeric for the value, you can specify a default value that is used if the data cannot be coerced into a numeric value. You can specify any negative or positive number.

If you choose Date/Time for the value, specify the format that you want to use for the column. For more information about using a variable, see Time stamp variables.


Schedule the connection

Connections can run at a highly configurable time interval, such as multiple times per hour, day, week, or month.

If you do not enable the schedule, the connection only runs when you manually run it.

Use the Schedule section to update the schedule:

  • Select Enable schedule.
  • In the Schedule Type, select Basic to build a schedule with the provided controls.
  • To view or edit the Cron expression directly, select Advanced - Define as a Cron Expression, and use the Advanced field to edit the Cron expression.




If a user that owns a scheduled connection is deleted, future scheduled instances of that connection do not run. For more information, see Problem: Scheduled connection owned by a deleted user no longer runs.

For more information about Cron syntax, see Reference: Cron syntax.

Save and verify connection

  1. After you enter the details for the connection, click Save.

    To save the connection and immediately run the connection, click Run and Save.

    If needed, resolve any errors or missing information. After the connection creates successfully, the connection details display.

  2. To view details when the connection runs, click the Logs tab.
  3. To view an individual run log, expand the row table.