• Мониторинг головного мозга

      Мониторинг работы оборудования и ключевого ПО — это азы системного администрирования. Но все мы постигаем их по-разному. За 10 лет работы в IT моё отношение к мониторингу прошло через три стадии:


      Отрицание. Ничего не мониторить, пользователи сами сообщат, когда у них возникнут проблемы.
      Гнев. Мониторить всё, что можно и нельзя, оповещать всех, включая не очень заинтересованных лиц, что на веб-сервере в течение 30 секунд нагрузка на CPU была 95%.
      Смирение. Бизнесу пофиг на процессор/память/диски. Его больше интересует, лучше или хуже стало после изменений в инфраструктуре. Надо работать на упреждение.



      Под катом — подробности эволюции моего отношения.

      Читать дальше →
      • +19
      • 13,7k
      • 9
    • Ansible: Миграция конфигурации 120 VM c CoreOS на CentOS за 18 месяцев


        Это расшифровка выступления на DevopsConf 2019-10-01 и SPbLUG 2019-09-25.


        Это история проекта, на котором использовалась самописная система управления конфигурациями и почему переезд на Ansible затянулся на 18 месяцев.

        Читать дальше →
      • Как управлять облачной инфраструктурой с помощью Terraform

          В этой статье мы рассмотрим из чего состоит Terraform, а также поэтапно запустим собственную инфраструктуру на облаке с VMware — подготовим три VM для разных целей: прокси, файловое хранилище и CMS.

          Читать далее
        • Руководство по безопасности DNS

          • Перевод


          Чем бы ни занималась компания, безопасность DNS должна являться неотъемлемой частью ее плана по обеспечению безопасности. Службы обработки имен, преобразовывающие имена сетевых узлов в IP-адреса, используются буквально всеми приложениями и службами в сети.

          Если злоумышленник получит контроль над DNS организации, то сможет без проблем:
          • передать себе управление над ресурсами, находящимися в общем доступе
          • перенаправить входящие электронные письма, а также веб-запросы и попытки аутентификации
          • создавать и подтверждать сертификаты SSL/TLS

          Данное руководство рассматривает безопасность DNS с двух сторон:
          1. Осуществление постоянного мониторинга и контроля над DNS
          2. Как новые протоколы DNS, такие как DNSSEC, DOH и DoT, способны помочь защитить целостность и конфиденциальность передаваемых DNS-запросов

          Читать дальше →
        • Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash

          • Перевод

          Shell wallpaper by manapi

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

          Команда Mail.ru Cloud Solutions перевела статью с рекомендациям, благодаря которым вы сможете лучше писать, отлаживать и поддерживать свои сценарии. Хотите верьте, хотите нет, но ничто не может сравниться с удовлетворением от написания чистого, готового к использованию bash-кода, который работает каждый раз.

          В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространенными ошибками, которые заставали его врасплох. Это важно, потому что каждый разработчик программного обеспечения в определенный момент своей карьеры работает со сценариями для автоматизации рутинных рабочих задач.
          Читать дальше →
        • VPN в домашнюю локалку



            TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

            Если вы держите на домашнем сервере личную инфраструктуру или у вас дома множество девайсов управляемых по IP, то вы наверняка хотите иметь к ним доступ с работы, из автобуса, поезда и метрo. Чаще всего для аналогичных задач приобретается IP у провайдера, после чего порты каждого сервиса пробрасываются наружу.

            Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

            • Прозрачность: чувствую себя как дома при любых обстоятельствах.
            • Простота: настроил и забыл, не надо думать о пробросе каждого порта.
            • Цена: у меня уже есть VPS, для таких задач современный VPN почти бесплатен по ресурсам.
            • Безопасность: ничего не торчит наружу, можно оставить MongoDB без пароля и никто не утащит данные.

            Как всегда, есть и минусы. Во-первых, вам придётся настраивать каждый клиент по отдельности, в том числе, на стороне сервера. Может быть неудобно при наличии большого числа устройств, с которых хочется иметь доступ к сервисам. Во-вторых, у вас на работе может оказаться совпадающая по диапазону локалка — придётся разрешать эту проблему.
            Читать дальше →
          • Мониторинг PostgreSQL с использованием Zabbix

              image
              Доклад Дарьи Вилковой для Zabbix Meetup Online


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


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


              Мы создали активный агент — Mamonsu, который обеспечивал более гибкий мониторинг, чем на тот момент позволяли стандартные средства, и обеспечивал сбор метрик и их отправку на Zabbix Server. В нашей компании Mamonsu используется при проведении аудита.

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

              • Перевод
              LOST by sophiagworld

              В этой статье собраны некоторые общие шаблоны, помогающие инженерам работать с масштабными сервисами, к которым делают запросы миллионы пользователей. 

              По опыту автора, это не исчерпывающий список, но действительно эффективные советы. Итак, начнем.

              Переведено при поддержке Mail.ru Cloud Solutions.
              Читать дальше →
            • Строим ролевую модель управления доступом. Часть вторая, «строительная»

                Пост, который вы сейчас читаете, – продолжение статьи о том, как правильно выстроить в крупной компании ролевую модель управления доступом пользователей к различным системам. Напомним: построение ролевой модели – это скорее процесс, чем результат, и первую часть нашей дилогии мы посвятили подготовке к «строительству». В ней мы рассказали, как создать функциональную модель каждого подразделения и должности, провести аудит ИТ-систем и расставить их по приоритетам, создать бизнес-ориентированное описание прав пользователей и о других важных подготовительных шагах. Сегодня же поговорим о способах построения ролевой модели, ролевых матрицах, чем здесь поможет внедрение автоматизированных систем управления доступом (IdM/IGA), и что вы получите на выходе.


                Читать дальше →
                • +13
                • 2,9k
                • 6
              • Делаем Linux терминал красивым и удобным

                Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто красивое и одновременно удобное и простое в использовании я потратил много времени. Итак, как же сделать дефолтный терминал удобным и приятным в использовании?
                Читать дальше →
              • GPT-3 в картинках: краткий обзор

                • Перевод

                Технологический мир охватил новый хайп — GPT-3.


                Огромные языковые модели (вроде GPT-3) все больше удивляют нас своими возможностями. И хотя пока доверие к ним со стороны бизнеса недостаточно для того, чтобы представить их своим клиентам, эти модели демонстрируют те зачатки разума, которые позволят ускорить развитие автоматизации и возможностей «умных» компьютерных систем. Давайте снимем ауру таинственности с GPT-3 и узнаем, как она обучается и как работает.


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


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

                • Перевод

                Fenix by Takeda11

                Многие путаются в обновлении записей DNS, когда изменяют IP-адрес своего сайта. Почему эти записи медленно обновляются? Неужели действительно нужно ждать два дня, чтобы всё обновилось? Почему одни посетители видят новый IP, а другие — старый?

                Команда Mail.ru Cloud Solutions перевела статью разработчика и автора статей Джулии Эванс, где она отвечает на эти вопросы и популярно рассказывает, что происходит во время обновления DNS с точки зрения фронтендера.
                Читать дальше →
              • Путеводитель по репликации баз данных

                  Повторяться, но каждый раз по-новому – разве не это есть искусство?

                  Станислав Ежи Лец, из книги «Непричёсанные мысли»

                  Словарь определяет репликацию как процесс поддержания двух (или более) наборов данных в согласованном состоянии. Что такое «согласованное состояние наборов данных» – отдельный большой вопрос, поэтому переформулируем определение проще: процесс изменения одного набора данных, называемого репликой, в ответ на изменения другого набора данных, называемого основным. Совсем не обязательно наборы при этом будут одинаковыми.



                  Поддержка репликации баз данных – одна из важнейших задач администратора: почти у каждой сколько-нибудь важной базы данных есть реплика, а то и не одна.

                  Среди задач, решаемых репликацией, можно назвать как минимум

                  • поддержку резервной базы данных на случай потери основной;
                  • снижение нагрузки на базу за счёт переноса части запросов на реплики;
                  • перенос данных в архивные или аналитические системы.

                  В этой статье я расскажу о видах репликации и о том, какие задачи решает каждый вид репликации.
                  Читать дальше →
                • MySQL шпаргалки

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

                    Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

                    Читать дальше →
                  • Мониторинг демон на Asyncio + Dependency Injector — руководство по применению dependency injection

                    • Tutorial
                    Привет,

                    Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

                    Это еще одно руководство по построению приложений с помощью Dependency Injector.

                    Сегодня хочу показать как можно построить асинхронный демон на базе модуля asyncio.

                    Руководство состоит из таких частей:
                    Читать дальше →
                  • Что такое DevOps

                      Определение DevOps очень сложное, поэтому приходится каждый раз запускать дискуссию об этом заново. Только на Хабре тысяча публикаций на эту тему. Но если вы это читаете, то наверняка знаете, что такое DevOps. Потому что я — нет. Привет, меня зовут Александр Титов (@osminog), и мы просто поговорим о DevOps, и я поделюсь своим опытом.

                      image

                      Долго думал, как сделать мой рассказ полезным, поэтому здесь будет много вопросов — тех, которые я сам себе задаю, и тех, которые я задаю клиентам нашей компании. Отвечая на эти вопросы, понимание становится лучше. Я расскажу зачем нужен DevOps с моей точки зрения, что это такое, опять же, с моей позиции, и как понять, что вы движетесь к DevOps снова с моей точки зрения. Последний пункт будет через вопросы. Отвечая на них самому себе, вы сможете понять, движется ли ваша компания к DevOps или в чем-то есть проблемы.
                      Читать дальше →
                    • Улучшение производительности Zabbix + PostgreSQL при помощи партиционирования и индексирования

                      • Tutorial
                      Примерно год назад передо мной и моими коллегами была поставлена задача разобраться с использованием популярной системы мониторинга сетевой инфраструктуры — Zabbix. После изучения документации мы сразу же перешли к нагрузочному тестированию: хотели оценить с каким количеством параметров может работать Zabbix без заметных падений производительности. В качестве СУБД использовали только PostgreSQL.

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

                      О результатах проделанной работы я и хочу поделиться в данной статье. Статья будет полезна как администраторам Zabbix, так и PostgreSQL DBA, а также всем желающим лучше понять и разобраться в популярной СУБД PosgreSQL.

                      Небольшой спойлер: на слабой машине при нагрузке в 200 тысяч параметров в минуту нам удалось снизить показатель CPU iowait с 20% до 2%, уменьшить время записи порциями в таблицы первичных данных в 250 раз и в таблицы агрегированных данных в 32 раза, уменьшить размер индексов в 5-10 раз и ускорить получение исторических выборок в некоторых случаях до 18 раз.
                      Читать дальше →
                    • Как работают профайлеры в Ruby и Python?

                        Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик Python».

                        Оригинал статьи можно прочитать тут.





                        Всем привет! В качестве аперитива к профайлеру на Ruby я хотела рассказать о том, как работают уже существующие профайлеры на Ruby и Python. Также это поможет дать ответ на вопрос, который мне задает множество людей: «Как написать профайлер?»

                        В этой статье мы сфокусируемся на профайлерах процессора (а не, допустим, профайлерах памяти/кучи). Я расскажу о некоторых базовых подходах к написанию профайлера, приведу примеры кода и покажу много примеров популярных профайлеров на Ruby и Python, а также расскажу, как они работают под капотом.
                        Читать дальше →
                        • +13
                        • 2,5k
                        • 4
                      • Обзор python-пакета yadirstat — самый простой способ получить статистику из API Яндекс Директ

                        • Tutorial
                        Здравствуйте, мне приходится собирать статистику из Яндекс Директ и, чтобы упростить работу, я опубликовал свой python-пакет, с помощью которого это можно делать очень просто.

                        Сначала вам следует получить токен для своего аккаунта (подробнее тут)

                        Пакет yadirstat уже опубликован на pypi — вы сможете установить его с помощью pip

                        pip install yadirstat

                        Пакет позволяет получить следующую статистику:

                        • Статистика по кампаниям
                        • Статистика по условиям показов (например, ключевые слова и аудитории)
                        • Статистика по поисковым запросам
                        Читать дальше →
                      • Пишем веб сервис на Python с помощью FastAPI

                        • Tutorial
                        image

                        Знаю, знаю, наверное вы сейчас думаете «что, опять?!».

                        Да, на Хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами, аутентификацией, миграциями и асинхронной работой с БД.
                        Читать дальше →