Инструменты системного администратора

0
220
views

Не так давно мы серьезно обновили стек инструментов, которые используют наши системные администраторы в повседневной работе, и готовы поделиться списком, — пишет Владимир Зайцев,
директор по клиентскому сервису NGENIX, в своей статье на tproger.ru. — Этому предшествовали годы использования различных решений, которые также не стояли на месте и развивались параллельно нашей работе — как в хорошую, так и в плохую, на наш взгляд, сторону. В этой статье я разберу тулсет, который сформировался у нас на начало 2021 года, расскажу, чем он хорош, и объясню плюсы и минусы его альтернатив.

Для кого пригодится?

Традиционно, снова вернемся к базовым определениям: кого можно назвать системным администратором и кого считаем им мы в NGENIX. В прошлом году я рассказывал, чем занимаются каждый день наши ребята, а также порефлексировал на тему путей карьерного развития системного администратора и о том, почему его не стоит путать с эникейщиком.

Главное в работе системного администратора — сделать так, чтобы все работало у заказчика, будь он внутренним или внешним. На hh.ru наши вакансии, связанные с клиентским сервисом, называются «Системный администратор», но при этом наши специалисты администрируют крупнейшие веб-ресурсы, подобные Wink, ozon.ru или goods.ru. Мы называем наших системных администраторов инженерами облачных сервисов. Это такие «сисадмины на максималках», и типичная сисадминская мантра «сделать так, чтобы все работало» — их важнейший KPI, потому что сбои или инциденты напрямую влияют на деньги, бизнес, сон и карьеру заказчика.

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

Автоматизация хелпдеска

Если вы работаете с высоконагруженными сервисами, крупными веб-ресурсами, критически важными системами, процесс поступления тикетов обязан быть максимально автоматизированным, потому что хаосу здесь не место.

Zendesk

Мы используем Zendesk — это, наверное, один из самых знаменитых SaaS-хелпдесков среди систем обработки обращений клиентов. Zendesk имеет интуитивный интерфейс, очень широкие возможности интеграции, поддерживает REST, JSON, RSS, email, различные виджеты. Заказчик может создать тикет через почту, веб-интерфейс или через другие каналы — например, есть удобная интеграция с Telegram. Мы также интегрировали Zendesk с нашей системой мониторинга для соблюдения SLA, а также телефонией.

Альтернатива: Jira Service Desk

Функционально нативный хелпдеск Jira практически идентичен Zendesk. Это онлайн-сервис обработки тикетов от Atlassian, который предлагает огромное количество настроек и интеграций, а также большие возможности для масштабирования. Выбирая между JIRA Service Desk и Zendesk, скорее всего, вам стоит обратить внимание на простоту интеграции с имеющимися инструментами, потому что миграция может быть долгой и сложной, что очень неудобно, если вы живете в мире жесткого SLA.

Мониторинг

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

Инструменты мониторинга, которые мы использовали раньше, в этих условиях нам уже не подходили: отслеживать изменения стало сложнее, на новых объемах вскрылись ограничения, обусловленные легаси-системами, возникла потребность в более гибком алертинге. После того, как мы сменили стек инструментов, мы смогли унифицировать работу трех составляющих системы мониторинга (сбор данных, их визуализацию в графики и дэшборды, алерты), избавились таким образом от большой доли легаси, получили больше прозрачности, масштабируемости, воспроизводимости.

Мониторинг: сбор данных

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

Victoria Metrics

Victoria metrics — решение для мониторинга на базе открытого кода с расширенным функционалом и возможностями масштабирования как вертикально, так и горизонтально. Victoria metrics умеет долго хранить метрики, как и многие другие инструменты, но при этом быстро обрабатывает их, не требуя больших вычислительных ресурсов, что важно при высокой нагрузке на системы. Именно рост нагрузки выявил ограничения Zabbix в качестве хранилища данных Prometheus, но Victoria Metrics решала их задачи разом, экономя при этом ресурсы.

Альтернативы: Thanos, Graphite, Influx, Zabbix

Мы долгое время полагались на комбинацию Prometheus и Zabbix, но ограничения Zabbix в плане производительности заставили нас поискать альтернативы. Сами мы рассматривали очевидный выбор — Thanos, но технологически он был намного сложнее Victoria Metrics, и в итоге мы выбрали последнее.

Мониторинг: визуализация данных

Grafana предоставляет интерфейс работы с графиками, обновляемыми в режиме real-time — пользователь системы может настроить себе удобную «приборную панель», используя различные виды графиков (используя уже разработанные сообществом или собственные дашборды) — это особенно важно, если нужно мониторить большое количество параметров — в нашем случае это, например, параметры работы сервисов заказчика: количество запросов, их статус, время ответа и т.п. Де-факто это стандарт отрасли, даже добавить нечего.

Photo by Mimi Thian on Unsplash

Мониторинг: алертинг

Alertmanager+Alerta

Alertmanager — это часть стека Prometheus для управления потоками алертов, которое мы продолжаем использовать. В дополнение к нему у нас появилась Alerta — удобное решение для отображения алертов и управления уведомлениями. Быстро устанавливается и легко масштабируется по мере роста требований и объемов. Она также гибко интегрируется с современными системами, предоставляющими свои специфичные метрики — например, netdata, Sensu, Pingdom и другими. Также можно разграничить уведомления для заказчиков и наших инженеров, которые работают с несколькими проектами. У Alerta удобный WebUI, который мы уже оценили: раньше мы использовали самописную php-страницу, которая выдергивала данные из Zabbix.

Альтернатива: Zabbix

Zabbix — довольно популярная система мониторинга. Она универсальная, но сложно масштабируемая и негибкая, как и любой «старый» инструмент с высокой долей легаси и технического долга. До недавнего времени мы использовали Zabbix, но, к сожалению, его коснулась судьба многих известных ИТ-инструментов: изначально крутое решение активно развивается силами комьюнити, со временем растет, усложняется, становится неповоротливым, потребляет больше ресурсов, чем аналоги. И вот уже новые фичи внедряются медленней, а юзабилити у более молодых и резвых конкурентов не в пример лучше. В новых версиях разработчик старается исправить это, но мы предпочли не дожидаться, а перейти на Alerta, когда интенсивность работы выросла с нагрузкой.

База данных для логирования

Clickhouse

Clickhouse — это колоночная база данных для хранения логов. Если логи структурированы, с ней очень удобно работать через SQL-подобный синтаксис — любые нужные данные, в том числе для работы нашей аналитики трафика в реальном времени, предоставляются в удобном виде и очень быстро (а скорость для нас критически важна). Благодаря высокой производительности и гибкости можно посмотреть на наши данные под любым углом и, например, быстро проанализировать критический инцидент. Удобно, просто интегрировать — иными словами, стильно, модно, молодежно.

Альтернатива: Elastic Search, Hadoop

Всем в сообществе известные базы данных — но в нашем случае (логирование клиентских сервисов) по производительности они сильно отстают от Clickhouse — в частности, Hadoop, от которого мы отказались.

Таск-трекинг

Jira

Это также стандарт отрасли, который изначально создавался под идеологию работы ИТ-бизнеса, и здесь даже трудно предложить сопоставимые альтернативы. Jira — невероятно гибкий инструмент, у него бесчисленное количество плагинов, широкие возможности интеграции «из коробки» с практически всеми известными инструментами, и каждый год появляются новые, что повышает ценность Jira в отрасли еще больше. Маленькие команды могут использовать более доступную версию, большие компании могут позволить себе более дорогую лицензию и расширить функциональность. Другими словами — Jira объединяет =)

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

Управление знаниями

Confluence

Также стандарт отрасли в качестве инструмента хранения и систематизации базы знаний — в Confluence мы описываем и разбираем инциденты, фиксируем решения. Confluence очень проста в управлении, в то время как многие автономные инструменты требуют наработки определенных знаний в настройке и эксплуатации. За что еще можно любить Confluence? За отличную и интуитивную систему управления версиями, которая упрощает внутреннюю документацию, а также за удобную навигацию и возможность интеграции с многочисленными плагинами.

Альтернатива: Notion

Notion в качестве wiki обладает обширными возможностями: можно работать с документами, управлять проектами, вести базы знаний, хранить базы данных. Клиент Notion работает быстро, есть некоторые преимущества по сравнению с Confluence — например, маркдауны, подсветка кода. Для нас удобнее было пользоваться продуктами Atlassian, но каждый делает свой выбор.

Коммуникация в команде

Здесь можно поломать много копий. Что удобнее — Slack или Basecamp? Лучше созваниваться в Teams или Zoom? Однозначного ответа на эти вопросы нет, и здесь особенно трудно посоветовать что-то конкретное, поэтому выбирайте сердцем.

Slack

Мы выбрали Slack для внутренней коммуникации, настроили нужные нам интеграции с другими системами — в среде ИТ и разработки Slack очень популярен, поэтому интегрировать можно много чего. В канал команды в Slack приходят важные алерты: например, о только что сформированном тикете. Через простые команды можно начать срочный звонок в Зуме, создать тикет, получать уведомления по инцидентам и многому другому. Классно — честно, мы были очень рады, когда переехали из Teams в Slack.

Альтернатива: Telegram

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here