Сисадмін з манією автоматизації і велика переробка процесів



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

Дівчина трохи образилася і сказала:
— Це у вас зараз несезон, і вже не встигаєте. Дивлюсь я на вас, що тоді до нового року буде!

Передбачалося, що під новорічний раш ІТ-відділу з такою постановкою справ хана. Ніхто не пояснив милій дівчині, що сезон у нашого ІТ припадає на літо. Тому що потім, коли настане сезон у роздробу, буде взагалі поздняк метатися.

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

Час прибирання
Якщо коротко, у нас є в загальній складності близько сотні об'єктів, де потрібно стежити за каналами та обладнанням. Це магазини по країні (у франшизах власники самі стежать за залізом, ми забезпечуємо ЗА), склади, виробництво, офіси. Головні проблеми — ми росли послідовними «линьками», тому парк заліза негомогенен, процеси все народжувалися в процесі еволюції «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 хвилин до години. Скільки це нам заощадило виїздів — не злічити. І плюс море рутини пішло на «це точно було в документі»: якщо документ не стоїть на версионировании, можна розгорнути бекап і витягнути. Ці ж бекапные бази дуже допомагають у тестах.

Потім привели в порядок документацію. Розгорнули Докувики (тому що є хороше рольовий розподіл).



Ввели новий процес накатування релізів робочих місць. Раніше накочували і все, а тепер — плавно і ніжно, але невідворотно. Прямо як проносне. Наприклад, коли міняли АРМ оператора — спочатку керівник колл-центру два тижні працював з нової, як звик — накотили всім. З докладним листом, що змінилося, навіщо це зроблено, чому буде краще. І оператори зверталися з питаннями вже не в хелпдеск, а відразу до нього — він же сидить поруч і все знає. Звичайно, хапнули тікетів відразу (особливо доставив користувач, який прямо вимагав повернути одну малоиспользуемую функцію — а ми точно знали, що до цього вона не працювала).

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

Раніше проблема була в тому, що навіть маленьку задачу важко було довести до кінця. Доводилося пояснювати кожен раз не тільки що треба зробити, але і чому це так і навіщо, щоб эникей або зовнішній адмін точно розумів логіку. Приміром з тестовим сервером тікет піднімався як зомбі 4 рази і кожен раз треба було пояснювати специфіку історії новому виконавцю. Ще розробникам в роздробі треба часто говорити з адміном. Хоча б тому, що невдалий нічний апдейт — це робота для двох. Іноді потрібно швидко перезавантажувати сервер, іноді добивати диск — загалом, добре, коли все поруч.

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

Але повернемося до виїздів. Після того, як Валера вирішив, що і як, виїздів стало менше приблизно в 4 рази. Причин три:
  • З'явилися чіткі виділені регламентні роботи, коли адмін об'їжджає всі магазини і все доводить до розуму відразу. Раніше ми платили за сервіс аутсорсеру не по годинах, а по працездатності — грубо кажучи, N рублів за кожне робоче місце, N рублів за бекап і т. п. Якщо були тікети — вони їх самі вирішували без збільшення оплати. Тобто логіка така: подобається їздити — їдь. Не подобається — роби профілактику. Мабуть, вважати не вміли всі.
  • Додали блоків на заміну (без розрахунків було б незрозуміло, що це дешевше виїздів). Наприклад, зламався системник — відразу взяв такий же зі складу, підключив, там вже все розгорнуто, з сервака накочується робоче місце 15-хвилинної давності (спасибі вищезазначеного бекапу або взагалі термінальному сервісу).
  • Магазинах стало страшно звертатися по дрібних проблем до «своїх». Раніше це була емоційно-складна історія: треба знайти контакт, зателефонувати, пояснити, задати питання. А тут — люди, які розуміють, чому не можна спізнюватись до відкриття, і чітко знають, що у продавців і де може хворіти. Звичайно, не всім в команді спочатку вистачало саме ІТ-досвіду — але ми свідомо набирали людей з продавців і вчили саме заради такого.
У підсумку другий адмін за останній місяць на 25 магазинів в Москві не витратив навіть проїзний на 60 поїздок.

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

Найкраща історія поки що — це петербурзький сервер. Після оновлення мережі треба було забрати сервак в одному з техпомещений магазину в Петербурзі і доставити його до Москви. Вирішили не ризикувати з транспортною — залізниця дорога. Попросили добре знайомого, сгонявшего туди на бізнес-конференцію. Він подзвонив, сказав, що ми злегка того, але сервер він забрав. Зустрічали на вокзалі. З поїзда він з'явився з важким і неймовірно старим системником (трохи потужніший Распбери) і здав його на руки очманілому адміну. Виявилося, що в Петербурзі в цієї імпровізованої серверної був склад непотрібних частин. І туди пару років тому потрапив десктоп тієї ж фірми, що робила і сервер. Продавці вирішили, що маленька блискуча коробочка точно не може бути серваком. Ну ніяк. Вони ж знають, що будь-сервер завжди могутніша звичайного комп'ютера… і показали нашому другові на великий списаний системник. З усіма почестями ветерана забрали, ретельно запакували і доставили.

Ну і наостанок розсип нестандартних тікетів. Ось, наприклад, диво-монтажники зрізали датчики під корінь при переїзді магазину, завгосп якимось дивом поставив тікети і вмовив зробити це хелпдеск:



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

Гендиректор Андрій відключав зовнішній монітор від ноутбука, коли друкував щось. Виявилося, що односторінковий друкуються на дві сторінки при включеному екрані і на одну (як належить) — при відключеному. Чому так — поки не знаємо.

На одному з будинків кабель з інтернетом з даху потріскався за рік, у нього набралася вода. У якийсь момент роутер буквально поплив.

Юзер поскаржився на гальма машини — там Вінда 5 років послідовно загаживалась співробітниками різних відділів. Знесли все, поставили ОС з нуля, вийняли половину оперативки. Користувач тепер щасливий, каже, працює набагато швидше.

В цілому, ехо «прибирання» вже відгриміло, до нового року майже готові. Тепер робимо важливу для бізнесу річ — перепилюємо фінансове планування разом з ІТ.



Валера не зупиняється, і ми стежимо за ним з величезним інтересом. На фото — рослина-хижак росичка, ідея для автоматизація лову комах, залітати в офіс при провітрюванні влітку. Показала себе вдало, прийнята в експлуатацію.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.