Обзор архитектуры и подсистем деплоя и мониторинга....
-
Upload
ontico -
Category
Engineering
-
view
696 -
download
2
Transcript of Обзор архитектуры и подсистем деплоя и мониторинга....
![Page 1: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/1.jpg)
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки.Константин Никифоров
![Page 2: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/2.jpg)
Содержание• Структура нашего puppet.
Организация выкладки.• Graphite как способ
визуализации работы проекта.
• Как объединяем puppet, graphite и мониторинг.
![Page 3: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/3.jpg)
Environments и базовые настройки
• GIT как хранилище манифестов.
• Каждому пользователю по своему environment.
• Base - един для всех нод.
![Page 4: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/4.jpg)
Hiera общие переменные
ОС
площадка
роль
Host
![Page 5: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/5.jpg)
Соглашения о написании манифестов
• обнови ( версию )• не спали ( пароли )• расскажи ( всем )
![Page 6: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/6.jpg)
deploy.sh • мастер• мастер на дату• определенный
коммит• выложить и
залочить
![Page 7: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/7.jpg)
Порядок действийBranch
Редактируем
Тестируем из environment
Merge в мастер
deploy.sh
![Page 8: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/8.jpg)
3 уровня масштабирования
• DNS• динамическая
маршрутизация • nginx upstream
![Page 9: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/9.jpg)
Альтернативный puppet kickname
status
last_check, last_update, last_connect
kick
lock,lock_user
![Page 10: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/10.jpg)
Graphite прост• хранит числа• показывает числа
3 кита• carbon • whisper, ceres• graphite-web
![Page 11: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/11.jpg)
Метрики• стандартные
метрики серверов• метрики
приложений• сложно получаемые
метрики
![Page 12: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/12.jpg)
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: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/13.jpg)
Проблемы Graphite• Огромный udp
pps• Кластеризация• Медленный
carbon
![Page 14: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/14.jpg)
go-carbon
6-8 млн метрик в минуту
E5-2620 v2; 64G RAM; 16*SAS 512GB
![Page 15: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/15.jpg)
Черный мониторингФункционал клиентской части• собирает метрики и шлет в Graphite• собирает информацию о хосте и шлет в свой
коллектор• генерирует и пушит сообщения в
мониторинг
Функционал серверной части• Прием и отображение ошибок и мониторинг
своих клиентов• Отображение собранной информации о
хостах• Экспорт ошибок в "большой мониторинг"
![Page 16: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/16.jpg)
Информация для разработки
• манифесты puppet • где и какой софт работает• какие машины свободны• конфигурация любого сервера и его
расположение• история метрик серверов более чем за 3 года• история алертов за все время• история изменений в production окружении
![Page 17: Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систему прозрачной для разработки](https://reader030.fdocument.pub/reader030/viewer/2022032613/586f91701a28ab54768b7c4f/html5/thumbnails/17.jpg)
Спасибо за вниманиеhttp://graphite.readthedocs.org
Спасибо разработчикам за помощь и содействие.
https://github.com/mailru/graphite-nginx-moduleМихаил Кириченко, Александр Быков
https://github.com/lomik/go-carbonРоман Ломоносов