• Zabbix 3.4: Массовый сбор данных на примерах счетчика Меркурий и smartmontools

    • Tutorial


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

    • сбор всех данных за раз, полученных в JSON от консольной утилиты счетчика электроэнергии Меркурий 236
    • сбор показателей S.M.A.R.T. жестких дисков и SSD, полученных в табличном виде от smartmontools.
    Читать дальше →
  • Allure 2: тест-репорты нового поколения

      Последние восемь лет Артем Ерошенко занимается автоматизацией тестирования. За это время он успел повзаимодействовать с разными командами на разных позициях, но большую часть своей карьеры проработал в команде разработки инструментов тестирования. В этой команде и родился инструмент для построения отчётов автотестов Allure, который они заопенсорсили.

      Есть люди, которые не знают об этом инструменте. Поэтому мы начнем с краткого вступления в Allure report.



      В основу данного материала легло выступление Артема Ерошенко на конференции Гейзенбаг 2017 Piter. На московской конференции 8-9 декабря Артем выступит с новым докладом.
      Читать дальше →
      • +19
      • 5,6k
      • 5
    • Сударь, ваша команда — не команда

        За свои 12 лет работы в сфере разработки ПО, мне посчастливилось поработать в команде только два раза. Хотя я сменил порядка десяти мест работы. Но попробовав раз, ем и сейчас… Т.к. я не жадный, и готов своими достижениями делиться с сообществом, то решил я предпринять попытку вывести из равновесия неумных руководителей, которые до сих пор не осознали важность команды, а также тех руководителей, которые профессионально занимаются самообманом — мол, они строят команду, а на деле — тьфу, а не команда.
        Читать дальше →
      • Оживляя динозавров: TDD vs Test-Last

          image
          Simon Stålenhag — Tyrannosaurus (http://www.simonstalenhag.se)
          “Будьте осторожны с использованием следующего кода — я лишь доказал, что он работает, но я не тестировал его” Дональд Кнут
          Техника “Сначала Тест” (Test-First Design, далее TSD) появилась вместе с экстремальным программированием (Extreme Programming, далее XP, кстати, эта абревиатура никак не связана с Windows) и является одним из основных подходов этой методологии. Впервые книжное упоминание этой техники было в Extreme Programming Explained 1999 K.Beck
          Читать дальше →
        • NetApp FAS оптимизация производительности

            В этой статье я сфокусируюсь на оптимизации производительности систем NetApp FAS.

            Объектами оптимизации с точки зрения СХД могут быть настройки:
            • SAN в СХД
            • Ethernet в СХД
            • NAS в СХД
            • Дисковой подсистемы на Back-End СХД
            • Дисковой подсистемы на Front-End СХД
            • Проверка совместимости прошивок
            • Ускорители



            Для поиска узкого места обычно выполняют методику последовательного исключения. Предлагаю перво-наперво начать с СХД. А дальше двигаться СХД -> Сеть (Ethernet / FC) -> Хост ( Windows / Linux / VMware ESXi 5.Х и ESXi 6.X ) -> Приложение.
            Читать дальше →
          • Как я использую git

              Intro


              Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
              С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


              • git add <path>
              • git commit
              • git checkout <path/branch>
              • git checkout -b <new branch>

              И дополнительно:


              • git push/pull
              • git merge <branch>
              • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

              В принципе, я и сейчас во многом так считаю, но со временем волей-неволей начинаешь узнавать интересные трюки.

              Читать дальше →
            • «Магическая константа» 0x5f3759df

              • Перевод
              В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

              Вот полная реализация этого алгоритма:

              float FastInvSqrt(float x) {
                float xhalf = 0.5f * x;
                int i = *(int*)&x;  // представим биты float в виде целого числа
                i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
                x = *(float*)&i;
                x = x*(1.5f-(xhalf*x*x));
                return x;
              }

              Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

              image

              Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
              В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

              Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
              Читать дальше →
            • По следам C++ Siberia: дракон в мешке

                Конференции бывают разные. Некоторые собирают огромные толпы зрителей, другие могут быть интересны лишь полутора специалистам.

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

                На самом деле, пост не о том.

                Так уж вышло, что мне довелось выступать на означенной конференции, где я на пальцах и с приплясываниями рассказывал, что такое LLVM, чем интересна нотация SSA, что такое IR код и, наконец, как так получается, что детерменированные на первый взгляд C++ программы, оказывается, провоцируют неопределенное поведение.

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

                Ах да, под катом можно найти пояснения тех моментов, которым не было уделено должное внимание на конференции. Я постарался ответить на часто задаваемые вопросы и детально разобрать листинги LLVM IR. В принципе, текстовую часть статьи можно читать как самостоятельное произведение, тем не мене я рассчитывал на то, что читатель обратится к нему уже после просмотра видео.


                Читать дальше →
              • Что умеет планировщик заданий в Postgres Pro

                  Планировщик заданий (scheduler) не во все времена считался обязательным инструментом в мире баз данных. Все зависело от назначения и происхождения СУБД. Классические коммерческие СУБД (Oracle, DB2, MS SQL) представить себе без планировщика решительно невозможно. С другой стороны, трудно вообразить потенциального пользователя MongoDB, который откажется от выбора этой модной NoSQL-СУБД из-за отсутствия планировщика. (Кстати, термин «планировщик заданий» в русском контексте СУБД употребляют, чтобы отличить его от планировщика запросов — query planner, мы же для краткости будем звать его здесь планировщиком).

                  PostgreSQL, будучи Open Source и впитав традиции сообщества с образом жизни DIY («сделай сам»), в наше время регулярно претендует на место как минимум заместителя коммерческой СУБД. Из этого автоматически следует, что PostgreSQL просто обязана иметь планировщик, и что этот планировщик должен быть удобен для администратора базы и для пользователя.
                  Читать дальше →
                • Система мониторинга PERFEXPERT — решение проблем производительности СУБД

                  • Tutorial
                  Специализированный программный комплекс «PERFEXPERT» – самостоятельный программный продукт, позволяющий без вмешательства в работу баз данных и обслуживающих их программ в режиме реального времени собирать, протоколировать и визуально отображать сведения о нагрузке на систему баз данных MS SQL, оценивать эффективность их работы и выявлять причины низкой производительности.

                  В начале лета разработчик этого программного продукта компания SOFTPOINT и производитель серверного оборудования компания STSS запустили акцию: при покупке любого сервера или СХД клиент получает Сертификат на бесплатное тестирование ПО диагностики СУБД PERFEXPERT сроком на 3 месяца. Акция продлится до конца лета.

                  Учитывая положительный результат акции, мы решили расширить круг её охвата. С сегодняшнего дня, в течение 3 месяцев, любой читатель этой статьи получает 2 недели тестирования PERFEXPERT в своей инфраструктуре СУБД.
                  Подробности получения сертификата после описания функционала и настройки