Pull to refresh
12
0
Алексеев Антон @Akint

User

Send message

Мониторинг мёртв? — Да здравствует мониторинг

Reading time15 min
Views34K


Наша компания с 2008 года занимается преимущественно управлением инфраструктурами и круглосуточной технической поддержкой веб-проектов: у нас более 400 клиентов, это порядка 15% электронной коммерции России. Соответственно, на поддержке очень разнообразная архитектура. Если что-то падает, мы обязаны в течение 15 минут это починить. Но чтобы понять, что авария произошла, нужно мониторить проект и реагировать на инциденты. А как это делать?

Я считаю, что в организации правильной системы мониторинга происходит беда. Если бы беды не было, то мой спич состоял из одного тезиса: «Установите, пожалуйста, Prometheus + Grafana и плагины 1, 2, 3». К сожалению, теперь так не работает. И главная проблема заключается в том, что все продолжают верить во что-то такое, что существовало в 2008 году, с точки зрения программных компонентов.

В отношении организации системы мониторинга я рискну сказать, что… проектов с грамотным мониторингом не существует. И ситуация настолько плохая, если что-то упадёт, есть риск, что это останется незамеченным — все ведь уверены, что «всё мониторится».
Возможно, всё мониторится. Но как?

Все мы сталкивались с историей наподобие следующей: работает некий девопс, некий админ, к ним приходит команда разработчиков и говорит — «мы зарелизились, теперь замониторь». Что замониторь? Как это работает?

Ок. Мониторим по старинке. А оно уже изменяется, и выясняется, что ты мониторил сервис А, который стал сервисом B, который взаимодействует с сервисом C. Но команда разработчиков тебе говорит: «Поставь софт, он же должен все замониторить!»

Так что изменилось? — Всё изменилось!
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments24

Первые 10 минут на сервере

Reading time8 min
Views59K

Азбука безопасности Ubuntu


«Мои первые 5 минут на сервере» Брайана Кеннеди — отличное введение, как быстро обезопасить сервер от большинства атак. У нас есть несколько исправлений для этой инструкции, чтобы дополнить ею наше полное руководство. Также хочется подробнее объяснить некоторые вещи для более юных инженеров.

Каждое утро я проверяю почтовые уведомления logwatch и получаю основательное удовольствие, наблюдая несколько сотен (иногда тысяч) безуспешных попыток получить доступ. (Многие довольно прозаичны — попытки авторизоваться как root с паролем 1234 снова и снова). Приведённая здесь общая методика подходит для серверов Debian/Ubuntu, которые лично мы предпочитаем всем остальным. Они обычно служат только хостами для контейнеров Docker, но принципы те же.

На больших масштабах лучше использовать полностью автоматические установки с инструментами вроде Ansible или Shipyard, но иногда вы просто поднимаете единственный сервер или подбираете задачи для Ansible — для таких ситуаций предназначена инструкция.

Примечание: Эта справка создана как базовая азбука. Её следует расширить и дополнить в соответствие с вашими потребностями.
Читать дальше →
Total votes 54: ↑40 and ↓14+26
Comments55

Тестирование программ Perl для начинающих. Введение

Reading time4 min
Views6.7K
Почему «для начинающих»? Потому что, данное руководство было составлено мною и для меня, в процессе изучения особенностей тестирования в целом и тестирования программ Perl — в частности. Не претендую на абсолютную полноту изложения темы, но, возможно, многим начинающим программистам эта статья будет полезна и укажет направление для дальнейшего самостоятельного изучения процессов тестирования.

Это только первая часть руководства. Введение :). Если сообществу будет интересно, опубликую и продолжение.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments20

Многопоточный сервер на Perl? Легко!

Reading time3 min
Views14K
Иногда возникает необходимость написать какой-то простенький TCP либо UDP сервер. Например, сейчас у меня вполне успешно в production трудится собственная реализация DHCP (существующие не подходят из-за специфики). Обычно это делается просто — один цикл, слушаем сокет — и вуаля! Но не всегда «тупой» подход оправдан (нужно что-то более сложное — работа в несколько потоков, например), а использование тяжелой артиллерии слишком затратно.

Интересно? Добро пожаловать под кат.
Осторожно! Внутри Perl-код.
Total votes 69: ↑56 and ↓13+43
Comments62

Полиморфус — самозатвердевающий пластик с низкой температурой плавления

Reading time1 min
Views53K
Не далее как сегодня koka опубликовал статью «Делаем «Самое бесполезное устройство» сами». При изготовлении девайса он использовал весьма заинтересовавший меня материал — самозатвердевающий пластик «Полиморфус» (upd — сам полимер называется поликапролактон, спасибо noonv за ссылку). Лично мне (да думаю и многим хабровчанам) давно не хватало чего-нибудь подобного для мелкого ремонта или DIY-ствования.

imageimageimage

Под катом — ссылка на сайт, занимающийся распространением «Полиморфуса» в РФ и набор видео-роликов, демонстрирующих возможности применения материала.
Так же, убедительная просьба к хабровчанам, имеющим опыт использования сего пластика или аналогов, поделиться опытом и впечатлениями в комментариях.
Читать дальше →
Total votes 79: ↑64 and ↓15+49
Comments47

Ремонтируем монитор содой!

Reading time2 min
Views151K
В последнее время, как мне кажется, пластиковые рудники на грани истощения. Чем больше и тяжелее монитор, тем меньше и тоньше подставка. Так 23'' монитор Samsung постигла участь одуванчика. Случайно наткнулся, в одной из местных news групп, на способ восстановления пластика при помощи пищевой соды. Под катом ремонт стойки монитора.
Далее...
Total votes 195: ↑192 and ↓3+189
Comments104

Моментальный клей и сода: дополнительные штрихи

Reading time3 min
Views151K
Про моментальный клей с содой разве что ещё анекдотов не насочиняли, но все молчат про одну интересную особенность. Итак, смесь цианоакрилата с содой моментально полимеризуется (твердеет), выделяя тепло и отлично схватываясь молекулярными связями с близлежащими слоями. Но не с любыми. С ABS-пластиком — хорошо, а с полипропиленом — плохо. Ну и что с того? При послойной заливке (точнее, «закапке») соблюдать точную форму детали непросто. Много излишков в конце приходится удалять механически (напильником). А как насчёт «опалубки» из таких же подручных материалов? Кустарная 3D-печать из кармана.


Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments65

Книга автора XKCD стала бестселлером ещё до выхода

Reading time2 min
Views24K
Автор веб-комиксов XKCD, бывший инженер НАСА и физик по образованию Рэндел Манро (Randall Munroe) скоро сможет называть себя популярным писателем. Впрочем, он таким является уже сейчас.

Его книга "Thing Explainer" за три месяца до начала продаж вышла на первое место в подразделах «Научные инструменты» и «Механика» раздела «Наука и математика» в магазине Amazon. Настолько велико количество предварительных заказов.

Когда-то давно Манро опубликовал чертёж ракеты Saturn V, где объяснялась конструкция и предназначение каждой детали. При этом в описании автор не использовал никаких специальных терминов, а только тысячу самых популярных слов английского языка.

Такой метод он применил в книге-альбоме. Она содержит 64 подобных чертежа размером 9″x13″ (23х33 см), а все описания состоят из той самой тысячи общеупотребительных слов. Поскольку все вещи объясняются простым языком, то и саму книгу было решено назвать Thing Explainer.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments50

Сервис от компании Percona для создания оптимальной конфигурации MySQL серверов и анализа SQL-запросов

Reading time2 min
Views17K
Предлагаю ознакомиться с сервисом от компании Percona, который позволяет правильно настроить конфигурацию MySQL сервера на основе конкретных условий использования и проанализировать используемые SQL-запросы на наличие ошибок и недочетов.



Анализ запросов в данном сервисе — не является заменой команде EXPLAIN, которая ориентирована на анализ производительности запроса, а является скорее дополнением, которое анализирует запрос с точки зрения его синтаксиса.

Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments8

Advent of Code

Reading time1 min
Views16K
Удивлен, что ссылки на Advent of Code до сих пор не видно на Хабре.



Если вкратце, то это рождественский календарь, где каждый день открывается по небольшой задачке на программирование. Сегодня пятница, и уже открыто 18 штук — отличный повод размять мозги, или потренироваться в написании программ на новом языке, до изучения которого никак не доходили руки.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments12

Сертификация RHCSA: опыт подготовки и сдачи

Reading time5 min
Views82K
Недавно я прошел курс RedHat Rapid Track Course with Exam (RH200) и успешно сдал сертификацию RedHat Certified System Administrator (RHCSA). Это начальная сертификация в линейке сертификаций RedHat, и я решил, что рассказ о подготовке и сдаче этого экзамена будет полезен Хабрасообществу (подробных рассказов об этом на Хабре я не нашел). Сразу оговорюсь, что перед началом экзамена подписываешь документ, который запрещает разглашать информацию о том, что было на экзамене, однако не запрещено рассказывать, что было на официальном курсе подготовки к этому экзамену, что я и сделаю.

Оставлю за рамками вопрос, зачем получать эту сертификацию, лично я сдавал потому что
  • мой работодатель предоставил мне такую возможность,
  • при мониторинге вакансий по своей специальности я часто встречаю пометку, что официальная сертификация будет преимуществом,
  • ну и для собственного ЧСВ конечно.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments15

Google, куда ты дел моё место в GMail? А вы точно знаете, как в GMail работают ярлыки?

Reading time7 min
Views70K

Стал я замечать, что из 15 гигабайт бесплатного месте, предоставленного Google, у меня почта занимает уже почти 12 гигабайт. И такая тенденция меня не радует.
С другой стороны я в качестве почтового клиента использую Thunderbird с полной синхронизацией. Т.е. все письма должны быть закачены. Так вот папка Thunderbird со всеми письмами и индексами занимает всего 3 гигабайта. Хотя по логике вещей размер должен не просто более менее совпадать с занятым местом на GMail, а быть побольше, т.к. Thunderbird не архивирует письма, а хранит как есть и еще индексы строит для ускорения поиска.
Проблема на лицо! Начинаем докапываться до сути.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments69

Виртуальная реальность вместе с Google

Reading time5 min
Views21K
Привет, GT! VR-тема прочно поселилась в трендах этого десятилетия, и мы просто не можем стоять в стороне. Сегодня почти у каждого из вас есть готовый набор «начинки» для VR девайса в смартфоне: дисплей высокого разрешения с диагональю 5-6 дюймов, набор гироскопов и акселерометров для регистрации движений головы. Осталось собрать всё это в шлем. В этом мы готовы вам помочь!
image
Программа Google Cardboard, позволяющая любому желающему собрать VR-шлем из своего смартфона и картонной заготовки, не так давно получила крупное обновление, а к концу года набралось достаточное количество и контента, и интересных проектов, связанных с развитием VR-направления. Сегодня мы постараемся рассказать о них.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments15

Сказ о том как мы R2D2 «пилили» к премьере новой серии StarWars

Reading time3 min
Views24K
Здравствуй, дорогой читатель!

Сегодня я хочу рассказать о роботе R2D2, многим знакомым и вызывающим прямые ассоциации с вселенной одной из известнейших фантастических саг — вселенной Star Wars.

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

Итак, настало время сделать дроида-астромеханика, звездолет сделаем потом, на досуге.



Продолжение
Total votes 33: ↑31 and ↓2+29
Comments12

Разноцветные терминалы

Reading time4 min
Views84K


В этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле ~/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).

Для начала рассмотрим простой вариант, мой любимый формат командной строки.
Читать дальше →
Total votes 48: ↑40 and ↓8+32
Comments46

Как сделать тестовое окружение максимально похожим на боевое

Reading time7 min
Views22K
image

Одной из возможностей повышения качества выпускаемого продукта является соответствие окружений на боевых серверах и в среде тестирования. Мы постарались минимизировать количество ошибок, связанных с различием конфигураций, путем перехода от нашего старого тестового окружения, где настройки сервисов сильно отличались от боевых, к новому окружению, где конфигурация практически соответствует боевой. Сделали мы это с помощью docker и ansible, получили много профита, но и не избежали различных проблем. Об этом переходе и интересных подробностях я постараюсь рассказать в данной статье.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments2

О SAN (Storage Area Network) на пальцах

Reading time5 min
Views196K
image

В деле познания SAN столкнулся с определённым препятствием — труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще — есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения — тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies" (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management" — выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне — описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола — Fibre Channel.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments83

Как быстро и бесплатно получить доступ к windows на osx или linux

Reading time2 min
Views48K
Среди разработчиков нередка ситуация, когда основной рабочий компьютер это mac или linux, но время от времени нужен доступ к windows: запустить специфичную программу, проверить верстку в internet explorer, поставить триальную версию corel draw для конвертации в .svg.

“Классический” способ решения этой задачи — установить одну из популярных виртуальных машин, скачать 90-дневную триал версию windows и установить ее в виртуальноый машине. Но у этого способа есть один большой минус — о необходимости деражать под рукой такую виртуальную машину разработчик обычно вспоминает в тот момент когда “о, тут нужна винда!”. А ставится windows не то чтобы очень быстро. И 90-дневный триал, что характерно, имеет обыкновение заканчиваться в самый неподходящий момент. Даже с rearm. Недавно Microsoft пошла на встречу разработчикам и сделала интересный сервис, позволяющий очень быстро и бесплатно получить доступ к нужной версии windows.
Подробности - под катом
Total votes 61: ↑43 and ↓18+25
Comments26

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Reading time10 min
Views94K
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Total votes 110: ↑104 and ↓6+98
Comments73

Forensic system administration

Reading time13 min
Views17K
Среди всех служебных обязанностей системного администратора, самой интересной, сложной и продуктивной, на мой взгляд, является детективная работа по мотивам случившегося «инцидента». При этом, в отличие от реальной криминологии, системный администратор сам себе одновременно и детектив, и эксперт по вещественным доказательствам.

Я сейчас исключаю из рассмотрения инциденты с осмысленным злым умыслом, это отдельный топик. Речь про стихийные проблемы (сервер упал/завис, виртуальная машина начала тормозить а потом перестала, приложение потеряло 100500 транзакций и считает, что всё хорошо).

Суть происшествия


Иногда она тривиальная («самопроизвольно перезагрузился сервер», или «упал самолёт»). Иногда она крайне трудная для объяснения («клиенты жалуются что у не получается поменять регион», при этом все сотрудники с клиентскими аккаунтами регион поменять могут). Чаще всего, чем дальше от системного администратора источник жалобы, тем более размытой становится жалоба: «клиент говорит, что после заказа в интернет-магазине плюшевого медведя он не может поменять регион на IE7 при использовании LTE-коннекта через USB-модем, а ещё он получает 500ую ошибку при попытке отменить операцию и нажатии „назад“).

Ещё более сложным является случай, когда несколько проблем сливаются вместе: „сервер внезапно перезагрузился, а на другом сервере был таймаут работы с базой данных, а клиенты в это время писали, что у них не грузятся картинки“. Сколько тут проблем? Одна, две, три, а может и больше? Какие из проблем надо молча объединить (база данных и отсутствие картинок), а какие надо учитывать раздельно? А если в этот момент ещё придёт жалоба, что пользователь не может залогиниться в систему — это обычное „забыл пароль“ или тоже симптом? А если таких пользователей два? Или кто-то мимоходом говорит, „что-то у меня почта не проходит“?

Подсознательно в момент начала проблем, каждая новая жалоба тут же объединяется с существующими (и может завести не туда), плюс резко увеличивает стресс из-за того, что приходится думать не о трёх симптомах, а о восьми, например. А в голове хорошо только семь удерживаются. Но в то же время в моей практике бывало так, что пришедший „новый“ симптом с лёгкостью приводил к сути проблемы и её устранению…… за вычетом того, что серьёзная проблема (с которой всё началось) не имеет никакого отношения к радостно и быстро починенной ерунде. А время потрачено.

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

То есть журнал (в sticky notes) выглядит так:
  • Мониторинг сработал на srv1 (22:05)
  • (имя) сказал про проблемы с почтой (22:07)
  • Не могу залогиниться на srv12 (22:08)/refused — Зашёл 22:16, dmesg чисто, аптайм большой
  • Не могу залогиниться на srv13 (22:10) (timeout) — отвалился офисный wifi (22:11)
  • Не открывается панель (22:12)
  • Саппорт пишет, что клиент жалуется, что ничего не работает, 22:15

Не стоит увлекаться (не время печатать), но симптомы стоит выписывать. Один это случай или несколько, важные это симптомы или нет, станет понятно потом. Я обычно начинаю выписывать примерно после третьего отвлекающего обращения.

Вторым аспектом проблемы является доказательство существования проблемы. Самая ненавистная фраза, которой не удаётся избежать:

У меня всё работает


После того, как Энийские Авиалинии пожаловались производителю на то, что самолёты иногда падают, разработчик проверил, что самолёты взлетают/садятся и закрыл тикет с 'Unable to reproduce'. Сотрудники поддержки Энийских Авиалиний продолжают собирать статистику по падению самолётов и пытаются научиться воспроизводить падение в лабораторных условиях.

Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity