Skip to main content

Tooling for submitting JSON dumps of Puppet reports to ElasticSearch

Project description

Summary

Send puppet reports to ElasticSearch.

Usage

Command

send_report_to_es [-h|--help] <directory>

Options

-h/--help   Show this help text and exit

Parameters

directory   A directory containing JSON reports. The script will
            walk the directory recursively, process all JSON files
            it finds, and submit the report data to ElasticSearch
            in a single bulk transaction.

Configuring

Configuration is read from the file specified in the environment variable PUPPET_ES_CONFIG (defaults to /etc/puppet_es.conf) and uses ConfigParser syntax. A sample configuration file is included as etc/puppet_es.conf.example.

Section: base

``on_error`` (optional) What to do with the report files when we encounter a parse error or an ElasticSearch error. Possible values:

  • delete Delete the file off disk

  • archive Move the file to the directory specified in archive_dir

  • ignore Leave the file as-is (default)

``on_success`` (optional) What to do with the report file after successfully posting to ElasticSearch. Possible values:

  • delete Delete the file off disk

  • archive Move the file to the directory specified in archive_dir

  • ignore Leave the file as-is (default)

``archive_dir`` (conditionally required) The directory to move files into when archive is set for on_error or on_success. Has no effect if neither of those is set to archive, and is required if either is set to archive.

Section: elasticsearch

``host`` (required) The fully qualified domain name for connecting to ElasticSearch over HTTP.

``port`` (required) The port for connecting to ElasticSearch over HTTP.

``index`` (optional) The index name to send data to. This can be a Python formatted string in the Formatter style, with the following available variables:

  • certname the certname the report is from

  • fqdn the fqdn of the node this script is running on

  • isoday the ISO day number for the report

  • isoweek the ISO week number for the report

  • isoyear the ISO year number for the report

  • day the numerical day of the year for the report

  • month the numerical month of the year for the report

  • year the year for the report

Defaults to 'puppet-{isoyear}.{isoweek}'

Section: logging

``level`` (optional) What message level to log. Valid options are those defined by the Python 2.7 logging module. Defaults to WARNING.

``stderr`` (optional) Boolean value about whether to print log messages to stderr. Defaults to false.

``syslog`` (optional) Boolean value about whether to print log messages to syslog. Defaults to true.

``file`` (optional) Filename for a file to write log messages into. Defaults to an empty value, meaning do not log to a file.

Configuring ElasticSearch

An example ElasticSearch template that supports the format this script uses can be found at etc/puppet_template.json.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puppet_es-0.8.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

puppet_es-0.8.1-py2-none-any.whl (7.1 kB view details)

Uploaded Python 2

File details

Details for the file puppet_es-0.8.1.tar.gz.

File metadata

  • Download URL: puppet_es-0.8.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for puppet_es-0.8.1.tar.gz
Algorithm Hash digest
SHA256 0cffb8442a99a40e0806cf8e68fee07e7a6708f6f0780f4cfe28ee5f0a47fbaf
MD5 b2f1a12316550ceea4c77dd6e434e253
BLAKE2b-256 f91e5994684ed2f72553111b9030c2b07fb3658e678af1cc0402290cff39b64f

See more details on using hashes here.

File details

Details for the file puppet_es-0.8.1-py2-none-any.whl.

File metadata

File hashes

Hashes for puppet_es-0.8.1-py2-none-any.whl
Algorithm Hash digest
SHA256 4abdbf5c25b3011d9f61b9b3599b403a071355bd40f45c804339ade1fe40950e
MD5 37f2b41178af4ce04d268cccb2a19abc
BLAKE2b-256 19041322cb55c95f4aeb2efcd82a4241da0e3966fe9861323f5c8eb0bfd502c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page