@mapbox/sumodeprecated

A Node.js SDK for Sumo Logic's Search Job API

Usage no npm install needed!

<script type="module">
  import mapboxSumo from 'https://cdn.skypack.dev/@mapbox/sumo';
</script>

README

sumo

A Node.js SDK for Sumo Logic's Search Job API

API

createReadStream

Create a readable stream of messages or records that result from a Sumo Logic search. Messages are the raw log messages, records are the result of a search with some form of aggregation (e.g. count by _sourceCategory). Credentials can be provided explicitly, or read from environment variables: SUMO_LOGIC_ACCESS_ID and SUMO_LOGIC_ACCESS_KEY.

Parameters

  • type string one of messages or records
  • search object Sumo Logic search parameters
    • search.query string the query string
    • search.from number the starting timestamp in ms
    • search.to number the ending timestamp in ms
    • search.auth object? Sumo Logic credentials
      • search.auth.accessId string? Sumo Logic access ID
      • search.auth.accessKey string? Sumo Logic access key
  • options object readable stream options

Examples

const sumo = require('@mapbox/sumo');
const search = {
  query: '"error" | count by _sourceCategory',
  from: 1487733054071,
  to: 1487733356114,
  auth: {
    accessId: xxx,
    accessKey: xxxx
  }
};
const messages = sumo.createReadStream('messages', search);
messages.on('data', (msg) => console.log(msg));

Returns object a readable stream of messages or records

search

Perform a search limited to less that 100 results. This will return both raw messages and aggregate records where applicable. Credentials can be provided explicitly, or read from environment variables: SUMO_LOGIC_ACCESS_ID and SUMO_LOGIC_ACCESS_KEY.

Parameters

  • search object Sumo Logic search parameters
    • search.query string the query string
    • search.from number the starting timestamp in ms
    • search.to number the ending timestamp in ms
    • search.limit number? the maximum number of messages/records (optional, default 100)
    • search.auth object? Sumo Logic credentials
      • search.auth.accessId string? Sumo Logic access ID
      • search.auth.accessKey string? Sumo Logic access key
  • callback function? a function to call with the results

Examples

const sumo = require('@mapbox/sumo');
const search = {
  query: '"error" | count by _sourceCategory',
  from: 1487733054071,
  to: 1487733356114,
  auth: {
    accessId: xxx,
    accessKey: xxxx
  }
};
sumo.search(search, (err, data) => {
  if (err) throw err;
  data.messages.forEach((msg) => console.log(msg));
  data.records.forEach((rec) => console.log(rec));
});

Returns promise resolves with the results, an object with two properties, each of which are an array: .messages and .records