Сисадмин с манией автоматизации и большая переделка процессов

7604016732f84c98a7003839aefc51e2.jpg

Пару недель назад в ИТ-отдел зашла сотрудница из опта и попросила доделать мелкую фичу к своему рабочему месту. Заявку вполне ожидаемо поставили в очередь.

Девушка немного обиделась и сказала:
 — Это у вас сейчас несезон, и уже не успеваете. Посмотрю я на вас, что тогда к новому году будет!

Предполагалось, что под новогодний раш ИТ-отделу с такой постановкой дел хана. Никто не объяснил милой девушке, что сезон у нашего ИТ приходится на лето. Потому что потом, когда наступит сезон у розницы, будет вообще поздняк метаться.

А этим летом было жарко. Особый колорит процессам придал сисадмин Валера, помешанный на автоматизации. Настолько, что он даже курсы валют и погоду отслеживал Заббиксом. В общем, заходите, расскажу, как мы провели лето. И генеральную уборку. Ничего особо примечательного, но пара полезных грабель для среднего бизнеса у меня всегда найдётся.

Время уборки


Если коротко, у нас есть в общей сложности около сотни объектов, где нужно следить за каналами и оборудованием. Это магазины по стране (во франшизах владельцы следят сами за железом, мы обеспечиваем ПО), склады, производство, офисы. Главные проблемы — мы росли последовательными «линьками», поэтому парк железа негомогенен, процессы все рождались в процессе эволюции «as is», а вместо системного выстраивания подхода мы решали текущие задачи. Детальнее про всю структуру я писал вот тут.

В какой-то момент Карина, руководительница нашей внутренней ИТ-службы, решила что хватит с нас такой феерии, и пора устраивать генеральную уборку пополам с рефакторингом. И в жизни, и в 1С, и в железе, и вообще в подходе. Как только решение было принято, она просто переписала все текущие мелкие задачи и отложила их на две недели. Потому что не было такого, чтобы наших айтишников не закидывали всякой мелкой фигней, отжирающей в результате кучу времени. Ну и задачи некоторые были неготовы ещё с 2012-го года — это те самые, которые мы всегда складывали с низким приоритетом на когда-нибудь потом, рассчитывая, что «потом» не настанет.

В целом, очень просто: когда у тебя 60% работы рутина — значит, ты не оставляешь время на стратегическое развитие. Вот Карина и решилась на такую меру, ожидая шквала недовольства пользователей. А пользователи — сюрприз! — почти не заметили. Во-первых, когда у ИТ пик, у офиса середина несезона — расслабленное лето. Во-вторых, оказалось, что многие срочные неважные вещи могут потерпеть. Вообще, если подумать, в принципе не бывает срочных неважных вещей: тут уж либо срочные, либо неважные.

Аутсорсеры


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

Но так получилось, что у нас завёлся свой админ. Предыдущая бизнес-модель предполагала, что любой косяк, например, на Тёплом стане может решить выездной админ аутсорсера. Ноутбуки мы тоже чинили у них. Они нам даже как-то дизассемблировали вируса-шифровальщика и восстановили данные. В общем, нет причин не доверять, что называется.

Конечно, не без косяков — люди на местах иногда проявляли себя крайне неожиданно. Из вспомнившихся примеров — у парня стояла задача поставить винду на сервер магазина. Там было 8 гигов оперативы, предыдущим тикетом её добили до 16. Парень приехал, начал ставить — не ставится. Отрапортовал о неготовности сервера, уехал. Диагноз — проблемы с HDD. Ок, наша команда посмотрела — HDD в порядке, глючит оператива. Ответили вежливо: парни, у вас там память, вроде, не аллё. Может, два одинаковых модуля DIMM поставить? Выездной пошёл в отказ: говорит, я профи, всё знаю и умею, идите лесом, дорогие друзья. И поставил винду. Только 32-разрядную, так что она видела только первые 4 гига. И закрыл тикет. Команда решила проблему так: позвонили и сказали, мол, у нас маркетинг упоролся и хочет, чтобы в каждом сервере планки памяти были одинаковые. Это теперь наш корпоративный стандарт. Можете сделать? (тут надо сказать, что «Маркетинг сказал» — это универсальная отмазка на все случаи жизни). Ну они и поменяли память, а потом, поставили нормальную 64-битную ОС, всё завелось без ошибок.

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

В общем, завели своего админа. Старого знакомого, кстати: именно он как-то залип у нас помогать в офисе полгода назад, и сожрал из холодильника три литра тестового сливочно-грибного соуса ночью. Слава как раз тестировал его рецептуру. Соус Валеру не убил, но сделал сильнее, видимо.

20% рутины долой


Больше всего ресурсов занимала рутина — тикеты, которые повторялись из раза в раз. Пользователи жалуются на всё подряд — вплоть до того, что просят заменить бумагу в принтере, боясь сами к нему подходить (реальный случай в офисе). Чем чаще нас достают — тем больше думаем, как автоматизировать.

Самой неприятной историей были аварийные выезды в магазины и тикеты пропадания связи. Для интернета у нас, когда получается, по паре входов в магазин. Как правило — провайдер-монополист торгового центра и чья-нибудь радиорелейка, либо «уличный» кабель FttB от общедомового шлюза плюс сотовый модем. Где не получается — спасаемся локальным сервером. Самая частая проблема не падение канала, а его замедление до реальных лагов в работе учёта и кассы.

Валера поставил весь трафик на мониторинг, и начал следить за пингом (точнее, односторонней задержкой) и степенью утилизации (где не выходило — просто удельным трафиком). При достижении критических параметров вроде 60 Кб/с и тройного пинга от нормы следует три вещи:

  1. Автоматическое переключение магазина на резервный канал.
  2. Уведомление ИТ-команды в головном офисе на экране со срочными событиями и почтой.
  3. Автоматическое письмо провайдеру (написанное в человеческом формате, вроде, «Уважаемые коллеги, в 18:03 по Москве в магазине таком-то, где подключена ваша линия по договору такому-то, был зафиксировано аномально длинный пинг и очень низкая скорость в 53 Кб/с. Просим разобраться в ситуации, принять меры и пересчитать месячный счёт в связи с этой неполадкой».

Разумеется, такое письмо отправляется только одно в несколько часов. Можно и проще — выгрузкой мониторинга. Ещё важно, что часто основанием для пересчета является не кратковременное отсутствие интернета, а отключение на сутки и более. Некоторые (монополисты) вообще не пересчитывают.

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

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

На десятке точек подключили МГТС основным каналом. Это контора, которая на удивление хорошо относится к юрлицам (ставит, фактически, цены для домашних пользователей) и обеспечивает близкое к идеальному качество канала. В сравнении с другими провайдерами. Но, конечно, чтобы отправить им заявку, например, на подключение, нужно написать её на бумаге в трёх экземплярах в их офисе и пройти короткую версию бюрократического ада. И каждый наш звонок очень важен для них. Хотя, конечно, сейчас у нас появился персональный менеджер, плюс подключили электронный оборот через Диадок. Теперь всё просто, только вот на отключение точки уже достаточно одного заявления, а не трёх, но носить всё равно нужно. На ошибочный платёж (заплатили два раза за одну точку, за другую — нет), тоже ногами до офиса.

И радиоканал у них есть: дороговат в сравнении с обычным, но очень выручает в некоторых местах, где только один провайдер.

Валера после этого ломанулся автоматизировать всё. Вот, например, наш контрагент по сайту был не в состоянии определить, когда ложится один из их же серваков с кэшем. Админ хмыкнул, спорить не стал, а просто поставил на него мониторинг — и тоже сделал автописьма. Пока он это кодил, его еда чуть не пропала в холодильнике — он покопался в мешке своих датчиков и поставил туда термометр, а затем подключил его к общей телеметрии офиса и задал допустимый интервал и оповещения. Решили кучу проблем, которая рано или поздно аукнулась бы. Это, например, тормоза из-за фрагментации файловых систем, расхождения времени на сервере и кассовом оборудовании (сейчас норма — 15 секунд, тревога бьётся на 3 минуты, по закону до штрафа допускается до 5 минут, до этого были проблемы с возвратами чеков из-за рассинхрона), на сервере и терминалах. Всё после решения ставится на Заббикс и выводится под алерты прямо в офис.

С этими алертами тоже была история. Под каждый тип тревоги (упал сервер, упала касса, деградировал канал) записали крик определённого животного. Нужен был ещё один звук, что всё в порядке, — для этого хотели поставить утку, но её не нашлось. В воскресенье позвонила встревоженная уборщица — пока она мыла пол в ИТ-отделе, монитор на стене несколько раз сказал «кря!» голосом хорошо знакомого ей Тимы. Это её очень насторожило. Настолько, что она подняла тревогу. Потом, конечно, объяснили, что за зоопарк.

Магазины: разбираемся с железом и сетью


С магазинами было интереснее. Во-первых, много чего пришлось посчитать. Например, у нас были местами старые ИБП, которые не мониторились. Оказалось, что раз в году менять им батареи почти в 3 раза выгоднее, чем апгрейдиться. Кстати, заодно выяснилось, что наши дорогие аутсорсеры на 4 точках воткнули машины в Surge Protection, а не в Battery Backup-гнёзда. Нет, конечно, постепенно мы их заменим на «умные», но по мере выхода из строя.

Во-вторых, купили новые роутеры. Конечно, это оказались Микротики — те самые, которые ставить дома уже очень жирно, а в большим бизнесе — уже не справятся. Но в нашем сегменте самое то: они достаточно гибкие по настройкам и при этом достаточно дешёвые. Собственно, скрипты перестройки с канала на канал подняты на них. Да, до обновления сети один из старших магазинов магазинов сам (!) починил роутер —, но не очень удачно. Бродкаст-штормом накрыло сегмент.

Третье — бекапы. Инкрементальный бекап основных вещей делается в промежутках от 15 минут до часа. Сколько это нам сэкономило выездов — не счесть. И плюс море рутины ушло на «это точно было в документе»: если документ не стоит на версионировании, можно развернуть бекап и вытащить. Эти же бекапные базы очень помогают в тестах.

Потом привели в порядок документацию. Развернули Докувики (потому что есть хорошее ролевое распределение).

683a924d3ae742989a941b02648363f9.png

Ввели новый процесс накатывания релизов рабочих мест. Раньше накатывали и всё, а теперь — плавно и нежно, но неотвратимо. Прямо как слабительное. Например, когда меняли АРМ оператора — сначала руководитель колл-центра две недели работал из новой, как привык — накатили всем. С подробным письмом, что поменялось, зачем это сделано, почему будет лучше. И операторы обращались с вопросами уже не в хелпдеск, а сразу к нему — он же рядом сидит и всё знает. Конечно, хапнули тикетов сразу (особенно доставил пользователь, который прямо требовал вернуть одну малоиспользуемую функцию —, а мы точно знали, что до этого она не работала).

Фичи прикручиваем постепенно, по одной. Раз в неделю отправляется рассылка об основных нововведениях на всю страну — там инструкции и пояснения главных моментов «по-человечески». Опять же, с живыми контактами в reply-to.

Раньше проблема была в том, что даже маленькую задачу тяжело было довести до конца. Приходилось объяснять каждый раз не только что надо сделать, но и почему так и зачем, чтобы эникей или внешний админ точно понимал логику. К примеру с тестовым сервером тикет поднимался как зомби 4 раза — и каждый раз надо было объяснять специфику истории новому исполнителю. Ещё разработчикам в рознице надо часто говорить с админом. Хотя бы потому, что неудачный ночной апдейт — это работа для двоих. Иногда нужно быстро перезагружать сервер, иногда добивать диск — в общем, хорошо, когда все рядом.

Первый месяц было видно, как Валера буквально охреневал от того, что люди разговаривают. И самое страшное — что есть наша политика про то, что многие вещи нужно по-человечески объяснять пользователям. Не просто «мы завтра поменяем вот эту фиговину», а что поменяем, зачем, как им станет лучше и какие это устранит риски. Так они становятся друзьями и понимают, что о них заботятся. Вообще, почти вся ИТ-команда у нас — из тех, кто точно знает, что и как происходит на передовой. Тима (второй админ) работал администратором магазина (торговым, не системным). Второй Саша был продавцом. Макс (хелпдеск) был оператором. Да и сама Карина в своё время обошла почти все отделы.

Но вернёмся к выездам. После того, как Валера посчитал, что и как, выездов стало меньше примерно в 4 раза. Причин три:

  • Появились чёткие выделенные регламентные работы, когда админ объезжает все магазины и всё доводит до ума сразу. Раньше мы платили за сервис аутсорсеру не по часам, а по работоспособности — грубо говоря, N рублей за каждое рабочее место, N рублей за бекап и т.п. Если были тикеты — они их сами решали без увеличения оплаты. То есть логика такая: нравится ездить — езди. Не нравится — делай профилактику. Видимо, считать умели не все.
  • Добавили блоков на замену (без расчётов было бы непонятно, что это дешевле выездов). Например, сломался системник — сразу взял такой же со склада, подключил, там уже всё развёрнуто, с сервака накатывается рабочее место 15-минутной давности (спасибо вышеупомянутому бекапу или вообще терминальному сервису).
  • Магазинам стало нестрашно обращаться по мелким проблемам к «своим». Раньше это была эмоционально-сложная история: надо найти контакт, позвонить, объяснить, задать вопрос. А здесь — люди, которые понимают, почему нельзя опаздывать к открытию, и чётко знают, что у продавцов и где может болеть. Конечно, не всем в команде поначалу хватало именно ИТ-опыта —, но мы осознанно набирали людей из продавцов и учили как раз ради такого.

В итоге второй админ за последний месяц на 25 магазинов в Москве не истратил даже проездной на 60 поездок.

Про «не бояться говорить своим» есть ещё важный пример. У нас есть операторы, — и многие из них милейшие девушки. Айтишников, кажется, они немного побаиваются. И безгранично верят в их суперспособности. Конкретно во всеведение. Одна, например, два месяца сидела и мучилась с багом, терпела его, обходила. Потом совсем прикипело, спросила — мол, когда заработает-то? Оказалось, что она единственная пользовалась горячей клавишей, и поэтому другие операторы тикет не ставили. А она ждала и ждала. Возможно, у вас в компании где-то тоже есть такой пользователь, который страдает и думает, что ему когда-нибудь помогут.

Лучшая история пока — это петербуржский сервер. После обновления сети надо был забрать сервак в одном из техпомещений магазина в Петербурге и доставить его в Москву. Решили не рисковать с транспортной — железка дорогая. Попросили хорошо знакомого, сгонявшего туда на бизнес-конференцию. Он позвонил, сказал, что мы слегка того, но сервер он забрал. Встречали на вокзале. Из поезда он появился с тяжёлым и невероятно старым системником (чуть помощнее Распбери) и сдал его на руки ошалевшему админу. Оказалось, что в Петербурге в этой же импровизированной серверной был склад ненужных частей. И туда пару лет назад попал десктоп той же фирмы, что делала и сервер. Продавцы решили, что маленькая блестящая коробочка точно не может быть серваком. Ну никак. Они же знают, что любой сервер всегда мощнее обычного компьютера… и показали нашему другу на большой списанный системник. Со всеми почестями ветерана забрали, тщательно запаковали и доставили.

Ну и напоследок россыпь нестандартных тикетов. Вот, например, чудо-монтажники срезали датчики под корень при переезде магазина, завхоз каким-то чудом поставил тикеты и уговорил сделать это хелпдеск:

0e3af2477abf4727a8cd9037d0b2bbd0.jpeg

Предпечатник нашёл редкий баг в Индизайне, отправили его в Адоби. Те ругались, мол, закрыли ещё в 2008-м, а он, зараза, снова всплыл.

Гендиректор Андрей отключал внешний монитор от ноутбука, когда печатал что-то. Оказалось, что одностраничный документ печатаются на две страницы при подключённом экране и на одну (как положено) — при отключённом. Почему так — пока не знаем.

На одном из зданий кабель с интернетом с крыши потрескался за год, в него набралась вода. В какой-то момент роутер буквально уплыл.

Юзер пожаловался на тормоза машины — там Винда 5 лет последовательно загаживалась сотрудниками разных отделов. Снесли всё, поставили ОС с нуля, вынули половину оперативки. Пользователь теперь счастлив, говорит, работает куда быстрее.

В целом, эхо «уборки» уже отгремело, к новому году почти готовы. Теперь делаем важную для бизнеса вещь — перепиливаем финансовое планирование вместе с ИТ.

a76d9e73bb1d4a73964a0a9113b0be3e.JPG

Валера не останавливается, и мы следим за ним с огромным интересом. На фото — растение-хищник росянка, идея для автоматизация ловли насекомых, залетевших в офис при проветривании летом. Показала себя удачно, принята в эксплуатацию.

Комментарии (0)

© Habrahabr.ru