• Юрий Бушмелев «Карта граблей на поле сбора и доставки логов» — расшифровка доклада

      Логи — важная часть системы, позволяющая понять, что она работает (либо не работает), как ожидается. В условиях микросервисной архитектуры работа с логами становится отдельной дисциплиной специальной олимпиады. Нужно решить сразу кучу вопросов:


      • как писать логи из приложения;
      • куда писать логи;
      • как доставлять логи для хранения и обработки;
      • как обрабатывать и хранить логи.

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


      Как раз об этом расшифровка доклада Юрия Бушмелева "Карта граблей на поле сбора и доставки логов"



      Кому интересно, прошу под кат.

      Читать дальше →
    • 7 распространенных ошибок при использовании предлогов в английском языке и как их избежать

      • Translation


      В английском языке предлоги используются для того, чтобы связывать людей, объекты, время и места внутри предложении. Обычно это короткие слова вроде at, for, in, on и to, которые несмотря на свой размер играют важнейшую роль, и использовать их верно не всегда просто.

      Я нашел интересный пост с разбором распространенных ошибок при использовании предлогов, и подготовил его адаптированный перевод.
      Читать дальше →
    • Инструкция: как тестировать ansible-роли и узнавать о проблемах до продакшена

        Всем привет!


        Я работаю DevOps-инженером в сервисе бронирования отелей Ostrovok.ru. В этой статье я хочу рассказать о нашем опыте тестирования ansible-ролей.


        В Ostrovok.ru в качестве менеджера конфигураций мы используем ansible. Недавно мы пришли к необходимости тестирования ролей, но, как оказалось, инструментов для этого существует не так много — самым популярным, пожалуй, является фреймворк Molecule, поэтому мы решили использовать его. Но оказалось, что его документация умалчивает о многих подводных камнях. Достаточно подробного руководства на русском нам не удалось найти, поэтому мы решили написать эту статью.


        Читать дальше →
      • 1 февраля 2019 года ваш сайт может перестать работать

          Cisco является одним из крупнейших DNS-провайдеров в мире, предоставляя услугу безопасного DNS на базе Cisco Umbrella (ранее OpenDNS), но речь сегодня пойдет не о ней и даже не о безопасности. Дело в том, что 1-го февраля наступит так называемый DNS Flag Day, после которого ваш сайт может быть недоступен пользователям в Интернет.

          С 1-го февраля будет недоступен сайт НКЦКИ ФСБ
          Читать дальше →
        • Как общаться в англоязычном офисе: 14 полезных идиом

          • Translation
          image

          На Хабре в последние годы публикуется довольно много статей о переезде, в том числе в США и Великобританию. Обычно в таких материалах рассказывают о поиске работы и визовых вопросах, но не так много внимания уделяется дальнейшей интеграции, в том числе в рабочий коллектив.

          Команда сервиса Textly опубликовала в своем блоге подборку английских идиом, которые часто используются в офисных коммуникациях. Я решила подготовить перевод этого полезного материала
          Читать дальше →
        • Почему расчет перцентилей работает не так как вы ожидаете?

          • Translation
          Часто клиенты спрашивают нас о p99-метрике (99-й перцентиль).

          Это определенно разумная просьба и мы планируем добавить подобную функциональность в VividCortex (об этом расскажу позже). Но в то же время, когда клиенты спрашивают об этом, они подразумевают нечто совершенно определенное — нечто, что может быть проблемой. Они просят не 99-й перцентиль по какой-то метрике, они просят метрику по 99-му перцентилю. Это обычное дело для таких систем как Graphite, но все это дает не тот результат, который от таких систем ожидается. Это пост расскажет вам о том, что, возможно, у вас неверные представления про перцентили, о точной степени ваших заблуждений и о том, что вы все таки можете сделать правильно в этом случае.

          (Это перевод статьи которую написал Baron Schwartz.)
          Читать дальше →
        • Nginx cache: всё новое — хорошо забытое старое

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

            Но что делать, когда ваш код “идеален”, все тяжелые запросы вынесены в фон, все, что можно, было закэшировано, а сервер все так же не дотягивает до нужных нам показателей SLA? Если есть возможность, то конечно можно докупить новых машин, распределить часть трафика и забыть о проблеме еще на некоторое время.

            Но если вас не покидает чувство, что ваш сервер способен на большее, или есть магический параметр, ускоряющий работу сайта в 100 раз, то можно вспомнить о встроенной возможности nginx, позволяющей кэшировать ответы от бэкенда. Давайте разберем по порядку, что это, и как это может помочь увеличить количество обрабатываемых запросов сервером.
            Читать дальше →
          • Представляем новый плагин для Grafana — Statusmap panel

              У Grafana есть возможность показывать статус, у Grafana есть возможность показывать данные во времени. Однако, как это ни парадоксально, у Grafana до настоящего момента не было удобного способа показывать статус во времени!

              Мы представляем свой плагин — Statusmap panel. Он позволяет наглядно отобразить состояния набора объектов за выбранный промежуток времени. В качестве примера, демонстрирующего работу плагина, представим себе множество локаций, в которых для кого-то готовят кофе:


              Можно увидеть, как Никки экономит электроэнергию, Герри быстро пополняет запасы воды, кофемашина Валеры частенько барахлит, а на Бифросте Wi-Fi явно лучше, чем на лунной станции, где, похоже, с водой совсем туго.

              Выглядит интересно? Но начнём с того, как мы вообще к этому пришли.
              Читать дальше →
            • Теория и практика бэкапов с Borg



                К нашему огромному удивлению на хабре не оказалось ни одного материала про замечательный Open Source-инструмент для резервного копирования данных ­— Borg (не путать с одноимённым прародителем Kubernetes!). Поскольку уже более года мы с удовольствием используем его в production, в этой статье я поделюсь накопленными у нас «впечатлениями» о Borg.
                Читать дальше →
              • Шифрование ключа по умолчанию в OpenSSH хуже его отсутствия

                • Translation
                Авторы этого материала приводят аргументы против стандартных механизмов шифрования ключа в OpenSSH.


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

                У большинства из нас под рукой есть RSA SSH-ключ. Такой ключ наделяет владельца самыми разными привилегиями: как правило, он используется для доступа к production среде или в GitHub. В отличие от nmp-токенов SSH-ключи зашифрованы, и поэтому принято считать, что ничего страшного не произойдет, даже если они попадут не в те руки. Но так ли это на самом деле? Давайте узнаем.
                Читать дальше →
              • Let’s Encrypt начал выдавать wildcard сертификаты

                  Let’s Encrypt перешагнул важную веху — с 14 марта каждый может получить бесплатный SSL/TLS сертификат вида *.example.com. Пример установленного сертификата:


                  https://subdomain.baur.im
                  https://any-text.baur.im

                  Читать дальше →
                • Где же у него кнопка?! Как простому человеку выгрузить данные из Kibana и Elasticsearch и не напрягать при этом разрабов

                    Elasticsearch, Kibana и Logstash (ELK) – отличный набор инструментов для сбора и визуализации большого количества данных.

                    Логи, журналы, события – всё это довольно легко собирается, мапится и отображается в едином инструментарии. Logstash мапит данные, Elasticsearch хранит их, а Kibana отображает в виде графиков.

                    При всей мощи этой связки, естественно, есть задачи, которые невозможно реализовать через встроенные возможности.

                    Например, Kibana прекрасно показывает данные в рамках одной таблицы (индекса), но как только дело доходит до объединения разных индексов в одну выборку, она беспомощно разводит руки.

                    И единственный способ решить задачу в этом случае – выгрузить данные из Kibana и объединить их в любом другом средстве, например, в Excel.

                    Простой пример. Представьте, что Ваша Ёлка (ELK) собирает и хранит события Jira – по любому изменению любой из задач таск-трекера.

                    В этом случае в индексе Elasticsearch по одной задаче будет храниться несколько записей:


                    Читать дальше →
                    • +15
                    • 5.4k
                    • 8
                  • Как я осилил английский

                    Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
                    Читать дальше →
                  • Мониторинг Atlassian продуктов с Prometheus

                      Введение


                      Всем привет! Сегодня мы поговорим о real-time мониторинге Atlassian продуктов.

                      Для начала давайте определим, что такое мониторинг, и зачем он необходим для Atlassian продуктов.

                      Мониторинг программ применяется для отслеживания хода и результатов работы программы. Другими словами — это процесс, который в режиме реального времени может отображать информацию о состоянии программного продукта.

                      Когда это может быть полезно для Atlassian продуктов?

                      Рассмотрим примеры:

                      • Вы хотите знать, как обновление продукта или плагина влияет на производительность системы;
                      • Вы хотите знать о состоянии железа и памяти при различных условиях и в определенные моменты времени. Например, как увеличение числа пользователей или смена времени суток влияет на систему;
                      • Вы хотите наблюдать, насколько активно используется система в целом. Например, общее количество задач в Jira или за 1 час;
                      • Вы хотите поставить напоминание на дату истечения срока лицензии;
                      • Вам бы хотелось знать объем дискового пространства, используемого для хранения документов.

                      Также хотелось бы не только получать информацию в подготовленном виде, но и иметь возможность отправлять уведомления, если что-то происходит по ошибочному сценарию. Здесь нам и помогут Prometheus и его экспортеры для Atlassian продуктов.
                      Читать дальше →
                    • Мониторинг приложений с Prometheus

                      • Translation
                      Добрый вечер!

                      На этой неделе мы запускаем четвёртый по счёту поток курса «DevOps: практики и инструменты», так что по традиции небольшая интересная статья для вас.

                      Поехали

                      В этом практическом руководстве мы рассмотрим, как интегрировать мониторинг Prometheus в существующее приложение. Мониторинг приложения может дать представление о том, как и когда приложение используется. Более того, можно предугадать потенциальные проблемы.

                      Ключевые моменты:

                      • Изучение способов мониторинга приложений и серверов с помощью Prometheus;
                      • Запуск Prometheus в Docker;
                      • Мониторинг и инструментирование образца приложения Golang;
                      • Развертывание Prometheus со стеками Docker;
                      • Краткое руководство с примерами PromQL.

                      Читать дальше →
                    • Централизованное обновление сертификатов Let's Encrypt

                      letsencrupt server


                      Всем привет!


                      В этой статье я опишу как мы решали проблему централизованного обновления сертификатов Let's Encrypt и управления инфраструктурой с помощью ansible.


                      В нашем решении мы будем использовать:


                      • ansible
                      • rsync, rsyncd
                      • inotify, incron
                      • certbot
                      • nginx
                      Читать дальше →
                    • Что действительно случилось с Vista: инсайдерская ретроспектива

                      • Translation

                      Традиционно группа разработчиков Windows подписывает постер (в данном случае изображение DVD) с выпуском новой версии Windows. Ко времени окончания вечеринки по поводу релиза на нём будут сотни или тысячи подписей

                      «Опыт — это то, что ты получаешь только после того, как он тебе понадобится» — Стивен Райт

                      Мне понравился содержательный блог Терри Кроули («Что действительно случилось с Vista»). Терри работал в группе Office и проделал фантастическую работу, описывая сложные козни вокруг Windows Vista и связаного, но заброшенного проекта Longhorn — с точки зрения внешнего наблюдателя.

                      Он верно подметил многие из проблем, которые преследовали проект, и я не хочу повторять о них снова. Я только подумал, что будет честно изложить инсайдерский взгляд на те же события. Не рассчитываю на такое же красноречивое или исчерпывающее изложение, как у Терри, но надеюсь пролить некоторый свет на то, что пошло не так. Прошло десять лет с момента выхода первой версии Windows Vista, но эти уроки сейчас кажутся актуальными как никогда.
                      Читать дальше →
                    • Установка Linux без .ISO и виртуализации

                      Установка Linux без .ISO и виртуализации


                      Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.


                      1. Назначение и возможности скриптов radish


                      Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.


                      Установка образа диска на устройство производится минимальным скриптом, который вообще никак не использует установщик или менеджер пакетов, тем не менее создавая конфигурацию, полностью управляемую менеджером пакетов в образе диска — все установленные компоненты, включая загрузчик и ядро, могут обновляться и заменяться теми же действиями менеджера пакетов, которые бы использовались на системе, установленной стандартным установщиком дистрибутива.


                      Скрипты находятся на сервере Github и доступны по ссылке.

                      Читать дальше →
                    • Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert

                      • Tutorial

                      image


                      Что мы получим после этой статьи:


                      Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.


                      Какие логи будем собирать:


                      • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
                      • логи nginx — access и error;
                      • логи pm2;
                      • и др.

                      Обоснование выбора системы


                      Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.


                      Требования:


                      • Ubuntu 16.04 или debian 8-9;
                      • vm для развертывания;
                      • Прямые руки.

                      Приступим или добро пожаловать под кат

                      Читать дальше →
                    • Как перестать откладывать английский на потом и начать учить

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

                        Про мифы о произношении читайте в одной из наших предыдущих статей. А в конце поста ловите новогодний подарок от нашего сайта.

                        Читать дальше →