Size: a a a

DevOps Jobs - работа и аналитика

2020 May 24

ДА

Дмитрий Андреев... in DevOps Jobs - работа и аналитика
Gregory Tsvetkov
Одно жирное и приходит. Раз в 10 минут
https://i.imgur.com/Ucz68Zv.png
Сентри склеивает повторяющиеся трейсы в одно событие, при интеграции с репозиторием позволяет вразу переходить на нужные места, можно пинговать сентри прр каждом деплое и он начнет показывать, после которого всё скорее всего сломалось. Интеграции со многими фреймворками позволяют эспозить всякую информацию типа распарсенного запроса, под каким юзером происходило и на каком урле, ну и кастомные поля докидывать. При использовании стандартной для фреймворка авторизации всякое палево типа паролей автоматически вычитается (ну и свои правила можно дозадать). Разным апи ключа можно задать свои рейт лимиты чтобы все не засрали.

И обычно этот условный сентри заодно позволяет собирать ошибки с мобильных приложений и js с браузеров.
источник

ДА

Дмитрий Андреев... in DevOps Jobs - работа и аналитика
Тупо более заточенное и из-за этого более удобное для своей задачи средство, чем просто парсить трейсы из логов
источник

Д

Даня in DevOps Jobs - работа и аналитика
А есть какой-то шаблон для написания экспортера на го?
источник

Д

Даня in DevOps Jobs - работа и аналитика
Об этом же речь шла в контексте метрик
источник

ДА

Дмитрий Андреев... in DevOps Jobs - работа и аналитика
Mikhail Krivoshein
Я пишу о том, что редко выходит, когда по логам можно вычленить пограничные состояния в поведении системы автоматически, без того, чтобы "эксперт" их разглядел лично. В итоге уведомления либо сыплются тогда, когда не нужно, либо не сыплются совсем.  Для мониторинга проблем эффективнее следить за SLA, как я понимаю. SLA проще задать формулами. И чтоб бизнес ещё подписался, что годится. Но это моё личное мнение сейчас
Так места, где эксепшны вылазят,  фиксить надо. Тогда новые будут хорошо заметны. А то звучит как прикрутить статический анализ, но забивать на все его находки и жаловаться,  что пользы не возникло
источник

GG

George Gaál in DevOps Jobs - работа и аналитика
Дмитрий Андреев
Тупо более заточенное и из-за этого более удобное для своей задачи средство, чем просто парсить трейсы из логов
+++
источник

GG

George Gaál in DevOps Jobs - работа и аналитика
Даня
А есть какой-то шаблон для написания экспортера на го?
В смысле ?
источник

GG

George Gaál in DevOps Jobs - работа и аналитика
Re: Jepsen Disputes MongoDB's Data Consistency Claims
       
In the circles I run in, MongoDB is regarded as a joke and the company behind it as basically duplicitous. For example, they still list Facebook as their first user of MongoDB on their website, for example, but there is no MongoDB use in Facebook hasn't been for years (it came in only via a startup acquisition).

I had the misfortune to use MongoDB at a previous job. The replication protocol wasn't atomic. You would find partial records that were never fixed in replicas. They claimed they fixed that in several releases, but never did. The right answer turned out to be to abandon MongoDB.
       
madhadron, 2 hours ago
источник

GG

George Gaál in DevOps Jobs - работа и аналитика
Насчёт монги
источник

VS

Vadim Sokoltsov in DevOps Jobs - работа и аналитика
George Gaál
​​Мы в iGooods лежали почти полдня. Стыдно! Зря я угорал вчера над утконосом, что они упали. Поделюсь честно, от чего мы лежали. Это подробный постмортем аварии с техническими подробностями, мама, извини.



Из-за коронавируса к нам начали приходить в 2-3 раза больше клиентов, чем обычно. Плюс у нас на днях запускается два новых партнерства — с Joom и с магазинами Лента. Серверы работали на 40-60 процентах емкости и мы решили «добавить железа». В 6 вечера мы налили пару новых машин в кластер приложений, в час ночи по Москве — перетащили базу на новую, ультра мощную тачку. Обе операции — необычные для iGooods, множество вещей делалось руками. Ошибка №0 — мы сделали 2 крупных изменения близко друг с другом

В 7 утра по Москве, сервер базы данных начал плавиться от нагрузки в процессор. Это компьютер с 70 ядрами, но базе нужно было минимум 300. Запросов было вроде бы не сильно больше, чем обычно, но занимали они всё больше времени. Люди просыпались у себя дома и начинали делать заказы — сервера умирали, сайт не открывался, приложения выдавали ошибки. Самое опасное — курьеры и сборщики заказов выходили на работу и не могли работать.

Мы, конечно, думали, что сможем быстро починить проблему. Через час стало понятно, что нужно хотя бы временное решение. Мы выключили все пользовательские интерфейсы iGooods, оставив рабочей только админку и внутренние приложения курьеров и пикеров (сборщиков заказов). Ошибка №1 — в случае аварии не нужно пытаться «сделать хорошо», нужно определить критичные сервисы и восстановить их первым делом.

Мы решили, что проблема в новой базе данных. Мало ли, конфигурация, железо, да хоть драйверы. Попытались вернуться на старый сервер. Мы не сохранили WAL логи между переездами, так что вместо 3 минут эта операция заняла 40 минут — пришлось перегнать всю базу данных между серверами. Мы планировали откат для приложений, но не для переноса базы — он нам казался довольно безопасной операцией. Ошибка №2 — мы решили, что «уж тут-то не взорвется», на самом деле вместе с любым изменением нужно продумывать пути отката.

Возвращение на старый сервер базы данных не помогло. Каждый раз, когда мы включали пользовательские приложения — база данных мгновенно уходила в несознанку и работа бэкофиса парализовалась. Сайт и мобильные приложения к тому моменту лежали уже больше нескольких часов. Самое страшное — мы всё ещё не были уверены, что проблема не в базе данных.

В конце концов, Женя случайно заметили ошибку, что наше rails приложение не может записать в redis-кеш. BINGO! Вот тут всё наконец-то встало на свои места. В нашем приложении есть много страниц, которые собираются очень долго. Все они кешируются rails'ами в redis. И вот этот редис кеш у нас отвалился на запись на части серверов приложений из-за кривых настроек окружения (душераздирающие подробности приложены картинкой). Кеш протухал постепенно и с каждой потерянной записью все больше тяжелых запросов грузили Postgres. Ошибки №3, 4 и 5: настройка тачек производится руками, не кодом; логи переполнены, так что сложно заметить новую ошибку; не все важные сервисы (redis, rails cache) включены в мониторинг.

Как вы можете видеть, всё довольно банально. Будь у нас настроена нормальная рабочая среда — не было бы такой аварии.

Итак, чего нам не хватило и что мы приведем в порядок:
- инфраструктура в коде (полный ansible вместо хождения руками на серверы);
- хороший, чистый мониторинг всех ключевых метрик приложения,  APM — за день до аварии мы включили Datadog, но ещё не было нормальных дэшбордов и исторических данных;
- сообщения об ошибках (у нас bugsnag) засраны нерелевантными сообщеними — их нужно почистить.

Мы с Федей обозначили проблемы в первые же дни, но не успели решить их — были вещи поважнее. Знал бы прикуп — жил бы в Сочи.

Если у вас похожая ситуация — рекомендую навести порядок заранее, не ждать форс-мажора.

Ну и делать много сложных правок вместе — чревато. Стоило разнести перенос базы и деплой новых машин на день — тогда бы мы не потратили так много времени на ложный след тормозной базы.

Fin.
Забавно
Такой привет из 2016))
С тех пор у них ничего не поменялось)
источник

VS

Vadim Sokoltsov in DevOps Jobs - работа и аналитика
Mikhail Krivoshein
Прикол. Даже я с моим минимальным опытом в DevOps вижу, что делать так, как они делали, не нужно...

А мусор в логах - это типичная проблема для команд, где редко меняется состав. В итоге "старички" знают правильные ключевые слова для grep, а новые сотрудники ничего не понимают.
Там даже не старички

А люди, которые считают, что умнее всех
И что такие ситуации, как описана выше, крайне редка и уж с ними точно не произойдет😂
источник

NA

Nurmukhamed Artykaly in DevOps Jobs - работа и аналитика
Adolf Stallman
Ага, а Smartphone это торговая марка компании Novavox, приснопамятной
iPhone - торговая марка Cisco
источник

I

Ivan in DevOps Jobs - работа и аналитика
R K
Оцените мои перспективны стать devops'ом: интересен ли буду я, если большой опыт администрирования ЛВС, но на винде, работа с железом HP: сервера, схд. Администрирование vSphere. C#. MSSQL, SSIS. Linux в процессе ... Стоит ли пройти обучение devops (нормальные курсы), чтобы изучить ваш стек и на сколько я буду интересен работадателю с таким багажом?
Два года назал уволился из кровавого ынтерпрайза с всферой, цисками, вендокапцом и прочим

Сейчас - дорастаю до мидл девопса - кубер, прометеусы, кликхаус, си/сд

🤷‍♂
источник

n🐈

nikoinlove 🐈 in DevOps Jobs - работа и аналитика
а в ынтерпрайзе кем был?)
источник

MO

Mr Orange in DevOps Jobs - работа и аналитика
nikoinlove 🐈
а в ынтерпрайзе кем был?)
(зевая) вчера разобрались. Михеева не знает, про вопрос "есть две сетки, 23 и 25, куда управление поставшь, куда домен посадишь" - отвечать отказался.
источник

I

Ivan in DevOps Jobs - работа и аналитика
nikoinlove 🐈
а в ынтерпрайзе кем был?)
🤷‍♂ одмен. Просто одмен, один на всю шарагу
источник

I

Ivan in DevOps Jobs - работа и аналитика
Mr Orange
(зевая) вчера разобрались. Михеева не знает, про вопрос "есть две сетки, 23 и 25, куда управление поставшь, куда домен посадишь" - отвечать отказался.
Ну ка. Михеева и я не знаю. Шо це таке?
источник

P

PLAYER #666 in DevOps Jobs - работа и аналитика
Ivan
Ну ка. Михеева и я не знаю. Шо це таке?
"Администрирование VMware vsphere" книги есть - он автор
источник

P

PLAYER #666 in DevOps Jobs - работа и аналитика
Ну и сайт у него так же есть с гайдами вроде как
источник

I

Ivan in DevOps Jobs - работа и аналитика
PLAYER #666
"Администрирование VMware vsphere" книги есть - он автор
Аааааааааа.

Ну я.. она была до меня и я в ней просто создавал виртуалки.

Конечно базовые принципы понимал, но адовые конструкции с HA - нет, не строил :)

Бандл за 50к - наше все
источник