sumo

Install and manage the Sumo Logic collector and its log sources.

18,454 downloads

12,031 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 1.4.2 (latest)
  • 1.4.0
  • 1.3.3
  • 1.3.2
  • 1.1.0
  • 0.1.2
  • 0.1.1
released Feb 9th 2019
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.10 < 7.0.0
  • , , , , Debian

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'pjorg-sumo', '1.4.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add pjorg-sumo
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install pjorg-sumo --version 1.4.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: logs, sumologic

Documentation

pjorg/sumo — version 1.4.0 Feb 9th 2019

Reference

Table of Contents

Classes

  • sumo: == Class: sumo This class initializes the module by calling subclasses that ensure the package is installed and the sumo.conf file exists.
  • sumo::config: sumo::config This class performs all configuration actions for the collector package.
  • sumo::install: sumo::install Performs package installation of the collector package. This class assumes the package is avaialble to the platform's native p
  • sumo::params: sumo::params Default values for parameters used in the module.
  • sumo::service: sumo::service Controls the desired state of the collector service.

Defined types

  • sumo::conf: sumo::conf This class manages the sumo.conf file, which the collector uses to perform initial setup.
  • sumo::localfilesource: sumo::localfilesource Creates a local file source for the collector to ingest from. This is done by creating a JSON file under the syncSourc
  • sumo::remotefilesource: sumo::remotefilesource Creates a remote file source for the collector to ingest from. This is done by creating a JSON file under the syncSou
  • sumo::syslogsource: sumo::syslogsource Creates a syslog source for the collector to ingest from. This is done by creating a JSON file under the syncSources dire

Classes

sumo

== Class: sumo

This class initializes the module by calling subclasses that ensure the package is installed and the sumo.conf file exists.

=== Parameters

The parameters of this class mirror those that are used in the sumo.conf file. Additional information on what these parameters do can be found in the Sumo Logic documentation of the sumo.conf configuration file.

[accessid] Specify the accessid to use to authenticate to the Sumo Logic service. If you use this parameter, you must also pass an accesskey, and you must NOT pass email or password.

[accesskey] Specify the accesskey to use to authenticate to the Sumo Logic service. If you use this parameter, you must also pass an accessid, and you must NOT pass email or password.

[clobber] A boolean indicating whether to clobber the an existing collector with the same name.

[collectorname] The name of the collector. Defaults to the hostname.

[email] Specify the email address of the account to use to authenticate to the Sumo Logic service. If you use this parameter, you must also pass a password, and you must NOT pass accessid or accesskey.

[ephemeral] A boolean indicating whether the collector should be deleted automatically after being offline for 12 hours.

[purge_sumo_sources_d] Boolean indicating if /etc/sumo.sources.d should be managed. If true, it will enable purging so files not managed by Puppet will be removed. Default is false.

[override] A boolean indicating whether the collector should delete existing log sources amd use only what is described in the sources parameter.

[password] Specify the password of the account to use to authenticate to the Sumo Logic service. If you use this parameter, you must also pass an email, and you must NOT pass accessid or accesskey.

[proxyhost] The host name of a proxy to use to connect to Sumo Logic.

[proxyntlmdomain] When using an NTLM proxy, the domain of the user used to authenticate.

[proxypassword] The password to use when authenticating to a proxy.

[proxyport] The TCP port to connect to the proxy on.

[proxyuser] The username to use when authenticating to a proxy.

[sources] Path to JSON file that contains Source configuration.

[syncsources] The path to a JSON file or a directory containing JSON files with source configurations. This path is continually monitored for changes. By default, the module sets this to a directory and uses this directory to pass source configurations to the collector.

=== Examples

A basic example, using username/password and without any sources:

class sumo { email => 'user@example.com', password => 'usersPassword123!', }

A more advanced example, using a Sumo accessid and with a local file source:

class sumo { accessid => 'SumoAccessId', accesskey => 'SumoAccessKey_123ABC/&!', } sumo::localfilesource { 'messages': sourcename => 'message_log' pathexpression => '/var/log/messages', }

=== Authors

Peter D. Jorgensen pdjorgensen@gmail.com

=== Copyright

Copyright 2016 Peter D. Jorgensen, unless otherwise noted.

Parameters

The following parameters are available in the sumo class.

accessid

Data type: Any

Default value: $::sumo::params::accessid

accesskey

Data type: Any

Default value: $::sumo::params::accesskey

clobber

Data type: Any

Default value: $::sumo::params::clobber

collectorname

Data type: Any

Default value: $::sumo::params::collectorname

email

Data type: Any

Default value: $::sumo::params::email

ephemeral

Data type: Any

Default value: $::sumo::params::ephemeral

purge_sumo_sources_d

Data type: Any

Default value: $::sumo::params::purge_sumo_sources_d

override

Data type: Any

Default value: $::sumo::params::override

password

Data type: Any

Default value: $::sumo::params::password

proxyhost

Data type: Any

Default value: $::sumo::params::proxyhost

proxyntlmdomain

Data type: Any

Default value: $::sumo::params::proxyntlmdomain

proxypassword

Data type: Any

Default value: $::sumo::params::proxypassword

proxyport

Data type: Any

Default value: $::sumo::params::proxyport

proxyuser

Data type: Any

Default value: $::sumo::params::proxyuser

sources

Data type: Any

Default value: $::sumo::params::sources

syncsources

Data type: Any

Default value: $::sumo::params::syncsources

syncsourceswithsinglejson

Data type: Any

Default value: $::sumo::params::syncsourceswithsinglejson

sumo::config

sumo::config

This class performs all configuration actions for the collector package.

sumo::install

sumo::install

Performs package installation of the collector package. This class assumes the package is avaialble to the platform's native package management tool.

sumo::params

sumo::params

Default values for parameters used in the module.

sumo::service

sumo::service

Controls the desired state of the collector service.

Defined types

sumo::conf

sumo::conf

This class manages the sumo.conf file, which the collector uses to perform initial setup.

Parameters

The following parameters are available in the sumo::conf defined type.

accessid

Data type: Any

Default value: undef

accesskey

Data type: Any

Default value: undef

clobber

Data type: Any

Default value: undef

email

Data type: Any

Default value: undef

ephemeral

Data type: Any

Default value: undef

collectorname

Data type: Any

Default value: undef

override

Data type: Any

Default value: undef

password

Data type: Any

Default value: undef

proxyhost

Data type: Any

Default value: undef

proxyntlmdomain

Data type: Any

Default value: undef

proxypassword

Data type: Any

Default value: undef

proxyport

Data type: Any

Default value: undef

proxyuser

Data type: Any

Default value: undef

sources

Data type: Any

Default value: undef

syncsources

Data type: Any

Default value: undef

syncsourceswithsinglejson

Data type: Any

Default value: undef

sumo::localfilesource

sumo::localfilesource

Creates a local file source for the collector to ingest from. This is done by creating a JSON file under the syncSources directory that is configured in sumo.conf.

Parameters

The following parameters are available in the sumo::localfilesource defined type.

pathexpression

Data type: Any

ensure

Data type: Any

Default value: present

sourcename

Data type: Any

Default value: $title

description

Data type: Any

Default value: undef

category

Data type: Any

Default value: undef

hostname

Data type: Any

Default value: undef

timezone

Data type: Any

Default value: undef

automaticdateparsing

Data type: Any

Default value: undef

multilineprocessingenabled

Data type: Any

Default value: undef

useautolinematching

Data type: Any

Default value: undef

manualprefixregexp

Data type: Any

Default value: undef

forcetimezone

Data type: Any

Default value: undef

defaultdateformat

Data type: Any

Default value: undef

filters

Data type: Any

Default value: undef

blacklist

Data type: Any

Default value: undef

encoding

Data type: Any

Default value: undef

sumo::remotefilesource

sumo::remotefilesource

Creates a remote file source for the collector to ingest from. This is done by creating a JSON file under the syncSources directory that is configured in sumo.conf.

Parameters

The following parameters are available in the sumo::remotefilesource defined type.

remotepath

Data type: Any

remotehosts

Data type: Any

remoteport

Data type: Any

remoteuser

Data type: Any

authmethod

Data type: Any

ensure

Data type: Any

Default value: present

sourcename

Data type: Any

Default value: $title

description

Data type: Any

Default value: undef

category

Data type: Any

Default value: undef

hostname

Data type: Any

Default value: undef

timezone

Data type: Any

Default value: undef

automaticdateparsing

Data type: Any

Default value: undef

multilineprocessingenabled

Data type: Any

Default value: undef

useautolinematching

Data type: Any

Default value: undef

manualprefixregexp

Data type: Any

Default value: undef

forcetimezone

Data type: Any

Default value: undef

defaultdateformat

Data type: Any

Default value: undef

filters

Data type: Any

Default value: undef

blacklist

Data type: Any

Default value: undef

remotepassword

Data type: Any

Default value: undef

keypath

Data type: Any

Default value: undef

keypassword

Data type: Any

Default value: undef

sumo::syslogsource

sumo::syslogsource

Creates a syslog source for the collector to ingest from. This is done by creating a JSON file under the syncSources directory that is configured in sumo.conf.

Parameters

The following parameters are available in the sumo::syslogsource defined type.

protocol

Data type: Any

port

Data type: Any

ensure

Data type: Any

Default value: present

sourcename

Data type: Any

Default value: $title

description

Data type: Any

Default value: undef

category

Data type: Any

Default value: undef

hostname

Data type: Any

Default value: undef

timezone

Data type: Any

Default value: undef

automaticdateparsing

Data type: Any

Default value: undef

multilineprocessingenabled

Data type: Any

Default value: undef

useautolinematching

Data type: Any

Default value: undef

manualprefixregexp

Data type: Any

Default value: undef

forcetimezone

Data type: Any

Default value: undef

defaultdateformat

Data type: Any

Default value: undef

filters

Data type: Any

Default value: undef