The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

es-graphite-static.pl - Gather performance metrics from an ES node and send them to Graphite

VERSION

version 5.6

SYNOPSIS

es-graphite-static.pl --format=graphite --host [host] [options]

Options:

    --help              print help
    --manual            print full manual
    --format            stats Format (graphite or cacti) (Default: graphite)
    --carbon-base       The prefix to use for carbon metrics (Default: general.es)
    --carbon-server     Send Graphite stats to Carbon Server (Automatically sets format=graphite)
    --carbon-port       Port for to use for Carbon (Default: 2003)
    --carbon-proto      Protocol for to use for Carbon (Default: tcp)
    --with-indices      Also send individual index stats

From App::ElasticSearch::Utilities:

    --local         Use localhost as the elasticsearch host
    --host          ElasticSearch host to connect to
    --port          HTTP port for your cluster
    --proto         Defaults to 'http', can also be 'https'
    --http-username HTTP Basic Auth username
    --http-password HTTP Basic Auth password (if not specified, and --http-user is, you will be prompted)
    --password-exec Script to run to get the users password
    --noop          Any operations other than GET are disabled, can be negated with --no-noop
    --timeout       Timeout to ElasticSearch, default 30
    --keep-proxy    Do not remove any proxy settings from %ENV
    --index         Index to run commands against
    --base          For daily indexes, reference only those starting with "logstash"
                     (same as --pattern logstash-* or logstash-DATE)
    --datesep       Date separator, default '.' also (--date-separator)
    --pattern       Use a pattern to operate on the indexes
    --days          If using a pattern or base, how many days back to go, default: all

See also the "CONNECTION ARGUMENTS" and "INDEX SELECTION ARGUMENTS" sections from App::ElasticSearch::Utilities.

From CLI::Helpers:

    --data-file         Path to a file to write lines tagged with 'data => 1'
    --color             Boolean, enable/disable color, default use git settings
    --verbose           Incremental, increase verbosity (Alias is -v)
    --debug             Show developer output
    --debug-class       Show debug messages originating from a specific package, default: main
    --quiet             Show no output (for cron)
    --syslog            Generate messages to syslog as well
    --syslog-facility   Default "local0"
    --syslog-tag        The program name, default is the script name
    --syslog-debug      Enable debug messages to syslog if in use, default false

DESCRIPTION

This script extract monitoring data from ElasticSearch and those statistics to a Graphite end point. It also support cacti, though support for cacti will likely be deprecated.

This script is called "static" as the author will attempt to handle statistics that are renamed by ElasticSearch.com so what all versions of ElasticSearch will produce the same output.

OPTIONS

help

Print this message and exit

manual

Print this message and exit

format

stats format:

    graphite        Use format for graphite/carbon (default)
    cacti           For use with Cacti
carbon-base

The prefix to use for metrics sent to carbon. The default is "general.es". Please note, the host name of the ElasticSearch node will be appended, followed by the metric name.

carbon-server

Send stats to the carbon server specified. This automatically forces --format=graphite and does not produce stats on STDOUT

carbon-port

Use this port for the carbon server, useless without --carbon-server

with-indices

Also grab data at the individual index level

AUTHOR

Brad Lhotsky <brad@divisionbyzero.net>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by Brad Lhotsky.

This is free software, licensed under:

  The (three-clause) BSD License