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

NAME

es-graphite-dynamic.pl - Dynamically gather metrics and send to graphite

VERSION

version 2.6

SYNOPSIS

es-graphite-dynamic.pl --host [host] [options]

Options:

    --help              print help
    --manual            print full manual
    --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
    --ignore            Comma separated list of keys to ignore in collection

From App::ElasticSearch::Utilities:

    --local         Use localhost as the elasticsearch host
    --host          ElasticSearch host to connect to
    --port          HTTP port for your cluster
    --noop          Any operations other than GET are disabled
    --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

ARGUMENT GLOBALS

Some options may be specified in the /etc/es-utils.yaml or $HOME/.es-utils.yaml file:

    ---
    host: esproxy.example.com
    port: 80
    timeout: 10

From CLI::Helpers:

    --color             Boolean, enable/disable color, default use git settings
    --verbose           Incremental, increase verbosity
    --debug             Show developer output
    --quiet             Show no output (for cron)

DESCRIPTION

This script collects interesting monitoring data from the ElasticSearch cluster and maps that data directly into Graphite. If ElasticSearch changes the names of data, those changes will be reflected in the metric path immediately.

OPTIONS

help

Print this message and exit

manual

Print this message and exit

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, will not append hostnames as this is useless. It will map the data into "$CARBON_BASE.cluster.$CLUSTERNAME.$INDEX..."

ignore

A comma separated list of keys to ignore when parsing the tree. This is in addition to the default ignore list: attributes,id,timestamp,upms,_all,_shards

Examples:

    es-graphite-dynamic.pl --with-indices --ignore primaries,get,warmer

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