Обзор архитектуры и подсистем деплоя и мониторинга....

17
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки. Константин Никифоров

Upload: ontico

Post on 16-Apr-2017

700 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки.Константин Никифоров

Page 2: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Содержание• Структура нашего puppet.

Организация выкладки.• Graphite как способ

визуализации работы проекта.

• Как объединяем puppet, graphite и мониторинг.

Page 3: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Environments и базовые настройки

• GIT как хранилище манифестов.

• Каждому пользователю по своему environment.

• Base - един для всех нод.

Page 4: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Hiera общие переменные

ОС

площадка

роль

Host

Page 5: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Соглашения о написании манифестов

• обнови ( версию )• не спали ( пароли )• расскажи ( всем )

Page 6: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

deploy.sh • мастер• мастер на дату• определенный

коммит• выложить и

залочить

Page 7: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Порядок действийBranch

Редактируем

Тестируем из environment

Merge в мастер

deploy.sh

Page 8: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

3 уровня масштабирования

• DNS• динамическая

маршрутизация • nginx upstream

Page 9: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Альтернативный puppet kickname

status

last_check, last_update, last_connect

kick

lock,lock_user

Page 10: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Graphite прост• хранит числа• показывает числа

3 кита• carbon • whisper, ceres• graphite-web

Page 11: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Метрики• стандартные

метрики серверов• метрики

приложений• сложно получаемые

метрики

Page 12: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

graphite-nginx-module• собирает и агрегирует статистику• работает в неблокирущем режиме• набор отображаемых метрик может

быть дополнен

Стандартные метрикиbody_bytes_sent, bytes_sent, content_time, gzip_time, keepalive_rps, request_length, rps, ssl_cache_usage, ssl_handshake_time, upstream_time

Page 13: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Проблемы Graphite• Огромный udp

pps• Кластеризация• Медленный

carbon

Page 14: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

go-carbon

6-8 млн метрик в минуту

E5-2620 v2; 64G RAM; 16*SAS 512GB

Page 15: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Черный мониторингФункционал клиентской части• собирает метрики и шлет в Graphite• собирает информацию о хосте и шлет в свой

коллектор• генерирует и пушит сообщения в

мониторинг

Функционал серверной части• Прием и отображение ошибок и мониторинг

своих клиентов• Отображение собранной информации о

хостах• Экспорт ошибок в "большой мониторинг"

Page 16: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Информация для разработки

• манифесты puppet • где и какой софт работает• какие машины свободны• конфигурация любого сервера и его

расположение• история метрик серверов более чем за 3 года• история алертов за все время• история изменений в production окружении

Page 17: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки

Спасибо за вниманиеhttp://graphite.readthedocs.org

Спасибо разработчикам за помощь и содействие.

https://github.com/mailru/graphite-nginx-moduleМихаил Кириченко, Александр Быков

https://github.com/lomik/go-carbonРоман Ломоносов