Spec-Zone.ru › OpenTSDB

Информирование с помощью Nagios

OpenTSDB замечателен, но он (ещё) не является полной платформой мониторинга. Теперь, когда у вас есть набор метрик в OpenTSDB, вы хотите начать отправлять оповещения, когда пороги становятся слишком высокими. Это легко!

В каталоге tools находится скрипт Python check_tsd. Этот скрипт запрашивает данные из OpenTSDB и возвращает совместимый с Nagios вывод, который предоставляет состояние OK/ПРЕДУПРЕЖДЕНИЕ/КРИТИЧНО.

Параметры

Options:
  -h, --help      show this help message and exit
  -H HOST, --host=HOST  Hostname to use to connect to the TSD.
  -p PORT, --port=PORT  Port to connect to the TSD instance on.
  -m METRIC, --metric=METRIC
            Metric to query.
  -t TAG, --tag=TAG   Tags to filter the metric on.
  -d SECONDS, --duration=SECONDS
            How far back to look for data. Default 600s.
  -D METHOD, --downsample=METHOD
            Downsample function, e.g. one of avg, min, sum, max ... etc
  -W SECONDS, --downsample-window=SECONDS
            Window size over which to downsample.
  -a METHOD, --aggregator=METHOD
            Aggregation method: avg, min, sum (default), max .. etc
  -x METHOD, --method=METHOD
            Comparison method: gt, ge, lt, le, eq, ne.
  -r, --rate      Use rate value as comparison operand.
  -w THRESHOLD, --warning=THRESHOLD
            Threshold for warning.  Uses the comparison method.
  -c THRESHOLD, --critical=THRESHOLD
            Threshold for critical.  Uses the comparison method.
  -v, --verbose     Be more verbose.
  -T SECONDS, --timeout=SECONDS
            How long to wait for the response from TSD.
  -E, --no-result-ok  Return OK when TSD query returns no result.
  -I SECONDS, --ignore-recent=SECONDS
            Ignore data points that are that are that recent.
  -P PERCENT, --percent-over=PERCENT
            Only alarm if PERCENT of the data points violate the
            threshold.
  -N UTC, --now=UTC   Set unix timestamp for "now", for testing
  -S, --ssl       Make queries to OpenTSDB via SSL (https)

Полный список режимов усреднения и агрегации см. на странице http://opentsdb.net/docs/build/html/user_guide/query/aggregators.html#available-aggregators

Настройка Nagios

Поместите скрипт в свой путь Nagios и настройте команду следующим образом:

define command{
    command_name check_tsd
    command_line $USER1$/check_tsd -H $HOSTADDRESS$ $ARG1$
}

Затем определите хост в nagios для вашего сервера TSD. Вы можете предоставить ему команду проверки, которая гарантированно всегда вернёт что-то, если бэкенд здоров.

define host{
    host_name         tsd
    address         tsd
    check_command       check_tsd!-d 60 -m rate:tsd.rpc.received -t type=put -x lt -c 1
    [...]
}

Затем определите некоторые проверки служб для мониторинга интересующих вас показателей.

define service{
    host_name             tsd
    service_description       Apache too many internal errors
    check_command           check_tsd!-d 300 -m rate:apache.stats.hits -t status=500 -w 1 -c 2
    [...]
}

Тестирование

Если вы хотите протестировать свои параметры по отношению к определённой точке во времени, вы можете использовать параметр --now <UTC> для указания явного метки Unix, которая используется в качестве текущей метки времени вместо фактического текущего времени. Если он установлен, скрипт будет извлекать данные, начиная с UTC - duration, заканчивая UTC.

Чтобы увидеть полученные значения и потенциально пропущенные (из-за продолжительности), используйте опцию --verbose.

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/utilities/nagios.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API