Skip to main content
Sumo Logic

Sumo Logic Open Source Projects

Sumo Logic provides open-source solutions and resources for customers via GitHub.

Sumo Logic Developers on GitHub

Sumo Logic Developers on GitHub is a central location that lists all of the open-source repositories that Sumo Logic is aware of. Repos are divided into three categories:

  1. Official Sumo Logic Repositories
  2. Sumo Experts
  3. Third-party Integrations

For complete details, visit http://sumologic.github.io/.

Sumo Logic GitHub

Browse the official Sumo Logic GitHub repository for CLI clients, Collectors, log appenders, and other tools that will enable you to send your data to Sumo Logic.

The following open-source solutions are collected in Sumo Logic’s GitHub repository at https://github.com/SumoLogic. For complete documentation of each solution, see the readme file.

Logging Integration Libraries

Solution Description

AWS Lambda

Sumo Logic Lambda Functions are designed to collect and process data from a variety of sources and pass it onto the Sumo Logic platform. Here, the data can be stored, aggregated, searched, and visualized for a variety of insightful use cases. For complete details, see Collect CloudWatch Logs Using a Lambda Function.

Azure

This library provides a collection of Azure functions to collect and send data to Sumo Logic.

Docker

This repository offers several variants of Docker images to run the Sumo Logic Collector. When images are run, the Collector automatically registers with the Sumo Logic service and create sources based on a sumo-sources.json file. The Collector is configured ephemeral.

FluentD

This plugin sends logs or metrics to Sumo Logic via an HTTP endpoint. 

Fluentd is an open source data collector that lets you unify data collection and consumption for a better understanding of your data. FluentD operates with some simple concepts. Input plugins push data into FluentD. Filter, Parser and Formatter plugins allow you to transform the data. Output plugins send it to a different destination. In addition to some powerful out-of-box plugins, it has a wide assortment of plugins that have been developed by the open source community. At Sumo Logic we have developed a FluentD Output Plugin that can deliver data from FluentD to Sumo Logic via an HTTP source. The output plugin is configurable to support all the functionality you would expect when sending data to Sumo Logic. See FluentD's documentation for more examples and information.

Example Configuration

<match **>
     @type sumologic
     endpoint https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX
     source_category prod/someapp/logs
</match>

In the above example, the <match **> configures the output plugin to send every tag in FluentD to Sumo Logic. This can be configured for more fine-grained filtering by specifying a more specific expression in the match configuration. We set the endpoint variable to the URL of our HTTP Source. We also set the source_category field to prod/someapp/logs so in Sumo Logic we can find these logs using _sourceCategory=prod/someapp/logs.

The plugin has multiple configuration options which you will in the README. Since this is an output plugin, any data you send to FluentD using the many Input plugins they offer can be easily sent to Sumo Logic.

Jenkins

A Sumo Logic Jenkins plugin.

Kinesis

The Kinesis-Sumologic Connector is a Java connector that acts as a pipeline between an Amazon Kinesis stream and a  Sumo Logic Collector. Data is fetched from the Kinesis Stream, transformed into a POJO, and then sent to the Sumologic Collection as JSON. For complete details, see Sumo Logic App for Amazon VPC Flow Logs using Kinesis.

Logback appender

This solution is a Logback appender that sends straight to Sumo Logic.

Logstash

This solution is a Logstash Sumo Logic output plugin.

Logstash is an open source server-side data processing pipeline that ingests data from many sources and simultaneously transforms it to then sends to other destinations. Like FluentD, Logstash operates with the same simple concepts where there are Input Plugins, Filter Plugins, and Output Plugins.  At Sumo Logic, we have developed an open source Output Plugin for LogStash. The output plugin is configurable to support all the functionality you would expect when sending data to Sumo Logic. The Logstash plugin repo has many examples and information on Logstash.

Example Configuration

output
{
    sumologic
    {
        url => "https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX
        source_category => "prod/someapp/logs"
    }
}

In the above configuration, any input plugins in the Logstash pipeline can be sent to Sumo Logic. In this example, we are specifying the HTTP Source's URL to send the logs to. We also set the source_category field to prod/someapp/logs so in Sumo Logic, we can find these logs using _sourceCategory=prod/someapp/logs.

The plugin has multiple configuration options which you can see in the README. Since this is an output plugin, any data you send to Logstash using the many input plugins they offer can be easily sent to Sumo Logic.

Log4J appender

This solution is a Log4J appender that sends straight to Sumo Logic.

Log4j2 appender

This solution is a Log4J 2 appender that sends straight to Sumo Logic.

Maven

This solution is a Maven plugin to report build statistics to Sumo Logic.

NET appenders

Several appenders for .NET developers to use that send logs straight to Sumo Logic.

okta-events

This solution is a Python script to collect event logs from Okta.

Scala

This solution provides a Scala logging library wrapping SLF4J and Log4j 2 in a convenient and performant fashion.

Metrics Integration Libraries

Solution Description

CollectD

This plugin sends metrics to Sumo Logic via an HTTP endpoint. 

CollectD gathers metrics from various sources such as the operating system, applications, logfiles, and external devices and stores or makes them available over your network. These metrics can be used to monitor systems, find performance bottlenecks, and predict future system load. CollectD operates similar to FluentD and Logstash, there are read plugins that read data from the source system as input into CollectD, and there are write plugins that output data to various systems. Sumo Logic has developed a write plugin that outputs metrics from CollectD to an HTTP Source.

Example Configuration

LoadPlugin python
<Plugin python>
    ModulePath "/path/to/sumologic-collectd-plugin"
    LogTraces true
    Interactive false
    Import "sumologic_collectd_metrics"

    <Module "sumologic_collectd_metrics">
        TypesDB "/path/to/your/collectd/share/collectd/types.db"
        URL "https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX
        SourceCategory "prod/someapp/logs”
    </Module>
</Plugin>

In the above configuration, any read plugins in the CollectD pipeline can be sent to Sumo Logic. In this example, we are specifying the HTTP Source's URL to send the logs to. We also set the SourceCategory field to prod/someapp/logs so in Sumo Logic we can find these metrics using _sourceCategory=prod/someapp/logs.

The plugin has multiple configuration options which you can see in the README. Since this is an output plugin, any data you send to CollectD using the many input plugins they offer can be easily sent to Sumo Logic.

Prometheus

The Prometheus Scraper provides a configurable mechanism to send Prometheus formatted metrics to Sumo Logic. 

Prometheus Exporters are an endpoint polled by the Prometheus server and answering any GET requests. An exporter serves the current snapshot of metrics when polled by the Prometheus server, there is no metric history kept by the exporter itself. Further, the exporter usually runs on the same host as the service or host it is monitoring. There are a number of open source exporters to interact with common technologies. Sumo Logic has developed an open source tool that can be used to ingest metrics from Prometheus Exporters.

Example Configuration

{
"targets": [
    {
      "name": "prod-someapp",
      "url": "localhost:3000/metrics",
      "sumo_http_url": "https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX",
     "source_category": "prod/someapp/metrics",
    }
  ]
}

In the above example, we have a Prometheus exporter running localhost:3000/metrics. The above configuration will let the Prometheus Scraper extract those metrics from the exporter, and deliver them to Sumo Logic at the configured sumo_http_url. We also set the source_category field to prod/someapp/metrics so in Sumo Logic we can find these metrics using _sourceCategory=prod/someapp/metrics.  

This is just an example, and the Prometheus Scraper supports many additional configuration options which you will find in the README. Any data that is exposed using a Prometheus Exporter can be collected using this tool.

StatsD

See Collect StatsD Metrics for information.

Tools

Solution Description

dmail

A simple way to capture a screenshot of a Sumo Logic Dashboard, which is then embedded into an email.

livetail-cli

The Live Tail Command Line Interface (CLI) is a standalone application that allows you to start and use a Live Tail session from the command line, similar to tail -f The output is directed to stdout - so you can pipe the output to commands (grep, awk, etc.). For complete details, see Live Tail CLI.

sumo-report-generator

This tool allows a user to execute multiple searches, and compile the data in a single report. Currently, the only format is Excel. Each tab in Excel would correspond to a search executed in Sumo Logic. NOTE: You must have access to the Sumo Search API in order to use this tool.

sumobot

This solution is a Sumo Logic Slack bot.

Terraform

Terraform provider for Sumo Logic.

 

API Clients and Management Scripts

Solution Description

collector-management-client

This solution is A Python script for quickly managing a subset of Installed Collectors.

sumo-collector-puppet-module

This solution is a Puppet module for installing the Sumo Logic Collector. This downloads the Collector from the Internet, so Internet access is required on your machines.

sumo-java-client

This library provides a Java client to execute searches on the data collected by Sumo Logic.

sumo-powershell-sdk

This is a community-supported Windows PowerShell Module to work with the Sumo Logic REST API. It is free and open source, subject to the terms of the Apache 2.0 license.

sumologic-collector-chef-cookbook

This solution is a Chef Cookbook for installing and configuring the Sumo Logic Collector. The Cookbook installs the Collector or updates an existing one if it was set to use Local Configuration File Management.

sumologic-python-sdk

This solution is a Community-supported Python interface to the Sumo Logic REST API.