stacklight (aka lma)

12
Copyright © 2015 Mirantis, Inc. All rights reserved www.mirantis.com StackLight (aka LMA) Текущее состояние и планы на ближайшее будущее

Upload: openstackrussia

Post on 11-Apr-2017

111 views

Category:

Technology


1 download

TRANSCRIPT

Copyright © 2015 Mirantis, Inc. All rights reserved

www.mirantis.com

StackLight (aka LMA)

Текущее состояние и планы на ближайшее будущее

Copyright © 2015 Mirantis, Inc. All rights reserved

Главные идеи, заложенные в основу StackLight

● Мы попытались не изобретать колесо, а использовать существующие решения, кастомезировав их под свои нужды и собрав всё вместе в один toolchain

● Охватывает все этапы: сбор данных, обработка и анализ, хранение, alarming и визуализация

● StackLight знает всё про MOS, центральным является понятие “кластер”● Является hot-pluggable Fuel плагином, т.е. может быть установлен в два

клика даже на работаеющем окружении● Scalability - главная цель, продукт был сделан scalable с самого начала● StackLight состоит из большого количества плагинов и скриптов, поэтому

написание новых планинов является естественным вариантом работы со StackLight

● Встроенный механизм обнаружения аномалий и несправностей там, где это действительно нужно (всё является configurable)

● Процессинг метрик происходит в отдельном pipieline со своим внутренним представлением, т.е. никак не влияет на процесс получения метрик

● Работает как stream processing и correlation engine (не централизованно)● Богатая коллекция встроенных метрик

Copyright © 2015 Mirantis, Inc. All rights reserved

Из чего состоит StackLight toolchain

1. Collector плагин отвечает за сбор данных, их аггрегацию и анализ (Mozilla Heka, collectd)

2. InfluxDB-Grafana плагин отвечает за хранение time-series-данных и их визуализацию

3. Elasticsearch-Kibana плагин отвечает за хранение логов и нотификаций и их визуализацию

4. Infrastructure Alerting плагин отвечает за сообщение о проблемах в окружении (Nagios)

Copyright © 2015 Mirantis, Inc. All rights reserved

Сердце StackLight Collector - это Mozilla Heka

Heka - это “Swiss Army Knife” для data processing… Heka processing pipeline состоит из переиспользуемых и достаточно атомарных частей: input -> split -> decode -> route -> process -> encode -> output

● AMQP Input● Docker Event Input● Docker Log Input● File Polling Input● HTTP Input● HTTP Listen Input● Kafka Input● Logstreamer Input● Process Input● Process Directory Input● Sandbox Input● Stat Accumulator Input● Statsd Input● TCP Input● UDP Input

● AMQP Output● Carbon Output● Dashboard Output● ElasticSearch Output● File Output● HTTP Output● IRC Output● Kafka Output● Log Output● Nagios Output● Sandbox Output● SMTP Output● TCP Output● UDP Output● Whisper Output

Встроенные Heka input плагины

Встроенные Heka output плагиныHeka Lua sandbox data

processing stream

Copyright © 2015 Mirantis, Inc. All rights reserved

Какие типы метрик существуют

● AFD метрики для конкретных процессов, системных ресурсов таких как WSGI-server, cpu, ram...Они создаются AFD-плагинами, которые выполняют аларм-правила

● GSE Service Cluster метрики для серверных кластеров, таких как RabbitMQ, MySQL, nova-api или nova-scheduler

● GSE Node Cluster метрики для нод-кластеров таких как storage, compute или controller-кластера

● GSE Meta Cluster метрики для мета-кластеров таких как nova, cinder, control-plane или data-plane

Понятие “кластер” задается явным образом с помощью YAML файлов

Copyright © 2015 Mirantis, Inc. All rights reserved

Cluster monitoring stream processing (TBD)

log

notif

decoderplugin

decoderplugin

decoderplugin

transformerplugin metric

metric

loglog

decoderplugindecoder

plugin

decoderplugindecoder

plugin

decoderplugin

transformerplugin metric

AFD pluginalarm rules

AFD pluginalarm rules

metricmetric

notifnotif

rabbitmqAFD metric

node AFD metric

AFD pluginalarm rules

rabbitmq AFD metric

GSE node cluster plugin

GSE service cluster plugin rabbitmq

cluster GSE metric

node cluster GSE metric

GSE meta cluster plugin

decoderplugindecoder

plugin

nova-api check plugin

metric nova-apiAFD metricmetric nova-api

cluster GSE metric

meta cluster GSE metric

StackLight CollectorЗдесь мы определяем, что что-то пошло не так

StackLight AggregatorЕсли что-то пошло не так, здесь мы

определяем, как проблемы могут быть связаны друг с другом

Эти Lua-плагины генерируются автоматически на основе конфигурируемых YAML описаний алармов и правил аггрегацииdecoder

plugin

Copyright © 2015 Mirantis, Inc. All rights reserved

● Может собирать всё, что угодно

● Может обрабатывать что угодно

● Может общаться с чем угодно

● Можно использовать только те части, которые нужны

● Мощные declarative definition для алармов, правил аггрегации и корреляции

StackLight лучше рассматривать как monitoring platform, а не monitoring system

Мы решили воспользоваться всем перечисленным здесь и расширить функционал StackLight ещё больше

Copyright © 2015 Mirantis, Inc. All rights reserved

Мониториг OpenStack ресурсов?

1. В 0.9 версии впервые добавлен мониторинг vm, созданныз через libvirt

2. В 1.0 планируем интеграцию с Ceilometer. Ceilometer будет поставлять все собранные данные прямо в StackLight. Для этого были решены проблемы:a. Ceilometer observer effect был значительно уменьшен

добавлением кэша на compute agent’ах (изменение пошло в upstream)

b. Написан InfluxDB-драйвер для поддержки Ceilometer API

Copyright © 2015 Mirantis, Inc. All rights reserved

StackLight Demo

Copyright © 2015 Mirantis, Inc. All rights reserved

Questions?

[email protected]